我使用以下代码在表数据库中显示结果:
<table cellspacing="0" width="700">
<tbody>
<?php
$sql = "SELECT id1, id2, id3, id4, id5 FROM table";
$result = pg_query($db, $sql);
if (pg_num_rows($result) != 0)
{
while($results_row = pg_fetch_row($result))
{
echo '
<tr>
<td id="id1"> '.$results_row[1].' </td>
<td id="id2"> '.$results_row[2].' </td>
<td id="id3"> '.$results_row[3].' </td>
<td id="id4"> '.$results_row[4].' </td>
<td id="id5"> ' if (.$results_row[5]. != "")
{'.$results_row[5].'}' </td>
</tr>
';
}
}
?>
</tbody>
</table>
显然我遇到“if”语句的问题,所以屏幕上没有任何内容......另外我想问为什么在$ results_row的两边都使用了点。是因为它是一个阵列吗?
答案 0 :(得分:2)
你不能在echo里面做if语句。请将其更改为:,
. ($results_row[5] != "" ? $results_row[5] : '') .
答案 1 :(得分:2)
你似乎对字符串连接感到非常困惑。字符串连接是指您加入两个或多个字符串时。举个例子:
$string1 = "<td id='id1'>";
$results_row[1] = "some string";
$string2 = "</td>";
$concatenated_string = $string1 ." ". $result_row ." ". $string2;
echo $concatenated_string;
输出为:
点(。)连接多个字符串以创建一个完整的字符串,换句话说,连接它们。
至于您的if
,请查看while循环中的最后一个if
。
你有:if (.$results_row[5]. != "")
虽然它应该是if ( $results_row[5] != "" )
你有两个无用的点。
现在,在这里发布一个完整的代码只会让提问者变得懒惰,所以深入挖掘php字符串操作和
快乐的编码:)
答案 2 :(得分:0)
一种可能的解决方案:
echo '
<tr>
<td id="id1"> '.$results_row[1].' </td>
<td id="id2"> '.$results_row[2].' </td>
<td id="id3"> '.$results_row[3].' </td>
<td id="id4"> '.$results_row[4].' </td>
<td id="id5"> ';
if($results_row[5] != "") { echo $results_row[5]; }
echo '
</td>
</tr>';
答案 3 :(得分:0)
。用于字符串concantation。你不能在字符串中有if条件。
您可以改为使用三元调制器:
while($results_row = pg_fetch_row($result))
{
echo '
<tr>
<td id="id1"> '.$results_row[1].' </td>
<td id="id2"> '.$results_row[2].' </td>
<td id="id3"> '.$results_row[3].' </td>
<td id="id4"> '.$results_row[4].' </td>
<td id="id5"> '.($results_row[5] != "")? $results_row[5] : ''.</td>
</tr>
';
}
或者重构你的循环以存在php模式:
while($results_row = pg_fetch_row($result)): ?>
<tr>
<td id="id1"> <?php echo $results_row[1];?> </td>
<td id="id2"> <?php echo$results_row[2];?> </td>
<td id="id3"> <?php echo$results_row[3];?> </td>
<td id="id4"> <?php echo$results_row[4];?> </td>
<td id="id5"> <?php if (.$results_row[5]. != ""){ echo $results_row[5];}?></td>
</tr>
<?php endwhile;?>
答案 4 :(得分:0)
试试这个
<table cellspacing="0" width="700">
<tbody>
<?php
$sql = "SELECT id1, id2, id3, id4, id5 FROM table";
$result = pg_query($db, $sql);
if (pg_num_rows($result) != 0)
{
while($results_row = pg_fetch_row($result))
{
echo "
<tr>
<td id='id1'> ".$results_row[1]." </td>
<td id="id2"> ".$results_row[2]." </td>
<td id="id3"> ".$results_row[3]." </td>
<td id="id4"> ".$results_row[4]." </td>
<td id="id5"> ".(($results_row[5] != "")?$results_row[5]:"")."</td>".
"</tr>";
}
}
?>
</tbody>
</table>
希望,没错。