Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problemas com, striing


Carlos Rocha

Pergunta

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.

<?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?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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.]

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...