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 :: Генерация ссылок с нужными GET переменными

 PHP.SU

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


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

> Без описания
nkl
Отправлено: 28 Февраля, 2012 - 18:25:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


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




Мне нужно написать фильтр лотов. Таблица уже написана, заполняется и робит все норм. Фильтр выглядит вот так:
все товары: ПОПУЛЯРНЫЕ: НОВЫЕ: СТОК
ЛЮБОЙ ВОЗРАСТ: от 0 до 3: 0т 3 до 5: от 5 до 7: от 7 до 12
все категории: Джинсы: Боди: Комбенизон

Напишите мне скрипт генерации ссылок для каждого параметра.

Дальше расписывать не буду, создаю тему для страховки, на тот случай, если у меня вдруг не получится, а я ушел пилить этот срипт дальше. Но все же надеюсь на помощь коллег.
 
 Top
Bio man
Отправлено: 28 Февраля, 2012 - 18:32:06
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


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




nkl пишет:
Напишите мне скрипт генерации ссылок для каждого параметра.
Помираю со смеху! Помираю со смеху! ну жди, может кто напишет. хотя думаю врятле
 
 Top
nkl
Отправлено: 28 Февраля, 2012 - 20:31:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


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




В общем-то начал ваять потихоньку, пока вот что у меня получилось:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. if ($_GET['type']) $link = 'type='.$_GET['type'];
  4. if ($_GET['cat']) $link = 'cat='.$_GET['cat'];
  5. if ($_GET['param']) $link = 'param='.$_GET['param'];
  6. if (substr($link, 0, 1) != '?') $link = '?'.$link;
  7. if (substr($link, 0, 1) != '&') $link = $link.'&';
  8.  
  9. $del = 'type='.$_GET['type'];
  10. if (strtr($link, 'type')) $new_link = str_replace($del, "", $link);
  11. if (strlen($link) <= 2) $new_link = substr_replace($link ,"",-1);
  12. ?>
  13. <html>
  14. <head>
  15. <title>Генерируем ссылки, бля!</title>
  16. </head>
  17. <body>
  18. <?php
  19. echo '<p align="center">';
  20. echo '<a href="'.$link.'type=1">Тип1</a> : ';
  21. echo '<a href="'.$link.'type=2">Тип2</a> : ';
  22. echo '<a href="'.$link.'type=3">Тип3</a></p>';
  23.  
  24. echo '<p align="center">';
  25. echo '<a href="'.$link.'cat=1">Категория1</a> :';
  26. echo '<a href="'.$link.'cat=2">Категория2</a> :';
  27. echo '<a href="'.$link.'cat=3">Категория3</a></p>';
  28.  
  29.  
  30. echo '<p align="center">';
  31. echo '<a href="'.$link.'param=1">Параметр1</a> :';
  32. echo '<a href="'.$link.'param=2">Параметр2</a> :';
  33. echo '<a href="'.$link.'param=3">Параметр3</a></p>';
  34. ?>
  35. <?php
  36. echo '<H3 align="center">$link = "'.$link.'"<H3>';
  37. echo $del;
  38. echo $new_link;
  39. ?>
  40. </body>
  41. </html>
  42.  


Сейчас у меня почему-то не работает 10 строка. Она предназначена для того, что бы убирать из строки $link уже имеющуюся переменную $type, для подстановки этой строки в ссылку Типов. Ну, что бы не дублировалась эта переменная еще раз в href.
(Добавление)
11 строка должна отрезать символ & в том случае, если в строке $link всего 2 символа, ?&
(Добавление)
Собственно я не понимаю, почему не работает строка 10. Я уже специально сделал все через переменную $del = 'type='.$_GET['type'], что бы видеть все. В итого вывод выглядит примерно так:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4. <title>Генерируем ссылки, бля!</title>
  5. </head>
  6. <body>
  7. <p align="center"><a href="?type=3&type=1">Тип1</a> : <a href="?type=3&type=2">Тип2</a> : <a href="?type=3&type=3">Тип3</a></p><p align="center"><a href="?type=3&cat=1">Категория1</a> :<a href="?type=3&cat=2">Категория2</a> :<a href="?type=3&cat=3">Категория3</a></p><p align="center"><a href="?type=3&param=1">Параметр1</a> :<a href="?type=3&param=2">Параметр2</a> :<a href="?type=3&param=3">Параметр3</a></p><H3 align="center">$link = "?type=3&"<H3>type=3</body>
  8. </html>
  9.  

(Добавление)
Как видно из кода, ссылка строка type=3 присутствует в строке ?type=3&, так почему же не работает 10 строка??????
 
 Top
Plusminuz
Отправлено: 28 Февраля, 2012 - 21:29:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Апр. 2011  
Откуда: Россия


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




подозреваю, что в 10 строке не strtr() а strstr()

но по-моему Ваш код.... не очень хорош в общем


-----
учусь... Улыбка
 
 Top
nkl
Отправлено: 28 Февраля, 2012 - 22:07:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


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




Plusminuz, уважаемый и правильно подозреваете, Вы даже не представляете, как вы мне помогли!!!
Все ребят я это сделал!!! Щас допилю до конца и выложу, just a minet, please! Подмигивание
(Добавление)
Чёрт побери! Код работает безупречно, но одновремено, можно передать не больше двух параметров, может кто поможет мне допилить это до трех параметров:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. ini_set('display_errors',1);
  4. if ($_GET['type']) $link = 'type='.$_GET['type'];
  5. if ($_GET['cat']) $link = 'cat='.$_GET['cat'];
  6. if ($_GET['param']) $link = 'param='.$_GET['param'];
  7. if (substr($link, 0, 1) != '?') $link = '?'.$link;
  8. if (substr($link, 0, 1) != '&') $link = $link.'&';
  9.  
  10. $type_link = $link;
  11. $cat_link = $link;
  12. $param_link = $link;
  13.  
  14. $type_del = 'type='.$_GET['type'];
  15. $cat_del = 'cat='.$_GET['cat'];
  16. $param_del = 'param='.$_GET['param'];
  17.  
  18. if (strstr($type_link, 'type')) $type_link = str_replace($type_del, "", $link);
  19. if (strlen($type_link) <= 2) $type_link = substr_replace($type_link ,"",-1);
  20.  
  21. if (strstr($cat_link, 'cat')) $cat_link = str_replace($cat_del, "", $link);
  22. if (strlen($cat_link) <= 2) $cat_link = substr_replace($cat_link ,"",-1);
  23.  
  24. if (strstr($param_link, 'param')) $param_link = str_replace($param_del, "", $link);
  25. if (strlen($param_link) <= 2) $param_link = substr_replace($param_link ,"",-1);
  26. ?>
  27. <html>
  28. <head>
  29. <title>Генерируем ссылки, бля!</title>
  30. </head>
  31. <body>
  32. <?php
  33. echo '<p align="center">';
  34. echo '<a href="'.$type_link.'type=1">Тип1</a> : ';
  35. echo '<a href="'.$type_link.'type=2">Тип2</a> : ';
  36. echo '<a href="'.$type_link.'type=3">Тип3</a></p>';
  37.  
  38. echo '<p align="center">';
  39. echo '<a href="'.$cat_link.'cat=1">Категория1</a> :';
  40. echo '<a href="'.$cat_link.'cat=2">Категория2</a> :';
  41. echo '<a href="'.$cat_link.'cat=3">Категория3</a></p>';
  42.  
  43. echo '<p align="center">';
  44. echo '<a href="'.$param_link.'param=1">Параметр1</a> :';
  45. echo '<a href="'.$param_link.'param=2">Параметр2</a> :';
  46. echo '<a href="'.$param_link.'param=3">Параметр3</a></p>';
  47. ?>
  48. <?php
  49. echo '<H3 align="center">$link = "'.$link.'"</H3>';
  50. echo $del;
  51. echo '<br />';
  52. echo $link;
  53. ?>
  54. </body>
  55. </html>
  56.  


А вот результат работы:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head>
  4. <title>Генерируем ссылки, бля!</title>
  5. </head>
  6. <body>
  7. <p align="center">
  8. <a href="?param=1&type=1">Тип1</a> :
  9. <a href="?param=1&type=2">Тип2</a> :
  10. <a href="?param=1&type=3">Тип3</a></p>
  11. <p align="center">
  12. <a href="?param=1&cat=1">Категория1</a> :
  13. <a href="?param=1&cat=2">Категория2</a> :
  14. <a href="?param=1&cat=3">Категория3</a></p>
  15. <p align="center">
  16. <a href="?param=1">Параметр1</a> :
  17. <a href="?param=2">Параметр2</a> :
  18. <a href="?param=3">Параметр3</a></p>
  19. <H3 align="center">$link = "?param=1&"</H3>
  20.  
  21. <br />?param=1&</body>
  22. </html>
  23.  


Пожалуйста, помогите!!!
 
 Top
OrmaJever
Отправлено: 28 Февраля, 2012 - 22:23:16
Post Id



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


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


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




nkl пишет:
just a minet, please!

А?! maybe, "just a minute" ? In russian "minet" it's a bad word...


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
nkl
Отправлено: 28 Февраля, 2012 - 22:24:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


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




ссылка на результат работы для вашего удобства вот
 
 Top
Plusminuz
Отправлено: 29 Февраля, 2012 - 20:32:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Апр. 2011  
Откуда: Россия


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




nkl пишет:
just a minet
Радость


-----
учусь... Улыбка
 
 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