使用MySQL和PHP获取多行

时间:2013-09-16 20:07:15

标签: php mysql sql rows multiple-instances

如果我有一个如下所示的MySQL查询:

SELECT Content FROM AP_Data WHERE Title='Featured' or Title='Carousel'

是否可以使用PHP将变量转换为类似

的变量
echo $Row['Featured']['Content'];
echo $Row['Carousel']['Content'];

我希望通过这样做,我可以节省时间而不用多次查询轰炸服务器。这只是我需要的查询片段。

3 个答案:

答案 0 :(得分:2)

首先,让我们更新您的查询以包含标题字段。

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'];

}
?>

答案 1 :(得分:0)

FeaturedCarousel不是列名,只是列中的值。

你可以这样做。

    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
    }

答案 2 :(得分:0)

不,它不起作用。但是如果你向你的查询添加标题,就像这样:

SELECT Title,Content FROM AP_Data WHERE Title='Featured' or Title='Carousel'

然后你可以构建一个这样的数组。您还可以执行ORDER BY标题,以便所有Carousel结果都是第一个。