[英]How to get all matching records respectievelijk from MySql database using php which is stored in an array?
我有一个超过1400行的MySql数据库。 使用SQL查询我得到匹配的行,并将它们存储在数组中。 我要做的是,所有存储的值都显示在我的网站上。
文件名是filter.php
$sql = "SELECT * FROM champ where GG IS NULL OR GG= ' ' AND K=' ' AND J=' '";
$result = $conn->query($sql);
$array = array();
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$array[] = $row;
}
for($i = 0, $j = count($array); $i < $j ; $i++){
$HomeTeam = $array[$i]['HOME'];
$AwayTeam = $array[$i]['AWAY'];
}
} else {
echo "0 results";
}
$conn->close();
?>
我想在我的网站上使用这些数据,我尝试了这段代码;
<table class="table">
<thead>
<tr>
<th>Home Team</th>
<th>Away Team</th>
</tr>
</thead>
<tr>
<?php
include 'filter.php';
echo"<td>". $HomeTeam."</td>";
echo"<td>".$AwayTeam."</td>";
echo "</tr>";
?>
</table>
我做错了什么? 因为这给了我最后的记录值。 如果有人可以帮助我,我会很高兴。 谢谢。
首先,您需要将OR条件包装在sql中的括号中
然后,您可以在while循环中简单地处理结果集,并在进行过程中输出来自查询的数据。
$sql = "SELECT *
FROM champ
where (GG IS NULL OR GG= ' ')
AND K=' ' AND J=' '";
$result = $conn->query($sql);
$champs = array();
while ( $row = $result->fetch_assoc() ) {
$champs[] = $row;
}
?>
<table class="table">
<thead>
<tr>
<th>Home Team</th>
<th>Away Team</th>
</tr>
</thead>
<tbody>
<?php
foreach ($champs as $champ ) :
?>
<tr>
<td><?php echo $champ['HOME'];?></td>
<td><?php echo $champ['AWAY'];?></td>
</tr>
<?php
endforeach;
?>
</tbody>
</table>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.