Johny Posted November 8, 2009 at 04:39 PM Report Share #295141 Posted November 8, 2009 at 04:39 PM Boas pessoal, Tenho uma base de dados em mysql e la tem um campo chamado nome em que estao varios nomes separados por virgulas gostava de saber como posso fazer em codigo php com que ele ordene alfabeticamente os nomes ja coloquei isto $texto = str_replace(',', '<br />', $texto); para retirar as , e colocar um <br /> agora gostava de ordenar alfabeticamente. Alguem me pode dar uma ajudinha? Cumprimentos, ############# Link to comment Share on other sites More sharing options...
scorch Posted November 8, 2009 at 05:47 PM Report Share #295150 Posted November 8, 2009 at 05:47 PM Em vez de substituíres as vírgulas, fazes algo como: //Assim $texto passa a ser um array com os nomes todos separados $texto = explode(",", $texto); //Com esta função ordena os nomes $texto = sort($texto, "SORT_STRING"); //Opcional, com este código mostra os nomes ordenados foreach ($texto as $indice => $nome) { echo $nome."<br />" } PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
Johny Posted November 8, 2009 at 07:53 PM Author Report Share #295169 Posted November 8, 2009 at 07:53 PM Obrigado scorch pela rapida resposta mas agora dá me este erro: Warning: Invalid argument supplied for foreach() in o que tenho que fazer? ############# Link to comment Share on other sites More sharing options...
scorch Posted November 8, 2009 at 08:05 PM Report Share #295171 Posted November 8, 2009 at 08:05 PM Tenta assim: //Assim $texto passa a ser um array com os nomes todos separados $texto = explode(",", $texto); //Com esta função ordena os nomes $texto = sort($texto, "SORT_STRING"); //Opcional, com este código mostra os nomes ordenados foreach ($texto as $indice => $nome) { echo $nome."<br />"; } PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
Johny Posted November 8, 2009 at 08:21 PM Author Report Share #295175 Posted November 8, 2009 at 08:21 PM O codigo que tenho é este nao sei o k esta mal 😛 while ($line = mysql_fetch_array($consulta)) { $texto = $line["membrosregistados"]; //Assim $texto passa a ser um array com os nomes todos separados $texto = explode(",", $texto); //Com esta função ordena os nomes $texto = sort($texto); //Opcional, com este código mostra os nomes ordenados foreach($texto as $indice => $nome) { echo "-".$nome."<br />"; }} ?> Se puderes me ajudar agradecia ############# Link to comment Share on other sites More sharing options...
scorch Posted November 8, 2009 at 08:38 PM Report Share #295177 Posted November 8, 2009 at 08:38 PM Tenta: while ($line = mysql_fetch_array($consulta)) { $texto = $line["membrosregistados"]; //Assim $texto passa a ser um array com os nomes todos separados $texto = explode(",", $texto); //Com esta função ordena os nomes $texto = sort($texto); //Opcional, com este código mostra os nomes ordenados foreach($texto as $key => $value) { echo "-".$nome."<br />"; }} Se não for isto o problema, não sei o que pode ser. 😛 PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
Johny Posted November 8, 2009 at 09:13 PM Author Report Share #295181 Posted November 8, 2009 at 09:13 PM Ja consegui resolver 😄 Ficou assim e ja funciona obrigado 😛 while ($line = mysql_fetch_array($consulta)) { $texto = $line["membrosregistados"]; } $nomes = explode(",", $texto); sort($nomes); foreach ($nomes as $key => $val) { echo "-". $val ."<br />"; } ?> ############# Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now