如果我有一个如下所示的 MySQL 查询:
SELECT Content FROM AP_Data WHERE Title='Featured' or Title='Carousel'
是否可以使用 PHP 将变量转换为类似
echo $Row['Featured']['Content'];
echo $Row['Carousel']['Content'];
我希望通过这样做,我可以节省时间,而不会用多个查询轰炸服务器。这只是我需要的查询的一小部分。
如果我有一个如下所示的 MySQL 查询:
SELECT Content FROM AP_Data WHERE Title='Featured' or Title='Carousel'
是否可以使用 PHP 将变量转换为类似
echo $Row['Featured']['Content'];
echo $Row['Carousel']['Content'];
我希望通过这样做,我可以节省时间,而不会用多个查询轰炸服务器。这只是我需要的查询的一小部分。
首先让我们更新您的查询以包含Title字段。
SELECT Content, Title FROM AP_Data WHERE Title='Featured' or Title='Carousel'
循环遍历结果时,您可以构建数组以满足您的需求
<?php
while($row = your_query_result){
//If you have one Content per Title
$array[$row['Title']] = $row['Content'];
//If you have multiple Contents per Title
$array[$row['Title']][] = $row['Content'];
}
?>
Featured
并且Carousel
不是列名,它们只是列中的值。
你可以这样做。
SELECT Content,Title FROM AP_Data WHERE Title='Featured' or Title='Carousel'
和代码
if ($Row['Title'] == 'Featured')
{echo $Row['Content']; // content of featured
}
else{
echo $Row['Content']; //content of carousel
}
不,它不是那样工作的。但是,如果您将 Title 添加到查询中,如下所示:
SELECT Title,Content FROM AP_Data WHERE Title='Featured' or Title='Carousel'
然后,您可以构建一个这样的数组。您还可以按标题排序,以便所有轮播结果都排在第一位。