我正在尝试制作一个显示所有人的朋友的手风琴(twitter bootstrap),我最终只创建了一个infinate循环,基本上我所要做的就是在结果中为每一行回显一个php字符串。 / p>
任何人都可以发现我在做什么愚蠢(除了不使用mysqli)?
while ( $rowresult = mysql_fetch_assoc(mysql_query("SELECT * FROM friends WHERE id='".$user["ID"]."' ")) ) {
$auto = "0px";
echo '<div class="accordion-group"><div class="accordion-heading"><div class="accordion-heading">';
echo '<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapse'. $counter . '">';
echo $rowresult['firstname'];
echo ' ';
echo $rowresult['lastname'];
echo ', ';
echo $rowresult['headline'];
echo '</a></div> <div id="collapse'. $counter .'" class="accordion-body ';
if ($counter == 0){
echo 'in ';
$auto = "auto";
}
echo 'collapse" style="height: '. $auto .'; "><div class="accordion-inner">';
echo '<img src="'.$rowresult["pictureUrl"].'">';
echo '</div></div></div></div>';
$counter++;
}
答案 0 :(得分:2)
它不起作用,因为您一次又一次地执行相同的查询 那样做:
$res = mysql_query("SELECT * FROM friends WHERE id='".$user["ID"]."'");
while ( $rowresult = mysql_fetch_assoc($res) ) {
....
}
答案 1 :(得分:1)
您在每次迭代时重复查询。将mysql_query()移出循环到变量。
$q = mysql_query("SELECT * FROM friends WHERE id='".$user["ID"]."' ");
while ($rowresult = mysql_fetch_assoc($q)) {
// ...
}
答案 2 :(得分:0)
在while循环之前放置查询。 IE
$q=mysql_query("SELECT * FROM friends WHERE id='".$user["ID"]."' ");
while ( $rowresult = mysql_fetch_array($q)) {
...
但当然使用PDO ......:)