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 :: Помогите плиз, вопрос по SELECT

 PHP.SU

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


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

> Описание: Уже день парюсь:(
Maksim337
Отправлено: 19 Ноября, 2009 - 18:59:34
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


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




PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT `name` FROM `users` WHERE `id`='$id'
  3.  

Вот делаю к примеру такую выборку для определения имени юзера с определенным id.
Так вот хотел узнать как сделать чтобы выбрать имена юзеров нескольких по определенным ID ?

чтото типа такого

PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT `name` FROM `users` WHERE `id`='$id',`id`='$id_2'`id`='$id_3'`id`='$id_3'
  3.  

где переменные $id $id_2 $id_3 определяються в php скрипте и всегда разные.
Я понимаю что код что описан выше нерабочий ну хотел бы узнать как реализовать чтото подобное?
Если по другому это только в цикле подставлять и выбирать, но это же накладноНедовольство, огорчение как сделать подскажите! Пожалуйста!
 
 Top
Мелкий Супермодератор
Отправлено: 19 Ноября, 2009 - 19:04:20
Post Id



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


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


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




CODE (text):
скопировать код в буфер обмена
  1. SELECT `name` FROM `users` WHERE `id`='$id' or `id`='$id_2' or `id`='$id_3' or `id`='$id_3'


-----
PostgreSQL DBA
 
 Top
Maksim337
Отправлено: 19 Ноября, 2009 - 19:15:29
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


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




Мелкий если не ошибаюсь подобная штука выведет имя для первого
(Добавление)
Недовольство, огорчение
 
 Top
Монстр_11111
Отправлено: 19 Ноября, 2009 - 19:19:15
Post Id



Частый гость


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


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




Ну раз энд не катит . То ор верное решение .

Ты уверен что правильно выводишь массив ?

(Отредактировано автором: 19 Ноября, 2009 - 19:41:53)

 
 Top
Maksim337
Отправлено: 19 Ноября, 2009 - 19:30:44
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


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




Спасибо вам ребята за помошь, ну вы хоть думайте что предлогаете, and не катит тоже!
 
 Top
Монстр_11111
Отправлено: 19 Ноября, 2009 - 19:42:47
Post Id



Частый гость


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


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




mysql_fetch_array
mysql_fetch_row
mysql_fetch_assoc
Одно из трех у тебя используется ?
 
 Top
Maksim337
Отправлено: 19 Ноября, 2009 - 19:45:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


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




Радость or и and не подходит!!!!!!! Если and то ничего не выводит, так как id принимает только одно значение! а если or то выбирает имя любого из предложеных id в нашем случае первого... если первого не находит то второго и так далее!
(Добавление)
Монстр_11111 не хорошо редактировать свои сообщения если я уже ответил на них, я пользуюсь mysql_fetch_array
 
 Top
Монстр_11111
Отправлено: 19 Ноября, 2009 - 19:51:46
Post Id



Частый гость


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


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




Макс , было б не хорошо если б я не изменил его , то озадачил бы половину помогающих тебе .
Ты не правильно выводишь , запрос с or верный.
Посмотри результат echo count($твоя переменная);
(Добавление)
Выложи свой код с запросом и выводом

(Отредактировано автором: 19 Ноября, 2009 - 19:53:30)

 
 Top
Maksim337
Отправлено: 19 Ноября, 2009 - 19:54:53
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


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




PHP:
скопировать код в буфер обмена
  1. $select="SELECT * FROM `b` WHERE `id`='Petya' OR `id`='Maks' ";
  2.  $resource=mysql_query($select);
  3.  
  4. $data=mysql_fetch_array($resource,MYSQL_NUM);
  5.  
  6. echo '<pre>';
  7. print_r($data);
  8. echo '<pre>';


там смотри или or или and Радость

(Отредактировано автором: 19 Ноября, 2009 - 19:56:15)

 
 Top
Монстр_11111
Отправлено: 19 Ноября, 2009 - 20:06:18
Post Id



Частый гость


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


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




Максим , почему у тебя в запросе * если тебе имена нужны? И зачем иды через имена писать.
Вот по идее должно работать

PHP:
скопировать код в буфер обмена
  1. $query = mysql_query("SELECT `name` FROM `b` WHERE `id`='Petya' OR `id`='Maks';");
  2. while ($data = mysql_fetch_array($query))
  3. {
  4. echo $data['name'].'<br>';
  5. }

(Добавление)
И вместо mysql_fetch_array , используй один нужный тебе вид ( либ row либ assoc )
 
 Top
Maksim337
Отправлено: 19 Ноября, 2009 - 20:17:31
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


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




Монстр_11111 ну ты хоть сам пробовал что пишешь? там будет всеравно одно значение в масиве!
(Добавление)
Ё-мае народ помогите! Я ж говорю целый день просидел, и каждый метод перепробывал на практике.... фишка с and и or не катит, или как-то по другому надо или я не знаю...
Вот наткнулся на UNION... Только хотелось бы знать как в этом случае правильно и лучше для скорости обработки скрипта и нагрузке и т.д. и т.п.
 
 Top
OverNik
Отправлено: 19 Ноября, 2009 - 20:21:36
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1. $query = mysql_query("SELECT `name` FROM `b` WHERE `id`='Petya' OR `id`='Maks';");
  2. $data = mysql_fetch_array($query);
  3. do
  4. {
  5.   echo $data['name'].'<br>';
  6. }
  7. while($data = mysql_fetch_array($query));

а так?

(Отредактировано автором: 19 Ноября, 2009 - 20:23:17)

 
 Top
Maksim337
Отправлено: 19 Ноября, 2009 - 20:25:48
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


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




OverNik,Монстр_11111,Мелкий большое спасибо, понял в чем ошибка... Если что извините
 
 Top
OverNik
Отправлено: 19 Ноября, 2009 - 20:26:23
Post Id



Частый гость


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


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




оу, так нам хотя бы роскажи Улыбка
нашел и ушел.... Ха-ха
 
 Top
Maksim337
Отправлено: 19 Ноября, 2009 - 20:31:45
Post Id


Частый гость


Покинул форум
Сообщений всего: 255
Дата рег-ции: Июнь 2009  


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




да вы все правильно написали ребятаУлыбка я ступил с fetch_assoc
(Добавление)
Спасибо все очень помогли, просто благодаря вам понял что функции mysql_fetch_array n подобные возвращают строку результата, а не значения всего результата, я то выбирал раньше or , но выводил только одну строку...
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB