我有一個PHP腳本調用一個系列的圖片顯示爲這樣:如何處理第n個孩子的Internet Explorer 8
這是PHP代碼來調用它們:
<?php
$query = "SELECT
parent_business_id,
image_url,
alt_tag,
description,
thumb_url,
business
FROM
images
ORDER BY
RAND()
LIMIT
6
";
$result = mysql_query($query, $dbc)
or die (mysql_error($dbc));
while($row = mysql_fetch_array($result)) {
$parent = $row["parent_business_id"];
$image = $row["image_url"];
$alt = $row["alt_tag"];
$description = $row["description"];
$thumb = $row["thumb_url"];
$business = $row["business"];
$mainthumb = "./images/270x270/$image.jpg";
echo
"<div class='gallery_image_container'>
<a href='business-profile.php?business_id=$parent' class='gallery_darken'><img src='$mainthumb' alt='$alt' title='$description' /></a>
</div>";
}
?>
在我使用CSS3的第n個孩子邊距添加到中央圖像的時刻:
div.gallery_image_container:nth-child(3n+2){
margin-left:10px;
margin-right:10px;
}
我遇到的問題是這個工程在支持css3的瀏覽器中很好用,但ie 7和ie 8不會,我需要一個解決方案。我在想,也許我可以通過在php中添加類來做到這一點。如果是的話,我會使用哪種功能。在PHP中有沒有像孩子一樣的選擇?
PHP並沒有真正的n-child選擇器,但你可以自己做,當你循環打印出來,如果它是第二項,第五項等,只需添加類。 – Andy
偏離主題,但值得一提的是:'ORDER BY RAND()'是進行查詢的極其緩慢的方式。它基本上必須加載整個表格。對小表來說很好,但是如果你有很多數據,'ORDER BY RAND()'會給你帶來非常糟糕的性能問題。 – SDC
也脫離主題,但*絕對*值得一提:PHP中的'mysql_xxx()'函數已棄用。這意味着PHP正在放棄對它們的支持,並可能在未來的版本中將它們完全從語言中刪除。無論如何,無論如何,他們已經被認爲已經過時並且不安全了很長一段時間。 *強烈推薦切換到使用PHP提供的更好的mysql API之一,無論是'mysqli'還是'PDO'。 – SDC