Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, to aqui com um probleminha...
como eu faço para exibir apenas os campos preenchidos do banco?
Exemplo..
eu tenho uma tabela com varios campos, mas alguns deles nao sao obrigatorios, ou seja, quando o usuario envia la no formulario, ele entra em branco no mysql..
o problema é que na hora de exibir esses dados numa tabela, o campo em branco tbm vai..
exempl abaixo..
se o item1 e item3 estiverem preenchidos, e o item2 estiver em branco.. como faço para exibir apenas o 1 e 3?
$res = mysql_query("select * from tabela");
echo "<table border='2px'><tr><td>Item</td><td>Nome</td></tr>";
while($escrever=mysql_fetch_array($res)){
echo "<tr><td>" . $escrever['item1'] . "</td><td>" . $escrever['item2'] . "</td><td>" . $escrever['item3'] ."</td><tr>";Alaerte, isso serve também na hora de salvar dados no banco?
Ex: eu recebo por POST os dados de um formulário e alguns itens não foram preenchidos. Como passo pra minha query esses dados? na teoria, minha query vai conter todos os itens. Eu passo eles com NULL?
quando ponho assim:
echo "<td>" . $escrever['produto'] ."</td><td>". if (!empty($escrever['nome1'])) $escrever['nome1'] ."</td><td>". if (!empty($escrever['nome2'])) $escrever['nome2'] ."</td><tr>";
da este erro:
Parse error: syntax error, unexpected 'if' (T_IF) in /home/u548829473/public_html/tabelas/loja.php on line 17
o que esta errado?
:(
>
Alaerte, isso serve também na hora de salvar dados no banco?
Ex: eu recebo por POST os dados de um formulário e alguns itens não foram preenchidos. Como passo pra minha query esses dados? na teoria, minha query vai conter todos os itens. Eu passo eles com NULL?
Se seu campo na tabela estiver programado para receber valores NULL, sim. Ficaria o seguinte:
$valor = (isset($_POST['campo']) && !empty($_POST['campo'])) ? $_POST['campo'] : 'NULL';
Onde você define ali o post para a variável, ainda cabe uma função ant sql injection.
>
quando ponho assim:echo "<td>" . $escrever['produto'] ."</td><td>". if (!empty($escrever['nome1'])) $escrever['nome1'] ."</td><td>". if (!empty($escrever['nome2'])) $escrever['nome2'] ."</td><tr>";da este erro: Parse error: syntax error, unexpected 'if' (T_IF) in /home/u548829473/public_html/tabelas/loja.php on line 17o que esta errado?
:(
É ao contrário amigo, o echo dentro dos IFs após as condições de verificação. É só estudar um pouco, tenha um pouco de lógica, isso aí é o básico.
Utilize a opção empty() com o condicional.
Exemplo:
(!empty($escrever['item1'])) ? print $escrever['item1'] : false;