2013-01-11 104 views
-1

在我的示例中,我拉動了六個隨機行,並希望爲每個生成的行分配一個變量(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>'; 
} 

所以輸出會是:你的循環

$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++; 
} 

之外

<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> 
+5

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – Kermit

+1

什麼問題? – j08691

+1

這就是說,甚至是什麼問題? – crush

回答

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++; 
} 
1

移動演示但如果你有超過6個結果就會失敗。 演示ID可以有字母,而不是所有的字母:

$demo_id = range("a","z"); 
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

+0

我相信它會成爲'aa'。 –

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++; 
}