Php 数据库中未显示的数据
我是PHP新手,尝试显示数据库中的数据 但是,它只显示一行中的数据,但我想显示条件匹配的多行中的数据。以下是我正在使用的代码:Php 数据库中未显示的数据,php,Php,我是PHP新手,尝试显示数据库中的数据 但是,它只显示一行中的数据,但我想显示条件匹配的多行中的数据。以下是我正在使用的代码: <?PHP session_start(); if (!(isset($_SESSION['username']) && $_SESSION['username'] != '')) { header ("Location: checklogin.php"); } $con = mysqli_connect("localhost", "ro
<?PHP
session_start();
if (!(isset($_SESSION['username']) && $_SESSION['username'] != '')) {
header ("Location: checklogin.php");
}
$con = mysqli_connect("localhost", "root", "", "map_my_way");
$fetch_row = $_SESSION['username'];
$result = mysqli_query($con,"SELECT * FROM members where username='$fetch_row'");
while($row = mysqli_fetch_array($result)) {
$first_name = $row['first_name'];
$last_name = $row['last_name'];
$email = $row['email'];
$m_no = $row['m_no'];
$v_name = $row['v_name'];
$capacity = $row['capacity'];
$fuel_type = $row['fuel_type'];
}
$result2 = mysqli_query($con,"SELECT s_a_name FROM locations where username='$fetch_row'");
$row2 = mysqli_fetch_array($result2);
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Profile Page</title>
<link rel="stylesheet" type="text/css" href="profile.css">
</head>
<body id="body">
<div id="mmw"> <span> MAP MY WAY </span></div>
<div id="title_box">
<a href="profile.php"><button id="lvbutton">My Profile</button></a>
<a href="user_index.php"><button id="lvbutton">Maps</button></a>
<a href="edit.php"><button id="lvbutton">Edit Profile</button></a>
<a href="logout.php"><button id="lvbutton" style="float:right; margin- right:10px;">Sign-Out</button></a>
</div>
<div id="box">
<div id="name_box"><span>Welcome <?php echo($_SESSION['username']); ?></span></div>
<div id="box1">
<div> <p id="link">Your Information </p>
<ul style="margin-top:20px; padding-left:0;">
<li><span>First Name : <?php echo $first_name; ?></span></li><br>
<li><span>Last Name : <?php echo $last_name; ?></span></li><br>
<li><span>Email : <?php echo $email; ?></span></li><br>
<li><span>Age : <?php echo $m_no; ?></span></li><br>
<li><span>Current Vehical : <?php echo $v_name; ?></span></li><br>
<li><span>Fuel Type: <?php echo $fuel_type; ?> </span></li><br>
<li><span>Seating Capacity : <?php echo $capacity; ?></span></li><br>
</ul>
</div>
</div>
<div id="box2"> <p id="link">Saved Routes </p>
<ul style="margin-top:20px;">
<span> <?php foreach($row2 as $data)
{echo "route Name : $data <br>" ; };
?>
</span>
</ul>
</div>
</div>
</div>
</body>
</html>
您对members表的查询只会返回一行,因此您实际上不需要将$row=mysqli\u fetch\u array($result)
放在一个循环中(不过这不会破坏您的脚本)。您对locations表的查询可能会返回多行,因此您确实需要在该行上循环。比如:
$result2 = mysqli_query($con,"SELECT s_a_name FROM locations where username='$fetch_row'");
$savedRoutes = "";
while($row2 = mysqli_fetch_array($result2))
{
$savedRoutes .= "route Name : " . $row2['s_a_name'] . "<br/>";
}
$result2=mysqli\u查询($con,“从username='$fetch\u row'的位置选择s\u a\u名称”);
$savedrootes=“”;
while($row2=mysqli\u fetch\u数组($result2))
{
$SAVEDUROTES.=“路由名称:”.$row2['s_a__Name']。“
”;
}
将所有数据放在一个字符串($savedrootes)中,该字符串可以在html代码的“savedrootes”部分中回显
或者,您可以将循环放在“保存的路由”部分,并在循环时只回显每一行。就我个人而言,我认为将循环放在顶部,并将数据连接到一个字符串中会更干净、更易于阅读。您在循环中过度写入了所有变量;当它结束时,这只是setI引用你的最后一句话——“它成功了,我两个都做了,代码现在正在工作,非常感谢。”-那么,它现在是什么,从那以后发生了什么变化?您是否有要还原的“工作”副本?如何克服@andrewsi请告诉我。@user3800570-最简单的方法是将while循环向下移动到表的内部。在您的循环中,您可以不分配变量,而是通过添加正确的HTML将它们回显出来。@Fred ii-在这一点上,我尝试显示没有为一个用户重复的用户数据,现在数据的性质是重复的。这改变了。