bcs_ptx 0 Denunciar post Postado Abril 12, 2013 como faço para tirar a virgula do último registro selecionado? já tentei de várias formas mas não deu $seleciona = mysql_query("DESCRIBE $tbl"); while ($linha = mysql_fetch_assoc($seleciona)) { $passa = $linha['Field'].', '; } Compartilhar este post Link para o post Compartilhar em outros sites
Edgard Hufelande 27 Denunciar post Postado Abril 12, 2013 substr(); substr($passa, -1); Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Abril 12, 2013 já tinha tentado isso, não deu na real fiz isso, mas ele tira toda a linha $seleciona = mysql_query("DESCRIBE $tbl"); while ($linha = mysql_fetch_assoc($seleciona)) { $passa = $linha['Field'].','; echo substr($passa,0,-1); } Compartilhar este post Link para o post Compartilhar em outros sites
Edgard Hufelande 27 Denunciar post Postado Abril 12, 2013 coloque o substr no $linha['Field'].','; Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Abril 12, 2013 o q vc faz com $pass? n é melhor remover a virgula depois q a string estiver formatada? Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Abril 12, 2013 Pra certos casos, é muito custoso o uso de expressões regulares. Mas se você não pode prever se deve ou não tirar a vírgula, eu faria desse jeito, ao invés de N verificações. $string = 'uma, frase, com, muitas, vírgulas,'; var_dump(preg_replace('/(.*),$/' , '${1}' , $string)); Saída: string(34) "uma, frase, com, muitas, vírgulas" Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Abril 12, 2013 ja tentei colocar o sbstr na $linha direto e não deu, e no outro formato não deu, se eu fizer assim $string = 'uma, frase, com, muitas, vírgulas,'; var_dump(preg_replace('/(.*),$/' , '${1}' , $string)); da certo, mas assim, var_dump(preg_replace('/(.*),$/' , '${1}' , $passa)); da errado Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Abril 12, 2013 O que acontece de errado? Mostre-nos como fica e como deveria ser. Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Abril 12, 2013 while ($linha = mysql_fetch_assoc($seleciona)) { $passa = $linha['Field'].', '; pelo trecho de codigo postado aqui, $passa sempre tem uma virgula no final.... como esta dentro do while td hora o valor é sobreescrito e vc tbm n sabe quando é a ultima vez. pelo q entendi ele quer montar um insert, acho o mais certo seria, concatenar $passa e depois remover a virgula. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Abril 12, 2013 Não havia me atendado ao espaço, pode ser usado um trim ou na própria ER ser alterado. Eu prefiro a ER ainda, pois não adiciona uma nova função, no caso TRIM. preg_replace('/(.*),[ ]*$/' , '${1}' , $string); Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Abril 12, 2013 se eu fizer isso $seleciona = mysql_query("DESCRIBE $tbl"); while ($linha = mysql_fetch_assoc($seleciona)) { $passa = $linha['Field'].','; echo substr($passa,0,-1); } retorna = id_testenomeidade isso $seleciona = mysql_query("DESCRIBE $tbl"); while ($linha = mysql_fetch_assoc($seleciona)) { $passa = $linha['Field'].','; echo $passa; } retorna = id_teste,nome,idade, e a ideia é retornar id_teste, nome, idade Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 12, 2013 caraca galera!! calma.. uma forma muito mais simples: $seleciona = mysql_query("DESCRIBE $tbl"); $passa = array(); while ($linha = mysql_fetch_assoc($seleciona)) { $passa[] = $linha['Field']; } echo implode( ',', $passa ); Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Abril 12, 2013 cara isso mesmo oque precisava, simples e não estava conseguindo, tem como eu selecionar oque eu quero imprimir? tipo com esse describe, quando coloco para mostrar o field ele mostra todas as colunas, tipo, id, nome e idade, como faço para mostrar só nome e idade, tem como? valeu ai pessoal Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 12, 2013 desculpa a curiosidade, mas se vc sabe exatamente oque vc quer, e se oq vc vai informar é exatamente igual ao q vc está trazendo do banco... então pra quê o banco ?? Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Abril 12, 2013 minha ideia é fazer um insert, está faltando pegar as informações via post do formulario <form action="teste.php?inserir&tbl=tbl_teste" method="post" name="form"> <table> <tr> <td>Nome</td> <td><input type="text" name="nome"></td> </tr> <tr> <td>Idade</td> <td><input type="text" name="idade"></td> </tr> <tr> <td colspan="2"><input type="submit"></td> </tr> </table> </form> <?php include('../conexao.php'); if(isset($_GET['inserir'])){ extract($_POST); $tbl = $_GET['tbl']; $seleciona = mysql_query("DESCRIBE $tbl"); $passa = array(); while ($linha = mysql_fetch_assoc($seleciona)) { $passa[] = $linha['Field']; } $campo = implode(',',$passa); $inserir = "INSERT INTO $tbl($campo)VALUES('','teste','56')"; $query = mysql_query($inserir); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 12, 2013 hum... vc sabia q é possível informar a query assim: $inserir = "INSERT INTO $tbl VALUES('','teste','56')";? ou seja, sem a lista de campos ? basta que vc informe os campos na ordem correta. Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Abril 12, 2013 não sabia, mas a questão é não escrever manualmente os campos, '','teste','56', e sim vir do formulário, para isso tenho que fazer com que na hora que fazer o submit, vir todos os dados do formulario, essa é minha dúvida agora, para colocar onde fica essas informações Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 12, 2013 $nome = $_POST['nome'];//lembre-se de fazer um filtro aqui $idade = $_POST['idade'];//lembre-se de fazer um filtro aqui $inserir = "INSERT INTO $tbl VALUES('','{$nome}','{$idade}')"; Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Abril 12, 2013 não cara, tipo, fazer isso em qualquer tabela entende? não escrever na mão, nome e idade, se em outra tabela depois pode haver outros nomes, se tem como fazer, pegar todas as variaveis do formulario e colocar no insert, tipo isso $inserir = "INSERT INTO $tbl VALUES($variaveisVindasDoFormulario)"; ai dentro da $variaveisVindasDoFormulario = '','".$_POST['nome']."','".$_POST['idade']."' tem como isso? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 13, 2013 $seleciona = mysql_query("DESCRIBE $tbl"); $i = 0; $passa = ''; while ($linha = mysql_fetch_assoc($seleciona)) { $passa .= $i > 0 ? ', ':''; $passa .= $linha['Field']; $i = 1; } Compartilhar este post Link para o post Compartilhar em outros sites