Запрос к Mysql

S
На сайте с 14.05.2008
Offline
30
459

Вот имеется переменная, допустим $r = "1,3,7";

И имеется база данных, в которой есть таблица.

Мне надо вытащить 3 строки с этой таблицы одним запросом.

id строки 1,3,7.

как это сделать?

Видео тренинги для Всех (http://www.video-trenings.ru) - Большой выбор видео тренгов
Stolz
На сайте с 25.01.2007
Offline
177
#1

Здесь есть два варианта:

1. Подумать и написать строковое выражение из explode + implode.

2. Обратиться на форум по php, где помогут.

В любом случае на мой взгляд это лучше, чем спрашивать такие вещи здесь

[Удален]
#2

select * from table where field in($r)

rammlied
На сайте с 13.04.2011
Offline
56
#3

какая корявая у вас переменная... сделали бы чтоли массив.

А так да, делаете експлоуд, потом в цикле формируете запросную строку и выполняете ее.

делаю СДЛы, получаются ГСы )
[Удален]
#4
rammlied:
какая корявая у вас переменная... сделали бы чтоли массив.
А так да, делаете експлоуд, потом в цикле формируете запросную строку и выполняете ее.

Нафика делать "експлоуд", если, в приведенном примере, строка уже сформирована как надо?

S
На сайте с 14.05.2008
Offline
30
#5

не работает select * from table where field in($r)

[Удален]
#6

Я как пример привел данный запрос. На основе него напишите свой с указанием нужных вам таблицы и поля. Так же нужно подключиться к БД. Так же запрос должен быть в двойных кавычках.

S
На сайте с 14.05.2008
Offline
30
#7

это понятно и всё сделано.

$result1 = mysql_query("SELECT id,product,comment FROM credit_ur_msp where field in($r)");

if (mysql_num_rows($result1)>0)

{

while ($v = mysql_fetch_assoc($result1))

{

$out = $v[product];

}

но не работает.

[Удален]
#8

попробуйте так:

$result1 = mysql_query("SELECT id,product,comment FROM credit_ur_msp where id in($r)") or die(mysql_error());

S
На сайте с 14.05.2008
Offline
30
#9

так заработало, спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий