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]   

> Без описания
Pandion
Отправлено: 28 Апреля, 2011 - 12:48:36
Post Id


Новичок


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


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




Есть таблица с полями id, text, cat, reg

Надо вывести одновременно значения c параметрами cat=1 reg=1 и cat=1 reg=2
и выбрать последние 5значений по id

Я пытался так, но выводит "Информация по запросу не может быть извлечена в таблице нет записей."

CODE (htmlphp):
скопировать код в буфер обмена
  1.           $result1 = mysql_query ("SELECT id, text FROM data WHERE cat='1' AND reg='1' ORDER BY id DESC LIMIT 5",$db);
  2.            $result2 = mysql_query ("SELECT id, text FROM data WHERE cat='1' AND reg='2' ORDER BY id DESC LIMIT 5",$db);
  3.                    $result3 = $result1 + $result2
  4.            if (!$result3)
  5.            {
  6.             echo "<p>Запрос на выборку данных из базы не прошел.<br> Код ошибки:</p>";
  7.             exit(mysql_error());
  8.            }
  9.  
  10.            if (mysql_num_rows($result3) > 0)
  11.  
  12.            {
  13.            $myrow3 = mysql_fetch_array($result3);
  14.  
  15.            do
  16.            {
  17.            printf ("%s %s",$myrow3["id"],$myrow3["text"]);
  18.  
  19.  
  20.  
  21.            }
  22.            while ($myrow3 = mysql_fetch_array($result3));
  23.  
  24.  
  25.  
  26.            }
  27.  
  28.            else
  29.            {
  30.            echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
  31.            exit();
  32.            }


Может наДо как-то конструкцию SELECT по-хитрому написать, чтоб вместить и cat=1, и reg=1, и reg=2?

(Отредактировано автором: 28 Апреля, 2011 - 12:50:17)

 
 Top
SAD Модератор
Отправлено: 28 Апреля, 2011 - 12:56:07
Post Id



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


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




SELECT id, text FROM data WHERE cat=1 AND reg in (1,2) ORDER BY id DESC LIMIT 5
(Добавление)
Pandion пишет:
$result3 = $result1 + $result2

только заметил
Такого я еще не видел....
 
 Top
Pandion
Отправлено: 28 Апреля, 2011 - 13:04:18
Post Id


Новичок


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


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




SAD пишет:
только заметил
Такого я еще не видел....

а как надо было?
 
 Top
SAD Модератор
Отправлено: 28 Апреля, 2011 - 13:07:51
Post Id



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


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




я вам написал
 
 Top
Pandion
Отправлено: 28 Апреля, 2011 - 13:09:04
Post Id


Новичок


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


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




SAD пишет:
я вам написал


да, за это большое спасибо

я имел ввиду другой вопрос - как можно сложить 2 таких $result

(Отредактировано автором: 28 Апреля, 2011 - 13:09:36)

 
 Top
SAD Модератор
Отправлено: 28 Апреля, 2011 - 13:10:01
Post Id



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


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




читайте про UNION

(Отредактировано автором: 28 Апреля, 2011 - 13:10:39)

 
 Top
OrmaJever
Отправлено: 28 Апреля, 2011 - 13:10:27
Post Id



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


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


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




SAD пишет:
$result3 = $result1 + $result2

ахаха и правда жесть Ха-ха


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Pandion
Отправлено: 28 Апреля, 2011 - 13:12:43
Post Id


Новичок


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


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




OrmaJever пишет:
ахаха и правда жесть


объясните, пожалуйста, почему это жесть
 
 Top
SAD Модератор
Отправлено: 28 Апреля, 2011 - 13:13:17
Post Id



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


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




где вы такое видели, что так решили написать?
 
 Top
Pandion
Отправлено: 28 Апреля, 2011 - 13:13:33
Post Id


Новичок


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


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




я только учусь и ,наверно, не понимаю пока смысла $result
(Добавление)
SAD пишет:
где вы такое видели, что так решили написать?

просто хотел объединить 2 выборки из таблицы
 
 Top
OrmaJever
Отправлено: 28 Апреля, 2011 - 13:15:02
Post Id



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


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


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




Pandion пишет:
объясните, пожалуйста, почему это жесть

потому что функция mysql_query() возвращает индевикатор ресурса и как вы его пытаетесь сложить непонятно, и что хотели получить в результате это вобще загадка Хи


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


Новичок


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


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




спасибо
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB