将变量分配给行

时间:2013-01-11 20:54:02

标签: php mysql variables

在我的下面的例子中,我将拉出六个随机行,并希望为每个生成的行分配一个变量(a,b,c,d,e,f)。

$result = mysql_query("SELECT * FROM cub_posts WHERE active = 'Y' ORDER BY rand() LIMIT 6") or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
    $demo_id = 'a, b, c, d, e, f';

    echo '<div class="span4 span-box">
    <div id="demo5'.$demo_id.'" class="ho-box demo5">'.$row['title'].'</div>
    </div>';
}

所以输出结果为:

<div class="span4 span-box">
<div id="demo5a" class="ho-box demo5">Title</div>
</div>
<div class="span4 span-box">
<div id="demo5b" class="ho-box demo5">Title</div>
</div>
<div class="span4 span-box">
<div id="demo5c" class="ho-box demo5">Title</div>
</div>
<div class="span4 span-box">
<div id="demo5d" class="ho-box demo5">Title</div>
</div>
<div class="span4 span-box">
<div id="demo5e" class="ho-box demo5">Title</div>
</div>
<div class="span4 span-box">
<div id="demo5f" class="ho-box demo5">Title</div>
</div>

4 个答案:

答案 0 :(得分:1)

将演示移到循环之外

$demo_id = array('a', 'b', 'c', 'd', 'e', 'f');  
$counter;
while ($row = mysql_fetch_array($result)) { 
    echo '<div class="span4 span-box">
    <div id="demo5'.$demo_id[$counter].'" class="ho-box demo5">'.$row['title'].'</div>
    </div>';
    $counter++;
}

但如果您的结果超过6,则会失败。 演示ID可以包含字母表中的所有字母:

$demo_id = range("a","z");

答案 1 :(得分:1)

尽管你不应该使用mysql_函数,因为njk已经很好地总结了,但是提出一些能够处理前26行的东西并不困难:

$demo_id = 'a';
while ($row = mysql_fetch_array($result)) { 
 echo '<div class="span4 span-box">';
 echo '<div id="demo5'.$demo_id.'" class="ho-box demo5">'.$row['title'].'</div>';
 echo '</div>';
 ++$demo_id;
}

但是你需要考虑当超过26时会发生什么。

答案 2 :(得分:1)

您可以添加一个计数器。

$result = mysql_query("SELECT * FROM cub_posts WHERE active = 'Y' ORDER BY rand() LIMIT 6") or die(mysql_error());

$demo_id = array('a', 'b', 'c', 'd', 'e', 'f');  

$i=0;

while ($row = mysql_fetch_array($result)) { 

echo '<div class="span4 span-box">
<div id="demo5'.$demo_id[$i].'" class="ho-box demo5">'.$row['title'].'</div>
</div>';

 $i++;
}

答案 3 :(得分:0)

$char = 97
while ($row = mysql_fetch_array($result)) {
    echo '<div class="span4 span-box">';
    echo '<div id="demo5'.chr($char).'" class="ho-box demo5">'.$row['title'].'</div>';
    echo '</div>';
    $char++;
}