php - 如何从多个mysql行中获取值?

标签 php mysql

我是 Web 开发新手,刚刚开始使用 php。

情况和我想要做什么:所以我有一个大学项目,其中用户有一个仪表板,并在其下方列出了所有事件和每个事件详细信息。所以在仪表板上我想要这样的东西:

事件名称

事件开始日期

事件说明

事件名称

事件开始日期

事件说明

重复此操作,直到数据库中的所有行都已输出。

我尝试使用此代码:

$eventsquery = ("SELECT * FROM Careerevents JOIN Tickets ON CareerEvents.Event_ID=Tickets.Event_ID JOIN Potential_Employee ON Tickets.User_ID=Potential_Employee.User_ID WHERE Email = '$email'");
$result = mysqli_query($connection, $eventsquery);
$row = mysqli_fetch_assoc($result);  
    
    for ($i=0; $i < mysqli_num_rows($result); $i++) { 
    $eventname = $row['Event_Name'];
    $startdate = $row['Start_Date'];
    $enddate = $row['End_date'];
    $description = $row['Event_Description'];
    }

在此之后,我只是在仪表板页面的 html 部分中回显了结果。但只显示第一行。如果我想要显示所有行结果,我该怎么做。

最佳答案

使用$row = mysqli_fetch_assoc($result);只能获取一次单行。

您需要在 while 循环中执行此操作,如下所示:

$eventsquery = ("SELECT * FROM Careerevents JOIN Tickets ON CareerEvents.Event_ID=Tickets.Event_ID JOIN Potential_Employee ON Tickets.User_ID=Potential_Employee.User_ID WHERE Email = '$email'");
$result = mysqli_query($connection, $eventsquery);

// EDIT after your comment 'showing only last row'
// I'd do the following
$events = []; // or $events = Array();
while($row = mysqli_fetch_assoc($result)) {
    $events[] = $row;  // copy the whole row to a new entry in events-array
    //$eventname = $row['Event_Name'];
    //$startdate = $row['Start_Date'];
    //$enddate = $row['End_date'];
    //$description = $row['Event_Description'];
}

// now you have all your events in an array called $events
// and can display them in another loop like so:

foreach($events as $event) {
     echo "Name: ".$event['Event_Name'];
}

关于php - 如何从多个mysql行中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47684070/

相关文章:

mysql - 使用mysql导入数据库时​​丢失数据

java - 将数据插入mysql数据库-java eclipse

mysql - Centos5 yum安装mysql-devel.x86_64错误

php - Sql Count(*) 单个查询中每个 id 的相关项目数

php - Laravel Guzzle 请求获取错误的数据库连接

php - xPath 中的 innerHTML?

mysql - 如果条件匹配则返回 2 个表中的数据

c# - 从 PHP (MySQL) 中选择返回 Android (C#)

php - 在mysql中生成批号?

php - 如何编写匹配嵌套括号的递归正则表达式?