Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите сделать выборку 
V
    Опции темы
supercelt
Дата 26.10.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



есть БД 

table nomer

---id---|---id_main---|---number----

    1           22                 27
    2           14                 28
    3           66                 29

в поле number номера только имеющихся номеров журналов. На самом деле они все (с 1-29), но в базе есть тольео эти номера
Нужно сгенерить следующее:

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29]

НО! нужно в этой генерации заменить номера теми, которые имеются в базе, ну переделать их в ссылки, например
[27] заменить на <a href="http://ffff.com?id_main из базы">[27]</a>

Должно получиться:

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29]

вот мой код, который не работает

Код

$maxn=mysql_query("SELECT MAX(number) AS count FROM nomer");
       $nomer=mysql_fetch_array($maxn);
       $nomer=$nomer['count'];
          for($p=1; $p<=$nomer; $p++)// генерим номера журналов
          {
          $li[$p]="[".$p."]";
          }
      $link=implode(" ", $li);
      $qui=mysql_query("SELECT * FROM nomer ORDER BY id"); 
      for($p2=0; $p2<=mysql_num_rows($qui); $p2++)
      {
      $link2[$p2]=str_replace(mysql_fetch_array($qui, $p2, 'number'), "<a href='page.php?".mysql_fetch_array($qui, $p2,'id_main')."'>[".mysql_fetch_array($qui, $p2, 'number')."]</a>", $link);
      }
    echo $link2=implode(" ", $link2);


Это сообщение отредактировал(а) supercelt - 26.10.2007, 16:24
PM   Вверх
Fally
Дата 27.10.2007, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 17.8.2006
Где: Dahla

Репутация: нет
Всего: 4



Код

$maxn=mysql_query("SELECT MAX(number) AS count FROM nomer");
$nomer=mysql_fetch_array($maxn);
$nomer=$nomer['count'];
$li = array();
for($p=1; $p<=$nomer; $p++)// генерим номера журналов
{
    $li[$p]="[".$p."]";
}
$res = mysql_query('SELECT * FROM `nomer` ORDER BY `id` ASC');
$paging = 1;
while($arr = mysql_fetch_assoc($res)) {
    if($arr['numer'] == $paging)) {
        print("<a href='page.php?".$arr['numer']."'>[".$numer."]</a>");
    } else {
        print("[".$arr['numer']."]");
    }
    ++paging;
}


Решение, конечно, ужасное... но должно работать.. да и время сейчас такое, что мозги отказываются в правильном направлении работать..


--------------------
Прежде чем задать вопрос на форуме воспользуйтесь поиском.
user posted image
user posted image
PM MAIL   Вверх
SelenIT
Дата 27.10.2007, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 9
Всего: 401



Fally, по-моему, это работать не должно... где там вывод номеров 2-26 (в примере)?

Мне нравится подход superceltа с implode, только имплодил бы я это дело в самом конце:
Код

$res = mysql_query('SELECT `id_main`, `number` FROM `nomer`');
while($row = mysql_fetch_row($res)) {
     // запоминаем id_main для каждого существующего номера
     $nomer_ids[$row[1]] = $row[0];
}
// генерим диапазон номеров
$nomers = range(1, max(array_keys($nomer_ids)));
foreach ($nomers as $i => $nomer) {
      // оборачиваем каждый номер в ссылку, если для него имеется id_main, иначе - просто в скобки
      $nomers[$i] = isset($nomer_ids[$nomer]) ? '<a href="page.php?'.$nomer_ids[$nomer].'">['.$nomer.']</a>' : '['.$nomer.']';
}
echo implode(" ", $nomers);



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
supercelt
Дата 30.10.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



спасибо огромное)
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.