[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Результаты запроса
tureg1
Ребята, ломаю голову никак не могу догнать

Есть запрос MySQL

$query_pot = mysql_query("SELECT * FROM `potoks` WHERE `ad_id`='$ad_id'");


Сама таблица potoks состоит из двух полей: id и ad_id

Этот запрос находит все id к с параметром ad_id. Так вот, этих id может быть два, три или к примеру вообще один. Количество id может быть разным.

Допустим id оказалось два: 156 и 157.

Вопрос вот в чем. Нужно составить запрос, который в другой таблице t2 возвратит в массив те строки, которые будут соответствовать тем двум id найденным в таблице potoks.

t2 содержит поля:
id, id_potok (этот параметр, который вытащен из первого запроса), sms

Как составить такой запрос, если заранее не известно чему должен быть равен id_potok, а тем более значений может быть несколько?




Спустя 1 час, 12 минут, 51 секунда (17.09.2012 - 20:18) TranceIT написал(а):
Из ИД составляем строку и запрос делаем вот так:

SELECT * FROM potoks WHERE ad_id IN ($ad_id)

Спустя 11 часов, 41 минута, 11 секунд (18.09.2012 - 07:59) tureg1 написал(а):
Цитата (TranceIT @ 17.09.2012 - 17:18)
Из ИД составляем строку и запрос делаем вот так:

SELECT * FROM potoks WHERE ad_id IN ($ad_id)

для чего? ведь и моим запросом возвращаются значения. Непонимаю?

вопрос в другом, как из другой таблицы возвратить в массив строки по этим двум параметрам?

Спустя 8 минут, 16 секунд (18.09.2012 - 08:07) GET написал(а):
$query_pot = mysql_query("SELECT t2.id FROM `t2` INNER JOIN `potoks` ON t2.id=potoks.id AND potoks.ad_id='".$ad_id"'");

?

Спустя 39 минут, 11 секунд (18.09.2012 - 08:47) tureg1 написал(а):
Цитата (A.B.C. @ 18.09.2012 - 05:07)
$query_pot = mysql_query("SELECT t2.id FROM `t2` INNER JOIN `potoks` ON t2.id=potoks.id AND potoks.ad_id='".$ad_id"'");

?

понять не могу почему этот запрос возвращает только id из t2, а остальные поля не возвращает?


$query_pot1 = mysql_query("SELECT t2.id FROM `t2` INNER JOIN `potoks` ON t2.id=potoks.id AND potoks.ad_id='".$ad_id."'");
while($row_pot1=mysql_fetch_array($query_pot1)) {
echo "

$row_pot1[id]
$row_pot1[sms]



";

Спустя 1 минута, 58 секунд (18.09.2012 - 08:49) GET написал(а):
Цитата
онять не могу почему этот запрос возвращает только id из t2


Цитата
"SELECT t2.id FROM `t2`



поправка:)
SELECT t2.id,t2.sms FROM `t2`

Спустя 5 минут, 24 секунды (18.09.2012 - 08:54) tureg1 написал(а):
то есть в селекте как я понял мы перечисляем какие поля и из какой таблицы мы вибираем? smile.gif

Спустя 10 минут, 58 секунд (18.09.2012 - 09:05) GET написал(а):
tureg1

Да...т.к. названия полей могут совпадать например id, то надо писать t2.id указывая mysql, что интересует именно id из таблицы t2. Вот здесь к примеру без указания таблиц не обойтись никак:t2.id=potoks.id

Спустя 6 минут, 18 секунд (18.09.2012 - 09:11) tureg1 написал(а):
получилось не то, что мне нужно, сейчас нарисую всю схему и выложу, потому как на словах это объяснить не получается =/

Спустя 20 минут, 45 секунд (18.09.2012 - 09:32) tureg1 написал(а):
user posted image

Нарисовал всю схему smile.gif
так вот как выдернуть из второй таблицы эти значения, как подсказывает A.B.C. - возвращает в массив, вообще не то что нужно

Спустя 14 минут, 25 секунд (18.09.2012 - 09:46) tureg1 написал(а):
хотя, сейчас попробую другую схему smile.gif

Спустя 19 минут, 10 секунд (18.09.2012 - 10:06) GET написал(а):
$query_pot = mysql_query("SELECT SUM (t2.sms) AS `sms`, SUM (t2.stoimost) AS `stoimost`  FROM `t2` INNER JOIN `potoks` ON t2.id=potoks.id AND potoks.ad_id='".$ad_id"'");

Спустя 1 час, 4 минуты, 59 секунд (18.09.2012 - 11:11) Shuriken написал(а):
можно ещё использовать вложеный запрос:

$query_pot = mysql_query("select * 
from t2
where id_potok in
(SELECT id
FROM `potoks`
WHERE `ad_id`='"
.$ad_id."'"));

Спустя 1 день, 2 часа, 36 минут (19.09.2012 - 13:47) tureg1 написал(а):
A.B.C. воспользовался твоим запросом, скрипт жалуется на строчку


while ($row_pot = mysql_fetch_row($query_pot)) //------------ на эту
{
echo "$row_pot[0]";
}



Пишет:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in Z:\home\pp\www\pages\static\index.php on line 62

то есть как я понимаю, нужно правильно возвратить эти данные? тогда какой командой это сделать?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.