Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: отобразить часть ссылок: напр. с 25 по 37

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: вывод части данных в завсисимости от значений
broshurkaplus
Отправлено: 16 Августа, 2011 - 16:21:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




здравствуйте

есть код который выводит все ссылки если они есть при выбрвной теме

PHP:
скопировать код в буфер обмена
  1.    $q_po_teme = mysql_query("SELECT * FROM xxx WHERE img_tema=$tema");
  2.    $i=1;
  3.    while($r_po_teme=mysql_fetch_array($q_po_teme)){
  4.    echo '<a class="b" href="?img='.$r_po_teme["img_id"].'&tema='.$_GET['tema'].'" alt="'.$r_po_teme["img_id"].'" align="center">'.$i.'</a>'."\n";$i=$i+1;}
  5.       }


отображаем номера, передаём ид картинки
при нажатии на сылку отображается картинка
теперь нужно:

чтобы, если передан гет, то выводились ссылки за 10 до переданной и 10 следующих


как лучше реализовать? (картинок накопилось много и теперь сылки занимаютместо )
 
 Top
OrmaJever
Отправлено: 16 Августа, 2011 - 16:51:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




обычно в GET передают ид, а у вас что в $_GET['tema'] ?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
broshurkaplus
Отправлено: 16 Августа, 2011 - 17:47:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




у меня гетом передаётся ид картинки и тема

, а ссылки отображаются если есть тема (без или с ид), в сылке - передаваемый параметр ид картинки , а отображаемый $i- порядковый

типа так
меню
если тема не выбрана то ссылок нет
если тема выбрана(передана) то выводим ссылки на картинки - по ним отображаем.

надо

если передана картинка то не выводить все ссылки (например их 1000), а только 10 предыдущих и 10 след-х

нужно както получить отображаемый $i на который нажали чтобы отобразить картинку (не передавая его) и типа выводим эхо не менее $i-10 и не более $i+10.
или найти в массиве индекс элемента с ид=гет ид, тогда отображаем тока нужные.
(пробовал функцию поиска ($к,$r_po_teme) но типа видит что искать в $k "переданый гет" а масив не видит , надо чтобы было с кавычками и через запятую )

не палучается...
 
 Top
OrmaJever
Отправлено: 16 Августа, 2011 - 18:00:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




PHP:
скопировать код в буфер обмена
  1. $id = $_GET['ид_картинки'];
  2. mysql_query("SELECT * FROM table WHERE id >= ($id-10) AND id <= ($id+10)");

как вариант

(Отредактировано автором: 16 Августа, 2011 - 18:02:24)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
broshurkaplus
Отправлено: 16 Августа, 2011 - 18:42:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




тока как вариант
в одной таблице по разным темам, поэтому передаём и тему в гет.
и в это случае, пропадают $i, т е если я уже на 500й странице у меня отобразит сылки с 490 по 510. но потеряюотся $i - они будут сначала - 1-20. а надо чтоб 490,491...510

поэтому мне надо как то его запомнить

может получить индекс типа

$k = array_search(" тут гет ид",$r_po_teme);

но у меня не срабатывает
ид я запихиваю а не видит масив $r_po_teme . как его сделать в виде "ид1","ид2" и т д
тогда далее смогу если $i>$k-10 и <$k+10 то вывожу сылки а если нет то не вывожу

???
может другая функция есть?
(Добавление)
да и ид при выборе по теме не попорядку (682,683,896,) если WHERE id >= ($id-10) AND id <= ($id+10)
 
 Top
OrmaJever
Отправлено: 16 Августа, 2011 - 18:53:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




во-первых в условие можно добавить ещё тему
во-вторых почему теряется $i? её никто терятся не просил, она на месте.
PHP:
скопировать код в буфер обмена
  1. $q_po_teme = mysql_query("SELECT * FROM table WHERE img_tema=$tema AND id >= ($id-10) AND id <= ($id+10)");
  2. $i=1;
  3. while($r_po_teme=mysql_fetch_array($q_po_teme)){
  4.    echo '<a class="b" href="?img='.$r_po_teme["img_id"].'&tema='.$_GET['tema'].'" alt="'.$r_po_teme["img_id"].'" align="center">'.($i++)."</a>"\n";}
  5. }


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
broshurkaplus
Отправлено: 16 Августа, 2011 - 19:25:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




сделал так

PHP:
скопировать код в буфер обмена
  1.   if($_GET['img']){$id = $_GET['img'];
  2.       $q_po_teme = mysql_query("SELECT * FROM table WHERE img_tema=$tema AND id >= ($id-10) AND id <= ($id+10)");
  3.       }
  4.       else{
  5.       $q_po_teme = mysql_query("SELECT * FROM table WHERE img_tema=$tema");}
  6.    $i=1;
  7.    while($r_po_teme=mysql_fetch_array($q_po_teme)){
  8.    echo '<a class="b" href="?img='.$r_po_teme["img_id"].'&tema='.$_GET['tema'].'" alt="'.$r_po_teme["img_id"].'" align="center">'.$i.'</a>'."\n";$i=$i+1;}


если ид карт.не передано-ок ,если нажимаем ссылку выдаёт

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

в

while($r_po_teme=mysql_fetch_array($q_po_teme)){
(Добавление)
ид не попорядку 850, 900,950 я полагаю что -10 или+10 от их не видит
(Добавление)
подправил код
id >= ($id-10) сдесь img_id >= ($id-10)

оно срабатывает но если ид 850, 900,950 и мы на картинке 900
то отображает тока одну сылку с ид900 и видимым 1 т е $i потерялось и отсчитывает его сначала

возвращаюсь к этому - как получить индекс и переданным по гет ид из массива $r_po_teme=mysql_fetch_array($q_po_teme) тогда и по индексу -10 и +10 отображать $i

(Отредактировано автором: 16 Августа, 2011 - 19:26:07)

 
 Top
broshurkaplus
Отправлено: 16 Августа, 2011 - 22:22:20
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




всё разобрался

прогоняю цикл до этого - при совпадении фиксирую $i принимаю $i1

прогоняю 2й раз е вывожу сылки при удовл. условию $i>=$i1-5 and $i>=$i1+5

если надо код пишите
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB