Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bcs_ptx

tirar virgula do ultimo registro

Recommended Posts

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

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

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

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

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

O que acontece de errado? Mostre-nos como fica e como deveria ser.

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

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

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

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

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

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

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

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

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


$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

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

$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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.