多次回声仅使用1个SELECT *

时间:2011-04-10 12:38:13

标签: php mysql where

我在页面上有一些代码从数据库中提取信息(比如后端系统),我只是想知道是否有可以在代码周围做一个快捷方式以避免做多个SELECT语句。

e.g

<?php 
    $result = mysql_query("SELECT * FROM quackedup WHERE contid='topsummary'") or die(mysql_error());
    $row = mysql_fetch_array($result);
    echo $row['content']
    ?>

然而,在页面的下方,我将需要另外选择其他内容,以及其他内容。

<?php 
    $result = mysql_query("SELECT * FROM quackedup WHERE contid='firstpic'") or die(mysql_error());
    $row = mysql_fetch_array($result);
    echo $row['content']
    ?>


<?php 
    $result = mysql_query("SELECT * FROM quackedup WHERE contid='secondpic'") or die(mysql_error());
    $row = mysql_fetch_array($result);
    echo $row['content']
    ?>

有没有办法只做一个全局'SELECT * FROM quackedup',然后使用echo语句改变我输出的内容。 我想做的就像下面的那样。

echo $row['content'] WHERE contid='secondpic'

非常感谢。

编辑: 我想用它如下.....可能吗?目前它没有正确循环并显示两次“topsumm”。

<?php 

    $result = mysql_query("SELECT * FROM quackedup WHERE contid IN ('topsumm', 'firstpic', 'secondpic,)") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
  echo $row['content'];

    ?>
    </div>
    <div id="photo">
    <img src ="<?php echo $row['content'];?>" /><img src ="<?php echo $row['content']; }?>" />

1 个答案:

答案 0 :(得分:1)

您可以选择符合条件的所有行,然后循环输出:

$result = mysql_query("SELECT * FROM quackedup WHERE contid IN ('secondpic', 'topsummary', '…')") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
  echo htmlspecialchars($row['content']);
}