0

我有以下代码可以完美地在 mysql 中排序我的数据:

<?php

$con = mysql_connect('localhost','root','password');
mysql_select_db("users");

$pop = mysql_query("
SELECT * FROM images ORDER BY pop DESC LIMIT 9

");

while($row = mysql_fetch_array($pop))
    {
    echo $row['imagefile'];
    echo "<br />";
    }




mysql_close($con);



?>

但是,我希望每个“结果”都自动分配为变量。因此,例如“uploads/logo.png”作为上述代码的第一个“结果”出现。然后我希望将其分配为 $image_1 - 所以在代码中它将读取 $image_1 = "uploads/logo.png"。然后我希望将所有其他 8 个输出分配给变量,以便 $image_2 对应于第二个输出,依此类推。这只是一个原型。我希望它最终能输出 100 个结果。这是可能吗?非常感谢您的时间。

4

1 回答 1

2

使用数组。

$images = array();
while($row = mysql_fetch_array($pop))
    $images[] = $row['imagefile'];

或者保留关联数组:

$imageData = array();
while($row = mysql_fetch_array($pop))
    $imageData[] = $row;

// $imageData[0]['imageFile'] will be "uploads/logo.png"

编辑以下评论:

上面的第一种方法:

<?php
foreach ($images as $image) {

    echo <<<EOT
<div class="box"><img src= "$image" width="200" height="150"></a></div>
EOT;
}
?>

第二种方法可能涉及更多,具体取决于您的数据:

<?php
foreach ($imageData as $image) {
    $imagePath = $image['imageFile'];
    $imageWidth = $image['width'];
    $imageHeight = $image['height'];
    echo <<<HTML
<div class="box"><img src= "$imagePath" width=$imageWidth height=$imageHeight></a></div>
HTML;
}
?>
于 2012-12-02T17:58:11.713 回答