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]   

> Без описания
Itan
Отправлено: 22 Октября, 2011 - 18:03:15
Post Id


Частый гость


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


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




Здравствуйте! Подскажите, пожалуйста, как сделать.

Есть таблица в БД:
CODE (htmlphp):
скопировать код в буфер обмена
  1. +++++++++++++
  2. + id + mark +
  3. +++++++++++++
  4. + 1  + 100  +
  5. +++++++++++++
  6. + 2  + 200  +
  7. +++++++++++++
  8. + 3  + 500  +
  9. +++++++++++++
  10. + 4  + 50   +
  11. +++++++++++++
  12. + 5  + 10   +
  13. +++++++++++++


Я беру из базы данные примерно так: Взять id, где mark > 60.
И у меня получается примерно такой вывод: 1,2,3.

Теперь мне нужно взять из другой таблицы записи с такими id.
И я по идее должен написать так: Взять text где id=1 и id=2 и id=3.

Вопрос: как составить последний запрос, где требуется взять text, чтобы он работал независимо от количество id. Т.е. их может быть не 3, а 50. Или 1000. Т.е. мне нужно уместить все в один запрос, и я не знаю, как это сделать. Хелп!
 
 Top
Данил_123
Отправлено: 22 Октября, 2011 - 18:14:53
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


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




PHP:
скопировать код в буфер обмена
  1. $num=0;
  2. $query=mysql_query("SELECT * FROM `tablename` WHERE mark > 60");
  3. while($row=mysql_fetch_array($query));
  4. $num++;
  5. echo $num.$row['id']"."$row['mark'] '<br />';


Так? Внес поправки

(Отредактировано автором: 22 Октября, 2011 - 18:19:58)



-----
http://mysitecost.ru
 
 Top
DeepVarvar Супермодератор
Отправлено: 22 Октября, 2011 - 18:20:30
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Данил_123 = жесть...
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `text` FROM tbl2 WHERE id IN(1,3,45,6,4,8,77)

(Добавление)
Данил_123 пишет:
Кликай спасибо, будет приятно
Click yourself!!! Радость
 
 Top
Данил_123
Отправлено: 22 Октября, 2011 - 18:24:57
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


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




DeepVarvar пишет:
Данил_123 = жесть...
К чему?
DeepVarvar пишет:
Данил_123 пишет:
Кликай спасибо, будет приятно
Click yourself!!!
Я как понял так и сделал
(Добавление)
Собрал вывод из базы


-----
http://mysitecost.ru
 
 Top
Champion Супермодератор
Отправлено: 22 Октября, 2011 - 18:27:28
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Данил_123 пишет:
Кликай спасибо, будет приятно
Rjve приятно будет? Кликнувшему?)

Itan есть слово JOIN и есть слово SELECT FROM таблица2 WHERE id IN(SELECT id ... ваш запрос из 1 таблицы)
 
 Top
Данил_123
Отправлено: 22 Октября, 2011 - 18:29:33
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


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




Что вы прицепились к подписи..


-----
http://mysitecost.ru
 
 Top
Давит
Отправлено: 22 Октября, 2011 - 18:29:37
Post Id



Частый гость


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


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




CODE (SQL):
скопировать код в буфер обмена
  1. $sql = "SELECT  table_name1.mark,  table_name2.text
  2.                FROM ` table_name1`
  3.                INNER JOIN  table_name2
  4.                ON  table_name1.id = table_name2.id
  5.                 WHERE table_name1.mark > 60";



http://mysql.ru/docs/man/JOIN.html

(Отредактировано автором: 22 Октября, 2011 - 18:29:52)

 
 Top
Данил_123
Отправлено: 22 Октября, 2011 - 18:29:54
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


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




Если помог кликнул, сложно?


-----
http://mysitecost.ru
 
 Top
DeepVarvar Супермодератор
Отправлено: 22 Октября, 2011 - 18:31:05
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Данил_123 пишет:
Если помог кликнул, сложно?
Казнить нельзя помиловать
 
 Top
Данил_123
Отправлено: 22 Октября, 2011 - 18:31:28
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


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




Вот что значит не читая вопрос ответить


-----
http://mysitecost.ru
 
 Top
Itan
Отправлено: 22 Октября, 2011 - 18:58:12
Post Id


Частый гость


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


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




Спасибо! Попробую вариант с IN.

Посмотрите еще, пожалуйста, мою другую тему, тоже про БД.
http://forum.php.su/topic.php?fo...8&topic=4033
 
 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