editorpa 0 Denunciar post Postado Agosto 3, 2010 meu codigo <?php $sql = mysql_query("SELECT * FROM `pagamentos` WHERE id_cliente = '$id'"); echo '<table width="450" border="0" align="center">'; while ($linha = mysql_fetch_array($sql)) { $descricaopg = $linha['descri_pag']; $valorpg = $linha['valor_pag']; $stapg = $linha['staus_pag']; echo '<tr><td width="170" align="center">'.$linha['descri_pag'].''if($linha['descri_total'] ! '') {'<div class="filezilla" onclick="du('res1');">Descricao Completa</div>'}'</td><td width="130" align="center">'.$linha['valor_pag'].'</td><td width="150" align="center">'.$linha['staus_pag'].'</td></tr>'; echo '<div id="res1" style="display:none;"><p>Descricao Completa</p><table width="150" border="0" align="center"><tr><td width="170" align="center">'.$linha['descri_total'].'</td></tr></table></div>'; } echo '</table>'; ?>o erroParse error: syntax error, unexpected T_IF, expecting ',' or ';' Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Agosto 3, 2010 Dois problemas graves: ilegibilidade do código e erro com programação, pois o if não pode vir dentro da string dessa maneira. Dando um pouco mais de legibilidade ao teu código, os problemas ficam mais fáceis de serem encontrados e posteriormente resolvidos. $sql = mysql_query( "SELECT * FROM `pagamentos` WHERE id_cliente = '{$id}'" ); $format = '<table width="450" border="0" align="center">%s</table>'; $table = ''; while( ( $linha = mysql_fetch_assoc( $sql ) ) !== false ) { $descricaopg = $linha[ 'descri_pag' ]; $valorpg = $linha[ 'valor_pag' ]; $stapg = $linha[ 'staus_pag' ]; $table .= '<tr>'; $table .= '<td width="170" align="center">' . $linha[ 'descri_pag' ]; if ( !empty( $linha[ 'descri_total' ] ) ) $table .= '<div class="filezilla" onclick="du(\'res1\');">Descricao Completa</div>'; $table .= '</td>'; $table .= '<td width="130" align="center">' . $linha[ 'valor_pag' ] . '</td>'; $table .= '<td width="150" align="center">' . $linha[ 'staus_pag' ] . '</td>'; $table .= '</tr>'; $table .= '<div id="res1" style="display:none;"><p>Descricao Completa</p>'; $table .= '<table width="150" border="0" align="center">'; $table .= '<tr>'; $table .= '<td width="170" align="center">' . $linha[ 'descri_total' ] . '</td>'; $table .= '</tr>'; $table .= '</table></div>'; } printf( $format, $table ); Compartilhar este post Link para o post Compartilhar em outros sites
jeimysons 0 Denunciar post Postado Agosto 3, 2010 Eu acho que estão faltando as chaves do IF. Compartilhar este post Link para o post Compartilhar em outros sites
WarLiKe 0 Denunciar post Postado Agosto 3, 2010 A sintaxe ta completamente errada; Antes do IF você não colocou ponto e vírgula Dentro do IF você colocou ! em vez de != E não existe concatenação dessa forma: //Maneira errada echo 'string' . if($var != $var2){'string2'}'string3' e sim: //Maneira correta echo 'string' . ($var != $var2 ? 'string2' : false) . 'string3'; Compartilhar este post Link para o post Compartilhar em outros sites
editorpa 0 Denunciar post Postado Agosto 3, 2010 mas eu naum quero diferente ou igual somente diferente,e André D. Molin obrigado mas naum quero outro codigo e uma solução para este A sintaxe ta completamente errada; Antes do IF você não colocou ponto e vírgula Dentro do IF você colocou ! em vez de != E não existe concatenação dessa forma: //Maneira errada echo 'string' . if($var != $var2){'string2'}'string3' e sim: //Maneira correta echo 'string' . ($var != $var2 ? 'string2' : false) . 'string3'; Compartilhar este post Link para o post Compartilhar em outros sites
Wesley Willians 0 Denunciar post Postado Agosto 3, 2010 Amigo, Recomendo que não trabalhe com o código spaguetti dessa forma. Se um dia tiver que mudar o layout, vai ter que refazer tudo. Separe seu código em uma camada de visualização ou mesmo utilize um smarty da vida. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
editorpa 0 Denunciar post Postado Agosto 3, 2010 Wesley muito obrigado pela resposta mais prefiro ficar com meu codigo mesmo Amigo, Recomendo que não trabalhe com o código spaguetti dessa forma. Se um dia tiver que mudar o layout, vai ter que refazer tudo. Separe seu código em uma camada de visualização ou mesmo utilize um smarty da vida. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
editorpa 0 Denunciar post Postado Agosto 3, 2010 ola eu modifiquei essa parte do codigo <code>echo '<tr><td width="170" align="center">'.$linha['descri_pag'].($linha['descri_total'] != '' ? '<div class="filezilla" onclick="du('res1');">Descricao Completa</div>': false).'</td><td width="130" align="center">'.$linha['valor_pag'].'</td><td width="150" align="center">'.$linha['staus_pag'].'</td></tr>';</code> ta dando erro na T_STRING Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Agosto 3, 2010 Ta ok então, fique com seu código ilegível. Tu que sabe. Compartilhar este post Link para o post Compartilhar em outros sites
Wesley Willians 0 Denunciar post Postado Agosto 4, 2010 Amigo, Recomendo que de uma estudada. Insisto em sugerir isso. Essa forma de programar era usada no de 2000. Compartilhar este post Link para o post Compartilhar em outros sites
WarLiKe 0 Denunciar post Postado Agosto 9, 2010 mas eu naum quero diferente ou igual somente diferente,e André D. Molin obrigado mas naum quero outro codigo e uma solução para este A sintaxe ta completamente errada; Antes do IF você não colocou ponto e vírgula Dentro do IF você colocou ! em vez de != E não existe concatenação dessa forma: //Maneira errada echo 'string' . if($var != $var2){'string2'}'string3' e sim: //Maneira correta echo 'string' . ($var != $var2 ? 'string2' : false) . 'string3'; Amigo, "!=" significa "Diferente" e não "Diferente ou igual" porque isso não existe."!" (sozinho) significa FALSO if($var1 != $var2)//se var1 for diferente de var2 if(!$var1) // se var1 for FALSE Compartilhar este post Link para o post Compartilhar em outros sites