我有这个php / html代码,它从名为“ticket”的mysql表中回显一列。 这些是表中的3列(member_id,ticket_id,ticket_result)。
我希望能够从特定行中的其他列中获取信息,并使用foreach循环回显该信息。我只是不知道我怎么能这样做,因为你在foreach循环中只能有1个数组,所以如果我要将这一行添加到PHP代码中,我看不出我怎么能在它中回应它foreach循环。
$me3 = array();
$me2[] = $row->ticket_result;
PHP代码:
public function tickets() {
$this->db_connection = new mysqli('', '', '', '');
$sql = "SELECT ticket_result
FROM tickets
WHERE member_id = '1'";
$query = $this->db_connection->query($sql);
$me2 = array();
while ($row = $query->fetch_object()) {
$me2[] = $row->ticket_result;
}
return $me2;
}
}
HTML代码:
<?php $me2 = $classLogin->tickets(); ?>
<?php foreach($me2 as $value) { ?>
<table>
<thead>
<th>Result</th>
<th>ID</th>
</thead>
<tr>
<td><?php echo $value; ?> </td>
<td> </td>
<?php } ?>
</tr>
</table>
答案 0 :(得分:3)
您只选择表格的一列:
$sql = "SELECT ticket_result FROM tickets WHERE member_id = '1'";
您的陈述应如下所示:
$sql = "SELECT member_id, ticket_id, ticket_result FROM tickets WHERE member_id = '1'";
或者:
$sql = "SELECT * FROM tickets WHERE member_id = '1'";
然后您可以使用以下方法检索您的数据:
while ($row = $query->fetch_object()) {
$me2[$row->ticket_id]['ticket_result'] = $row->ticket_result;
$me2[$row->ticket_id]['member_id'] = $row->member_id;
}
因此,根据您的$me2
,您将拥有一个包含密钥的数组(ticked_id
),每个密钥都是一个包含密钥ticket_result
和{{1}的数组其中包含数据库中的数据。
然后您可以像这样实施member_id
:
foreach
另外,如果您要打印的HTML不是那么多,我建议您最好使用foreach($me2 as $key => $value) {
echo $key;
echo $value['ticket_result'];
echo $value['member_id'];
}
和连接一个带有单个echo
子句的字符串,而不是<为你必须执行的每个小PHP代码打开和关闭多个php
标签,你的代码将如下所示:
php