MySQL ограничить часть запроса

0

У меня есть запрос mysql:

$result = mysql_query("SELECT * FROM $table WHERE cat = 'category'");

 while($row = mysql_fetch_array($result)) {
     echo '
     <hgroup><h3>'.$row['mag'].'</h3><h4>'.$row['date'].'</h4></hgroup>
     <a href="'.$row['href'].'" onclick="this.target=\'blank;\'">'.$row['title'].'</a>
          ';
   }

Этот запрос будет обычно выбирать между 2 и 5 различными строками и отображать их в списке.

Я хочу, чтобы первая эхо-строка появлялась только один раз, а вторая строка должна отображаться между 2 и 5 в зависимости от данных в моем db.

Я уверен, что есть простой способ сделать это, я попробовал GROUP BY mag, но это устранит оставшиеся 1-4 части данных, которые я хочу отобразить.

  • 0
    Пожалуйста, приведите пример того, что код выводит в настоящее время и что вы хотите, чтобы он выводил.
Теги:

2 ответа

0
Лучший ответ

Не уверен, что я понимаю ваш вопрос, так как следующее решение кажется слишком простым!

$row = mysql_fetch_array($result);
echo '<hgroup><h3>'.$row['mag'].'</h3><h4>'.$row['date'].'</h4></hgroup>
      <a href="'.$row['href'].'" onclick="this.target=\'blank;\'">'.$row['title'].'</a>';
 while ($row = mysql_fetch_array($result)) {
     echo '<a href="'.$row['href'].'" onclick="this.target=\'blank; \'">'.$row['title'].'</a>';
}
0

Может быть, это решение вашей проблемы?

$lines = '';
unset($hgroup);
$result = mysql_query("SELECT * FROM $table WHERE cat = 'category'");

while($row = mysql_fetch_array($result)) {
     if (!isset($hgroup)) {
        $hgroup = '<hgroup><h3>'.$row['mag'].'</h3><h4>'.$row['date'].'</h4></hgroup>';    
     }
     $lines += '
     <a href="'.$row['href'].'" onclick="this.target=\'blank;\'">'.$row['title'].'</a>
          ';    
}
echo $hgroup.$lines;
  • 0
    это не совсем то, что я ищу, я не уверен, что объяснил себя достаточно хорошо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню