我是PHP的新手,我的PDO搜索似乎从数据库中获取了单行,尽管它有五个具有相同日期的行数据。如何使用PDO获取具有相同日期的所有数据?
下面是我的代码。
if(isset($_POST['Find']))
{
// connect to mysql
try {
$pdoConnect = new PDO("mysql:host=localhost;dbname=testing","root","");
} catch (PDOException $exc) {
echo $exc->getMessage();
exit();
}
// id to search
$check_date = $_POST['check_date'];
// mysql search query
$pdoQuery = "SELECT * FROM checklist WHERE check_date = :check_date";
$pdoResult = $pdoConnect->prepare($pdoQuery);
//set your id to the query id
$pdoExec = $pdoResult->execute(array(":check_date"=>$check_date));
if($pdoExec)
{
// if id exist
// show data in inputs
if($pdoResult->rowCount()>0)
{
foreach($pdoResult as $row)
{
$check_date = $row['check_date'];
}
}
// if the id not exist
// show a message and clear inputs
else{
echo 'No Data With This ID';
}
}else{
echo 'ERROR Data Not Inserted';
}
}
在此先感谢您的帮助!
答案 0 :(得分:0)
执行语句后,您可以使用fetchAll方法来获取所有记录。
尝试以下代码。
if(isset($_POST['Find']))
{
// connect to mysql
try {
$pdoConnect = new PDO("mysql:host=localhost;dbname=testing","root","");
} catch (PDOException $exc) {
echo $exc->getMessage();
exit();
}
$check_date = $_POST['check_date']."%";
$pdoQuery = "SELECT * FROM checklist WHERE check_date like :check_date";
$pdoResult = $pdoConnect->prepare($pdoQuery);
$pdoExec = $pdoResult->execute(array(":check_date"=>$check_date));
if($pdoExec)
{
if($data=$pdoResult->fetchAll(PDO::FETCH_ASSOC))//new added lines
{
foreach($data as $row)
{
echo $row['check_date']."<br>";
}
}else{
echo "Data not found";
}//end new added lines
}else{
echo 'ERROR Data Not Inserted';
}
}
答案 1 :(得分:0)
<form action="" method="post">
Date : <input type="text" name="check_date" value="<?php echo $check_date;?>"><i><font color="#a30017"> *format : dd / mm / yy | *eg : 29 / 11 / 18 </font></i><br><br>
<input type="submit" name="Find" value="Search">
</form>
<table>
<tr>
<td>No</td>
<td>Room</td>
<td>Projector</td>
<td>Check Date</td>
</tr>
<td><?php echo $count++; ?></td>
<td><?php echo $row['meeting_room']; ?></td>
<td style="text-align: center; vertical-align: middle;"><?php echo $row['projector']; ?></td>
<td style="text-align: center; vertical-align: middle;"><?php echo $row['check_date']; ?></td>
</tr>
</table>
这些是您需要看的吗?搜索后仅显示最后一个值“阿拉伯”。 “会议室”没有出现。