список с различными классами CSS и PHP-запросом - PullRequest
0 голосов
/ 17 декабря 2009

У меня есть этот php запрос

$sql = "SELECT * FROM db";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query))

{

   echo "<ul>";

   echo "<li>{$row['title']}</li>";

   echo "</ul>";

}

и мой код xhtml:

<ul>
<li class="pdn5">one</li>
<li class="pdn5">two</li>
<li class="no-pdn">three</li>
</ul>

В таком случае, как написать цикл php? Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 17 декабря 2009

Предполагая, что вы хотите, чтобы последняя строка была единственной с "no-pdn", вы можете использовать это:

$sql = "SELECT * FROM db";
$query = mysql_query($sql);
$numRows = mysql_num_rows($query);
$i = 1;
while($row = mysql_fetch_assoc($query))
{    
   echo "<ul>";    
   echo '<li class="'.($i < $numRows ? 'pdn5' : 'no-pdn').'">'
         .$row['title']."</li>";
   echo "</ul>";
   i++;
}
1 голос
/ 17 декабря 2009

Измените ваш код следующим образом:

$sql = "SELECT * FROM db";
$query = mysql_query($sql);
   echo "<ul>";
while($row = mysql_fetch_assoc($query))

{
   echo "<li class='some_class'>{$row['title']}</li>";
}
   echo "</ul>";

Обновление для имени класса элемента li:

Если вы хотите добавить определенные классы для каждого элемента списка, вы можете, например, сохранить это имя класса в БД и получить его с вашим названием. Или же можно создать имя класса, основываясь на значении $ row ['title']. Например:

echo "<li class='li_".$row['title']."'>{$row['title']}</li>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...