题
是他们的一种方法在一段时间的循环分配变量中的类div,每第三个项目在一段时间的循环。我使用的蓝图的结构和第三div是在结束我需要attacht"最后"类名称,以每三div因此第3div第6div第9div等?
/* LOOP THROUGH SHOEDATA TABLE */
$results = mysql_query("SELECT * FROM shoeData");
while($row = mysql_fetch_array($results)){
$name = $row['name'];
$about = $row['about'];
$company = $row['company'];
$buy = $row['buy'];
$tags = $row['tags'];
$id = $row['id'];
$image = $row['image'];
/* ECHO THE SHOEDATA RESULTS */
echo "<div class='imageBorder span-8 column'>";
echo "<div id='imageHeight'>";
echo "<img src='thumbs/$image'>";
echo "</div>";
echo "<ul>";
echo "<li>$name</l1>";
echo "<li>$about</l1>";
echo "<li>$company</l1>";
echo "<li><a href='$buy'>BUY</a></l1>";
echo "<li>$tags</l1>";
echo "</ul>";
echo "</div>";
}/*SHOEDATA WHILE LOOP ENDS */
解决方案
for ($i = 0; $i < $numRecords; $i++)
{
$className = "";
if (($i % 3) == 0)
{
$className = "last"
}
....
}
这里的关键部分是($ i%3)== 0
。
编辑:以下内容是对您的评论的回应。
/* LOOP THROUGH SHOEDATA TABLE */
$results = mysql_query("SELECT * FROM shoeData");
$i = 0;
while($row = mysql_fetch_array($results)){
$i++;
$name = $row['name'];
$about = $row['about'];
$company = $row['company'];
$buy = $row['buy'];
$tags = $row['tags'];
$id = $row['id'];
$image = $row['image'];
/* ECHO THE SHOEDATA RESULTS */
$additionalClass = ($i % 3) == 0 ? " last" : "";
echo "<div class='imageBorder span-8 column" . $additionalClass . "'>";
echo "<div id='imageHeight'>";
echo "<img src='thumbs/$image'>";
echo "</div>";
echo "<ul>";
echo "<li>$name</l1>";
echo "<li>$about</l1>";
echo "<li>$company</l1>";
echo "<li><a href='$buy'>BUY</a></l1>";
echo "<li>$tags</l1>";
echo "</ul>";
echo "</div>";
}/*SHOEDATA WHILE LOOP ENDS */
其他提示
如果你想这样做对客户的侧它可以做CSS3(加JS旧的浏览器[DOMAssistant+Selectivizr]).
CSS: div.imageBorder:nth-child(3n) { /* style attributes will be applied to every 3rd div */ }
$sql = "SELECT * FROM shoeData";
$results = mysql_query($sql);
while($row = mysql_fetch_array($results)) {
// whatever code here
}
与真实值相比,MySQL似乎没有足够的智能执行操作
你必须指定 $ sql
, $ result
,因为它看起来像 $ row = mysql_fetch_array($ results)
是真的所以它被卡在真正的加载上第一行数据永远。
如果打算每个X项都做一些事情,请使用modulo。 modulo是除法的余数,如果除法是一个整数,则变为零。
if(!($counter%3)) {
// this is 3 6 9 etc.
}
$counter++;
当然你可以用任何数字来做。
不隶属于 StackOverflow