Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数据库中未显示的数据_Php - Fatal编程技术网

Php 数据库中未显示的数据

Php 数据库中未显示的数据,php,Php,我是PHP新手,尝试显示数据库中的数据 但是,它只显示一行中的数据,但我想显示条件匹配的多行中的数据。以下是我正在使用的代码: <?PHP session_start(); if (!(isset($_SESSION['username']) && $_SESSION['username'] != '')) { header ("Location: checklogin.php"); } $con = mysqli_connect("localhost", "ro

我是PHP新手,尝试显示数据库中的数据

但是,它只显示一行中的数据,但我想显示条件匹配的多行中的数据。以下是我正在使用的代码:

<?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-在这一点上,我尝试显示没有为一个用户重复的用户数据,现在数据的性质是重复的。这改变了。