我几乎已经显示了值。但是我得到了额外的td,我希望完整的代码是正确的。 谁能看到它一次。
PHP
<?php
session_start();
$link = mysqli_connect('localhost','root','','hoteldetails');
$sno[]="";
$roomImage[]="";
$roomNo[] = "";
$hotelName[]="";
$roomPrice[]="";
$loc[]="";
if(isset($_POST['sub']))
{
// mysqli_s(elect_db($link, "hotels");
$location=$_POST['searchVal'];
$sql = "select * from roomdetails where Location = '$location'";
$sqldata= mysqli_query($link ,$sql);
while($row = mysqli_fetch_array($sqldata)){
$sno[]=$row['S.No'];
$roomImage[] = $row['RoomImage'];
$roomNo[] = $row['RoomNo'];
$hotelName[] = $row['HotelName'];
$roomPrice[] = $row['RoomPrice'];
$loc[] = $row['Location'];
}
//two arrays to display ,$combine = array_combine($one,$two);
}
?>
HTML
<?php
echo "<table border='1'>";
echo "<tr><th>Hotel</th><th>Location</th></tr>";
foreach($sno as $id => $key):
echo "<tr>";
echo "<td>";?><img src="<?php echo $roomImage[$id];?>" height="100" width="100"><?php echo "</td>";
echo "<td>".$roomNo[$id]."</td>";
echo "<td>".$hotelName[$id]."</td>";
echo "<td>".$roomPrice[$id]."</td>";
echo "<td>".$loc[$id]."</td>";
echo "</tr>";
endforeach;
echo "</table>";
//echo $html;
?>
它有什么不对吗?请问这个过程是否正确,将mysql中的值显示为html。
答案 0 :(得分:0)
首先,使用http://phpbeautifier.com之类的工具格式化代码。
接下来,你有一行包含echo
和?> ... <?php
指令,告诉php echo
的东西没有任何PHP解析。
这是非常难以理解和不可维护的。
你最好选择一些像模板一样的&#34;实践仅使用HTML并仅使用PHP输出一些变量,如下所示:
<?php
foreach ($data as $item) {
?>
<tr>
<td>Name: <?php echo $item['name']; ?></td>
<td>Price: <?php echo $item['price']; ?></td>
</tr>
<?php
}
这将极大地提高可读性,可维护性,尤其是调试代码的能力。
最后,您应该处理php.ini
配置并检查display_errors
是否设置为1
且error_reporting
设置为E_ALL
。<登记/>
这样,任何错误如PHP - Notice : Undefined index ...
都会显示在输出中,因此您可以对其进行调试。