Carlos Rocha Postado Fevereiro 27, 2009 Denunciar Share Postado Fevereiro 27, 2009 Ola pessoal, tenho o script abaixo que me retorna uma lista de cidadesda seguinte forma:['a',''b','c',]o probloema é que eu prewciso tirar a ultima virghula e não estou conseguindo pois esta dentro de um while.<?php include("../../global/conecta.php"); ?> <?php $busca = mysql_query("SELECT id, estado, nome FROM cidades where estado='MG';") or die("A consulta falhou: " . mysql_error()); echo ("["); while(list($id, $estado, $nome) = mysql_fetch_row($busca)){ ?> '<?=$nome;?>', <? } echo ("]"); ?>como faz isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 27, 2009 Denunciar Share Postado Fevereiro 27, 2009 Cria um array e dá um implode...$dados = array(); while(list($id, $estado, $nome) = mysql_fetch_row($busca)){ ?> $dados[] = $nome; <? } $dados_pronto = implode(',',$dados);Para fazer dessa maneira que você está fazendo, use o strlen para contar o número de caracteres que tem na variável, e ai diminua 1 (que é a vírgula), ai use substr para cortar a variável na vírgula. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carlos Rocha Postado Fevereiro 27, 2009 Autor Denunciar Share Postado Fevereiro 27, 2009 Bom, com respeito aos códigos, selecionei alguns que achei mais limpos e vou coloca-los aqui.1º - Esse ficou certo, porem asa cidades não sairam com aspas tipo ['a','b']. Sairam assim [a,b]<?php $cidades = array(); $busca = mysql_query("SELECT id, estado, nome FROM cidades where estado='AM';") or die("A consulta falhou: " . mysql_error()); while(list($id, $estado, $nome) = mysql_fetch_row($busca)) { $cidades[] = $nome; } // Edibe as cidades: echo '[' . join(", ", $cidades) . ']'; ?> 2º - Esse saiui do mesmo jeito que o meu. Ou seja, veio a ultima virgula. <?php $busca = mysql_query("SELECT id, estado, nome FROM cidades where estado='AM';") or die("A consulta falhou: " . mysql_error()); $size = mysql_num_rows($busca); echo ("["); while(list($id, $estado, $nome) = mysql_fetch_row($busca)){ ?> '<?=$nome;?>' <? if($i+1 < $size) echo ","; ?> <? } echo ("]"); ?> 3º E esse saiu correto do jeito que precisava <?php $busca = mysql_query("SELECT id, estado, nome FROM cidades where estado='MG';") or die("A consulta falhou: " . mysql_error()); $size = mysql_num_rows($busca); echo '['; $started = false; while( list($id, $estado, $nome) = mysql_fetch_row($busca) ){ if( $started ) { echo ','; }else{ $started = true; } echo ("'"); echo $nome; echo ("'"); } echo ']'; ?>A todos que ajudaram. Meus agradecimentos.] Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Carlos Rocha
Ola pessoal, tenho o script abaixo que me retorna uma lista de cidades
da seguinte forma:
['a',''b','c',]
o probloema é que eu prewciso tirar a ultima virghula e não estou conseguindo pois esta dentro de um while.
como faz isso?
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.