从上一个查询的行中选择列


Selecting a Column from a Row from a previous Query

如果这是一个简单的修复,我真的很抱歉,但我完全被难住了,可能遭受临时阻塞。

无论如何,我的困境是这样的,我的网站有一个包含事件的页面,我当然有一个事件表,它有以下字段:

    EventID
    EventName
    EventStart
    EventEnd
    EventDesc

现在我的第一个查询,是确保收集所有尚未结束的事件。有意义吗?

我然后做一个for看起来像这样:for($i=0;$i<$numr;$i++) - $ number被定义为- $numr = mysqli_num_rows($sql)你可以猜到$sql是什么?为了安全起见:$sql = mysqli_query($link, "SELECT * FROM events WHERE EventEnd >= NOW()")

在这个for循环中,我打算为有多少事件创建多个<option>标记。到目前为止一切顺利,它看起来像这样:echo "<option id='" . $i . "' name='" . $i . "' value='" . $i . "'>

这就是我的问题所在,我知道需要获得从sql查询返回的第一行的EventName。我不确定该怎么做?我最初的想法是使用数组并将名称存储在那里,但是,我对php中的数组不是100%熟悉。

你们有办法帮我一下吗?如果这只是我需要使用的一个基本功能,我真的很抱歉,但我现在遇到了真正的问题。

谢谢大家!迈克。

参见fetch_assoc doc

不是

for($i=0;$i<$numr;$i++) {
    //echoing options
}

while($event = $sql->fetch_assoc()) {
    echo "<option id='" . $event['EventID'] . "' value='" . $event['EventName'] . "'>";
}

for循环外:$first name = null;

在你的循环中:

if(empty($first_name))
    $first_name = $row['EventName'];