Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2013, 14:51
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

Выборка из базы на основании результата выборки
Подскажите, необходимо выполнить выборку из определенной таблицы базы данных по уже имеющемуся значению этой же таблицы:

выполняю выборку из базы данных из одной таблицы вот так:
$dbl = mysql_connect('база','логин','пароль'); 
mysql_select_db('база',$dbl);
 $query5 = mysql_query("SELECT option_value_ru, productID FROM `SC_product_options_values` ",$dbl);
 $result = mysql_fetch_array($query5);
 echo $result['productID'];


выводится productID,
теперь мне надо выполнить выборку из другой таблицы этой же базы, вывести значение price, по уже имеющемуся productID.

Пробовал вот так:
$query5 = mysql_query("SELECT price FROM `SC_products`",$dbl);
$result = mysql_fetch_array($query5);
echo $result['price'];


оно выводит значение но не могу их синхронизировал, что бы вторая выборка производилась на основе значения 1 выборки?????
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2013, 14:56
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

SELECT
`SC_product_options_values`.`option_value_ru`,
`SC_product_options_values`.`productID`,
`SC_products`.`price`
FROM
`SC_product_options_values`
LEEFT JOIN
`SC_products`
ON
`SC_products`.`ID` = `SC_product_options_values`.`productID`

Как то так. Только там где `SC_products`.`ID` - укажите правильное названия поля в котором хранится id.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2013, 15:03
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

То есть вот так:
$query5 = mysql_query("SELECT `SC_product_options_values`.`option_value_ru`, `SC_product_options_values`.`productID`,`SC_products`.`price` 
FROM `SC_product_options_values` LEEFT JOIN `SC_products` 
ON `SC_products`.`ID` = `SC_product_options_values`.`productID`",$dbl);
$result = mysql_fetch_array($query5);
echo $result['price'];
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2013, 15:17
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

Чего та не получается
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2013, 15:22
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от djonA
Чего та не получается
Ну как бы это не о чем не говорит))

Первым делом какая ошибка у вас выскакивает (если таковая имеется).
Во вторых упрощенный пример структуры двух таблиц было бы хорошо увидеть.

И на всякий случай спрошу, не забыли про:
Сообщение от walik
Только там где `SC_products`.`ID` - укажите правильное названия поля в котором хранится id.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #6 (permalink)  
Старый 24.02.2013, 15:25
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /poisk.php on line 15

т.е вот тут $result = mysql_fetch_array($query5);
выскакивает вот такое


Вот структура таблицы:
таблица `SC_products` (`productID`, `categoryID`, `customers_rating`, `Price`, `in_stock`)

таблица `SC_product_options_values` (`optionID`, `productID`, `option_type`, `option_show_times`, `variantID`, `option_value_ru`)
Ответить с цитированием
  #7 (permalink)  
Старый 24.02.2013, 15:30
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Попробуйте перед $result = mysql_fetch_array($query5);
поставить:
if (!$query5) {
die('Неверный запрос: ' . mysql_error());
}

Так как вполне возможно что ошибка в запросе самом
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #8 (permalink)  
Старый 24.02.2013, 15:32
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

Пишет Неверный запрос: Unknown column 'SC_products' in 'on clause'
Ответить с цитированием
  #9 (permalink)  
Старый 24.02.2013, 15:38
Профессор
Отправить личное сообщение для djonA Посмотреть профиль Найти все сообщения от djonA
 
Регистрация: 02.05.2012
Сообщений: 197

Т.е еще раз я выбираю из таблицы `SC_product_options_values` значение option_value_ru, productID и получаю занчение productID.

Кстати выборка запускается через
<form method="post" action="poisk.php">
<input type="text" name="option_value_ru">
<input type="submit" value="Отправить">
</form>



получается productID - скажем 11111

Теперь мне надо вывести price из другой таблицы: `SC_products` для товара с productID из 1 выборки т.е с ID - 11111
Ответить с цитированием
  #10 (permalink)  
Старый 24.02.2013, 15:48
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Скорее всего, ошибка была в том что я опечатался. Там в запросе есть LEEFT . Одну букву Е надо убрать.

Кроме того не забудте поменять `SC_products`.`ID` на `SC_products`.`productID`

Короче запрос должен быть таким:
SELECT
`SC_product_options_values`.`option_value_ru`,
`SC_product_options_values`.`productID`,
`SC_products`.`price`
FROM
`SC_product_options_values`
LEFT JOIN
`SC_products`
ON
`SC_products`.`productID` = `SC_product_options_values`.`productID`

Сообщение от djonA
я выбираю из таблицы `SC_product_options_values` значение option_value_ru, productID и получаю занчение productID
Я вам предложил вариант, в котором, предполагается что все будет выполнено одним запросом (второго не надо будет)
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск