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 :: частино не работают ссылки.

 PHP.SU

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


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

> Без описания
SofiaKit
Отправлено: 01 Августа, 2011 - 20:59:38
Post Id


Частый гость


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


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




имеется страница all.php
PHP:
скопировать код в буфер обмена
  1. <?
  2. include("bd.php");
  3. $result = mysql_query('SELECT categories_name FROM categories');
  4. $row_cat = mysql_fetch_array($result);
  5. $video = isset($_GET['video'])?$_GET['video']:'index';
  6. switch($video){
  7. case 'index':
  8.         $result_cat = mysql_query("SELECT * FROM categories");
  9.         $row_cat = mysql_fetch_array($result_cat);
  10.                 do
  11.                         {
  12.                         $_GET['cat'] = $row_cat['categories_name'];
  13.                         echo"<a href=\"all.php?video=".$row_cat['categories_name']."\">".$row_cat['categories_name']."</a><br>";
  14.                         }
  15.                         while($row_cat = mysql_fetch_array($result_cat));        
  16.                  
  17. break;   
  18. case $row_cat['categories_name']:
  19. echo "Удалось отобразить";    
  20. default:
  21. die('Не найдено');
  22. }
  23. ?>

выводит сразу в цикле значения categories_name, они же так-же имеют ссылки этих же значений. Так вот, работает только самая первая ссылка (Удалось отобразить), а остальные ссылки не работают (Не найдено), помогите пожалуйста добиться чтоб и остальные ссылки работали, не нарушая структуру кода, что надо добавить?
 
 Top
OrmaJever Модератор
Отправлено: 01 Августа, 2011 - 21:27:06
Post Id



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


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


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




а сколько сылок должно работать если у вас только берётся 1 поле

без цыкла
(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?
  2. include("bd.php");
  3. $result = mysql_query('SELECT categories_name FROM categories');
  4. $video = isset($_GET['video'])?$_GET['video']:'index';
  5. while($row_cat = mysql_fetch_array($result)) {
  6.  
  7.         if($video == 'index') {
  8.                 echo"<a href=\"all.php?video=".$row_cat['categories_name']."\">".$row_cat['categories_name']."</a><br>";
  9.         }    
  10.         if($video == $row_cat['categories_name']) {
  11.                 echo "Удалось отобразить";    
  12.         }
  13.         if($video != 'index' && $video != $row_cat['categories_name']) die('Не найдено');
  14.  
  15. }
  16. ?>


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
SofiaKit
Отправлено: 01 Августа, 2011 - 21:45:29
Post Id


Частый гость


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


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




OrmaJever ну да, поторопилась.
PHP:
скопировать код в буфер обмена
  1. <?
  2. include("bd.php");
  3. $result = mysql_query('SELECT categories_name FROM categories');
  4. $row_cat = mysql_fetch_array($result);
  5. $video = isset($_GET['video'])?$_GET['video']:'index';
  6. switch($video){
  7. case 'index':
  8.         $result_cat = mysql_query("SELECT * FROM categories");
  9.         $row_cat = mysql_fetch_array($result_cat);
  10.                 do
  11.                         {
  12.                         $_GET['cat'] = $row_cat['categories_name'];
  13.                         echo"<a href=\"all.php?video=".$row_cat['categories_name']."\">".$row_cat['categories_name']."</a><br>";
  14.                         }
  15.                         while($row_cat = mysql_fetch_array($result_cat));        
  16.                  
  17. break;   
  18. case $row_cat['categories_name']:
  19. echo "Удалось отобразить";
  20. break;    
  21. default:
  22. die('Не найдено');
  23. }
  24. ?>

вот.. работает только первая ссылка. надо добиться чтоб работали все ссылки.
(Добавление)
OrmaJever
ваш код тоже только первую ссылку выводит, причем вот так: Удалось отобразитьНе найдено остальные так-же не работают.
 
 Top
OrmaJever Модератор
Отправлено: 01 Августа, 2011 - 22:36:59
Post Id



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


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


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




SofiaKit что значит работает только первая сылка? вы исходный код смотрели? что там?
SofiaKit пишет:
причем вот так: Удалось отобразитьНе найдено

это противоречит коду, если выполнилось это условие
PHP:
скопировать код в буфер обмена
  1. $video == $row_cat['categories_name']

то это точно не выполнится
PHP:
скопировать код в буфер обмена
  1. ... && $video != $row_cat['categories_name']

Нужно дебажить, проблемы на разных ступенях цыкла нужо выяснить почему так ну и + посмотреть исходный код страницы
(Добавление)
SofiaKit пишет:
остальные так-же не работают.

Потому что если пишет "Не найдено" значит сработал die() и скрипт умер Огорчение


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


Частый гость


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


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




OrmaJeverну полный код страницы вот:
PHP:
скопировать код в буфер обмена
  1. <?
  2. include("bd.php");
  3. $result = mysql_query('SELECT categories_name FROM categories');
  4. $video = isset($_GET['video'])?$_GET['video']:'index';
  5. while($row_cat = mysql_fetch_array($result)) {
  6.  
  7.         if($video == 'index') {
  8.                 echo"<a href=\"all.php?video=".$row_cat['categories_name']."\">".$row_cat['categories_name']."</a><br>";
  9.         }    
  10.         if($video == $row_cat['categories_name']) {
  11.                 echo "Удалось отобразить";    
  12.         }
  13.         if($video != 'index' && $video != $row_cat['categories_name']) die('Не найдено');
  14.  
  15. }
  16. ?>


по прежнему пишет по первой ссылке: Удалось отобразитьНе найдено по остальным: Не найдено
(Добавление)
если хочешь посмотреть результат, вотУлыбка удивись
 
 Top
OrmaJever Модератор
Отправлено: 02 Августа, 2011 - 00:40:29
Post Id



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


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


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




аа я не верно понял суть скрипта. Вот то что нужно.
PHP:
скопировать код в буфер обмена
  1. <?
  2. include("bd.php");
  3. $video = isset($_GET['video']) ? mysql_escape_string($_GET['video']) : 'index';
  4. $r = mysql_query("SELECT categories_name FROM categories WHERE categories_name = '$video' LIMIT 1");
  5. if($video == 'index') {
  6.                 $result = mysql_query('SELECT categories_name FROM categories');
  7.                 while($row_cat = mysql_fetch_array($result)) {
  8.                         echo"<a href=\"all.php?video=".$row_cat['categories_name']."\">".$row_cat['categories_name']."</a><br>";
  9.                 }
  10. } elseif(mysql_num_rows($r) == 1) {
  11.         echo "Удалось отобразить";
  12. } else {
  13.         die('Не найдено');
  14. }
  15. ?>

Кстате приятная музычка на видео Улыбка
(Добавление)
ещё вопрос, в бд
CODE (htmlphp):
скопировать код в буфер обмена
  1. categories_name = '$video'

будет только один результат?


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


Частый гость


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


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




OrmaJever ну сейчас та именно как надо, единственное не сохраняется содержимое по выборке: $row_cat['categories_name']. т.е. смотри:
PHP:
скопировать код в буфер обмена
  1. ...elseif(mysql_num_rows($r) == 1) {
  2.         echo "Выбранна категория: ".$row_cat['categories_name']."";
  3. } else {
  4.         die('Не найдено');
  5. }


Не пишет какая категория выбранна.
 
 Top
OrmaJever Модератор
Отправлено: 02 Августа, 2011 - 01:56:04
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. ...elseif(mysql_num_rows($r) == 1) {
  2.         echo "Выбранна категория: ".mysql_fetch_object($r)->categories_name;
  3. } else {
  4.         die('Не найдено');
  5. }


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


Частый гость


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


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




ура, то что надо! премного благодарна Улыбка +1 Радость ммм... теперь спать перехотелось, столько всего сделать надо еще.
 
 Top
SofiaKit
Отправлено: 02 Августа, 2011 - 14:47:36
Post Id


Частый гость


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


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




немного переделала код, хочется разделить некоторые значения:
Содержимое all.php
PHP:
скопировать код в буфер обмена
  1. <?
  2. include("bd.php");
  3.  
  4. $video = isset($_GET['video'])?$_GET['video']:'view';
  5.   switch($video){
  6.   case 'view':
  7.         $cat = isset($_GET['cat']) ? mysql_escape_string($_GET['cat']) : 'index';
  8.         $r = mysql_query("SELECT categories_name FROM categories WHERE categories_name = '$video' LIMIT 1");
  9.         if($cat == 'index') {
  10.     $result = mysql_query('SELECT categories_name FROM categories');
  11.     while($row_cat = mysql_fetch_array($result)) {
  12.     echo"<a href=\"all.php?video=view&cat=".$row_cat['categories_name']."\">".$row_cat['categories_name']."</a><br>";
  13.     }
  14.         } elseif(mysql_num_rows($r) == 1) {
  15.         $c = mysql_fetch_object($r)->categories_name;
  16.     echo "Выбранна категория: ".$c;
  17.         } else {
  18.     die('Не найдено');
  19.         }
  20.         break;
  21.         case 'add':
  22.         echo "добавление в all";
  23.         break;
  24.   }
  25. ?>


теперь при открытии: all.php?video=view появляются категории, а при открытии all.php?video=add будет код по добавлению категорий.

Так вот, по идее должны открываться ссылки по all.php?video=view&cat=и категория, а пишет не найденно, странно, почему?
 
 Top
OrmaJever Модератор
Отправлено: 02 Августа, 2011 - 14:56:53
Post Id



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


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


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




в 8 строке в запросе поменять $video на $cat


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


Частый гость


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


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




OrmaJever а, действительно, спасибо Улыбка
 
 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