在mySQL中,我有一个包含8行,id和status的表。
$make=mysql_query("SELECT id, status FROM data order by id");
我的问题是如何避免使用foreach
或任何循环来回显数据,而是使用
<?php echo $row['status with the id 5']; ?>
并在页面的另一个地方用id 8回显状态?
答案 0 :(得分:0)
您可以使用以下模式:
$contents = [];
foreach($results as $result) {
$contents[$result->id] = $result;
}
$results
包含MySQL结果集。 $contents
将是关联数组。如果将它交换到适用于您要应用此模式的所有表的函数或类,那将更加舒适。根据您使用的数据库类,可能需要将键转换为整数,否则如果将其作为字符串传递,则访问索引时会出现问题。
请注意,您还应首先将代码迁移到MySQLi或PDO。
如果你的桌子可能会变得很大,你就不应该实现这个。相反,如果您首先检查了哪些条目,并使用IN()
查询明确加载这些条目,那会更好。