【发布时间】:2018-05-21 22:24:16
【问题描述】:
我正在尝试使用 while 循环从 MySQL 数据库中打印多个条目。在我这样做的任何地方,它都缺少列表中的第一项,并且只能从第二项开始打印。
<?php
require 'db.php';
$udate = $mysqli->escape_string($_POST['date']);
$result = $mysqli->query("SELECT * FROM videos WHERE date='$udate'");
$user = $result->fetch_assoc();
$_SESSION['file_name'] = $user['file_name'];
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>View</title>
<link rel="stylesheet" type="text/css" href="css/nominatorstyle.css">
</head>
<body>
<div class="header">
<h2>Results.</h2>
<form action="watch.php" method='POST'><table>
<?php
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
$vid = $row['vid'];
$source = "uploads/".$row['file_name'];
echo "<tr><td>".$row['vid']."</td>
<td>".$row['file_name']."</td>";
echo "<td><a href=watch.php?
source=$source>Play</a></td></tr>";
}
}else{
echo "0 results";
}
?>
</table></form>
<a href="profile.php"><button class="button-block">Home</button></a>
</div>
</body>
我希望它打印所有匹配的条件。 我只收到第一个之后的条目。
【问题讨论】:
-
所以您的查询有问题。这段代码看起来不错。
-
@AdamKozlowski:呃……为什么?在哪里?
-
@panther 这里是查询
$result = $mysqli->query("SELECT * FROM videos WHERE date='$udate'"); -
查询和while循环之间有代码吗?
-
也许您想更改您的查询? bobby-tables.com
标签: php mysql while-loop phpmyadmin