<?php
include "db.php";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$search_date = $_POST['search'];
}
$show_result = mysqli_query($con, "SELECT * FROM data_input where input_date = '$search_date' ");
// var_dump($show_result);
$row_count = mysqli_num_rows($show_result);
echo $row_count;
if ($show_result){
?>
<table class="table table-bordered table-striped">
<tr>
<th>id</th>
<th>date</th>
<th>items</th>
<th>description</th>
<th>cost</th>
<th>person</th>
</tr>
<?php
}
else{
if ($row_count == 0) {?>
<tr>
<td colspan="6">
<?php echo "no data found"; ?>
</td>
</tr>
<?php
}
}
while($row = mysqli_fetch_object($show_result)){?>
<tr>
<td>
<?php echo $row->id ?>
</td>
<td><?php echo $row->input_date ?></td>
<td><?php echo $row->input_items ?></td>
<td><?php echo $row->input_description ?></td>
<td><?php echo "$".$row->input_cost ?></td>
<td><?php echo $row->input_person ?></td>
</tr>
<?php
}?>
</table>
<a href="index1.php" class="btn btn-default">Back</a>
<?php
?>
这是一个搜索结果页面。一个包含搜索框和提交按钮的简单表单。首先,日期输入和查询找到的数据然后显示表中的数据,但如果没有找到任何数据,则表中没有显示。我该如何解决这个问题?谢谢你的回答。
答案 0 :(得分:2)
if ($row_count == 0)
的{{1}}分支中有else
这是不正确的,因为if ($show_result)
仅在出现错误时才返回false。如果结果中没有行,则不会。
解决方案:在创建表标题后,将mysqli_query
块向上移动到右侧。
if ($row_count == 0)
(那么else块是空的,所以你可以在这种情况下删除它,或者你可以回应一些关于出错的诊断。)
答案 1 :(得分:0)
您应该在循环行之前创建表,然后检查行数
如果零,则使用while显示表格行...AND (p.c=:c OR (:c IS NULL and p.c IS NULL))...
。
所以下面我已经做到了。
ID 日期 项目 描述 成本 人
else loop
答案 2 :(得分:0)
请使用以下代码替换您的while循环代码。如果没有找到数据,则找不到字符串&#39;将显示任何行。我也用mysqli_fetch_assoc代替mysqli_fetch_object。
while($row = mysqli_fetch_assoc($show_result)){ ?>
<?php if(!empty($row)){ ?>
<tr>
<td>
<?php array_key_exists('id', $row) && $row['id'] != "" ? $id = $row['id']: "not found"; echo $id; ?>
</td>
<td><?php array_key_exists('input_date', $row) && $row['input_date'] != "" ? $input_date = $row['input_date']: "not found"; echo $input_date; ?></td>
<td><?php array_key_exists('input_items', $row) && $row['input_items'] != "" ? $input_items = $row['input_items']: "not found"; echo $input_items; ?></td>
<td><?php array_key_exists('input_description', $row) && $row['input_description'] != "" ? $input_description = $row['input_description']: "not found"; echo $input_description; ?></td>
<td><?php array_key_exists('input_cost', $row) && $row['input_cost'] != "" ? $input_cost = $row['input_cost']: "not found"; echo "$".$input_cost; ?></td>
<td><?php array_key_exists('input_person', $row) && $row['input_person'] != "" ? $input_person = $row['input_person']: "not found"; echo $input_person; ?></td>
</tr>
<?php }else if(empty($row)){ ?>
<tr>
<td>
<?php echo "not found"; ?>
</td>
<td><?php echo "not found"; ?></td>
<td><?php echo "not found"; ?></td>
<td><?php echo "not found"; ?></td>
<td><?php echo "not found"; ?></td>
<td><?php echo "not found"; ?></td>
</tr>
<?php } }?>