我不确定这是我的错误还是愚蠢的错误,但我想从数据库中显示一系列剧本和戏剧表演。
我可以让它从行/条目2向下精确显示 - 但它根本不会显示第一行。只有一个条目,不显示任何内容。 我已经尝试改变每个的id,但它似乎只是第一个输入的未被拾取,但后面输入的是。
显示表格的代码如下。
<?php
$con = mysql_connect("localhost"," me "," mypass word");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db(" database name", $con);
$data = mysql_query("SELECT * FROM table")
or die(mysql_error());
$info = mysql_fetch_array( $data );
while($info = mysql_fetch_array( $data ))
{
Print "<tr><td style='background-color: #D3D3D3; '>";
Print " ".$info['title'] . " ";
Print "</td>";
...等...
Print "</td> </tr>";
}
?>
</table>
看起来很简单,但我根本无法理解。任何帮助非常感谢。
答案 0 :(得分:2)
删除此行
$info = mysql_fetch_array( $data );
你正在使用它两次。上面和后面的循环
答案 1 :(得分:0)
您正在拨打mysql_fetch_array()
两次。
删除第一个:
$info = mysql_fetch_array( $data );
答案 2 :(得分:0)
删除此行
$info = mysql_fetch_array( $data );
试试这个
<?php
$con = mysql_connect("localhost"," me "," mypass word");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db(" database name", $con);
$data = mysql_query("SELECT * FROM table")
or die(mysql_error());
while($info = mysql_fetch_array( $data ))
{
Print "<tr><td style='background-color: #D3D3D3; '>";
Print " ".$info['title'] . " ";
Print "</td>";
答案 3 :(得分:0)
您正在调用mysql_fetch_array()
两次 - 在while循环中及其上方。
$info = mysql_fetch_array( $data );
答案 4 :(得分:0)
因为你正在两次获取数组:
$info = mysql_fetch_array( $data );
这里,您的数组将获取当前第一个元素,并将当前元素设置为第二个元素。 因此,以下行从第二个元素中获取数组元素。
while($info = mysql_fetch_array( $data ))
只需删除
行即可 $info = mysql_fetch_array( $data );
完成了。
答案 5 :(得分:0)
这不是一个错误。
每当您发送mysql_fetch_array( $data );
时,它会提取一行并自动提升内部行标识符属性。下次调用相同的函数时,它将从第二行开始。
在循环外部使用赋值与PHP mysql函数一起使用是不切实际的,当演示的行为不是您想要做的时候。
删除$info = mysql_fetch_array( $data );
行,您的代码将按预期运行。