Есть две таблицы. Первая таблица: id, name, last_name
Вторая таблица: id, photo1, photo2.
Мне нужно выбрать из первой таблицы id и по этмоу id выбрать поля photo1, photo2 из второй таблицы.
В сложных запросах в БД я не силен, вот хочу научиться.
Подскажите пожалуйста
Спустя 9 минут, 44 секунды (30.06.2011 - 19:49) alex12060 написал(а):
SELECT table2.photo1, table2.photo2, table1.id AS id_1, table2.id AS id_2
LEFT JOIN `table2` ON table1.id = table2
Вот так вроде.
Спустя 42 минуты, 39 секунд (30.06.2011 - 20:31) DZHETIGAPA написал(а):
А если так:
'SELECT t1.*, t3.photo1, t3.photo2 FROM table1 t1 LEFT JOIN table2 t3
Так не подойдет?
'SELECT t1.*, t3.photo1, t3.photo2 FROM table1 t1 LEFT JOIN table2 t3
Так не подойдет?
Спустя 4 минуты, 24 секунды (30.06.2011 - 20:36) alex12060 написал(а):
DZHETIGAPA
Я откуда Пушкин? Проверь)
Я откуда Пушкин? Проверь)
Спустя 2 минуты, 59 секунд (30.06.2011 - 20:39) Winston написал(а):
Меня улыбают люди которые вместо того чтобы сразу проверить, задают вопрос и ждут минуты пока кто-то ответит

Спустя 1 час, 42 минуты, 42 секунды (30.06.2011 - 22:21) DZHETIGAPA написал(а):
Если бы моя проверка заключалась в тупом делании запроса, то проблем бы не было:)
Это корректирую модуль одной админки и причина ошибки была непонятна, так как там кроме запросов еще куча всего корректировал. Поэтмоу сюда и пришел, чтобы уточнить.
Щас уже разобрался, запрос изначально был правильный. Ошибка была в другом.
Это корректирую модуль одной админки и причина ошибки была непонятна, так как там кроме запросов еще куча всего корректировал. Поэтмоу сюда и пришел, чтобы уточнить.
Щас уже разобрался, запрос изначально был правильный. Ошибка была в другом.
Спустя 16 часов, 52 минуты, 36 секунд (1.07.2011 - 15:14) DZHETIGAPA написал(а):
Помогите еще пожалуйста с запросом. А то уже не знаю, что и придумать.
Есть три таблицы вида:
Первая: customerID, itemID, Quantity
Вторая: itemID, productID
Третья: itemID, variantID
И так, что мне нужно сделать. Мне нужно определить itemID для конкретного запроса и удалить все строки из таблиц, где есть itemID равный найденнмоу
Вот моя логика:
Уже часа 2 мучаюсь и не могу понять, почему не удаляются нужный даныне в нужных таблицах.
Подскажите, гед мой косяк. Заранее благодарен.
Есть три таблицы вида:
Первая: customerID, itemID, Quantity
Вторая: itemID, productID
Третья: itemID, variantID
И так, что мне нужно сделать. Мне нужно определить itemID для конкретного запроса и удалить все строки из таблиц, где есть itemID равный найденнмоу
Вот моя логика:
$getID = $_GET['id'];
$getProduct = $_GET['productID'];
//////////////Нахожу itemID для запроса
$sql=mysql_query("SELECT table2.itemID FROM table2
LEFT JOIN table1 ON table2.itemID = table1.itemID
WHERE table2.productID='$getProduct' AND table1.customerID='2'");
$r=db_fetch_assoc($sql);
$itemID = $r['itemID'];
//Теперь удаляю
mysql_query("DELETE table1.*, table2.*, table3.* FROM table1, table2, table3
WHERE table1.customerID='2' AND table1.itemID='$itemID' AND table2.itemID='$itemID' AND table3.itemID='$itemID'");
Уже часа 2 мучаюсь и не могу понять, почему не удаляются нужный даныне в нужных таблицах.
Подскажите, гед мой косяк. Заранее благодарен.
Спустя 22 минуты, 58 секунд (1.07.2011 - 15:37) DZHETIGAPA написал(а):
Ошибка явно где-то тут
$sql=mysql_query("SELECT table2.itemID FROM table2
LEFT JOIN table1 ON table2.itemID = table1.itemID
WHERE table2.productID='$getProduct' AND table1.customerID='2'");
$r=db_fetch_assoc($sql);
$itemID = $r['itemID'];
Спустя 9 минут, 42 секунды (1.07.2011 - 15:47) Winston написал(а):
Попробуй заменить такую подставку переменных
Цитата (DZHETIGAPA @ 1.07.2011 - 15:14) |
productID='$getProduct' |
На
productID='".$getProduct."'
Спустя 11 минут, 30 секунд (1.07.2011 - 15:58) DZHETIGAPA написал(а):
Попробую, но думаю, что дело не в этом. Ведь везде такая строка работает:
productID='$getProduct'
productID='$getProduct'
Спустя 2 минуты, 24 секунды (1.07.2011 - 16:01) DZHETIGAPA написал(а):
Проверил. Никаких изменений
Спустя 1 минута, 1 секунда (1.07.2011 - 16:02) kristall написал(а):
Цитата (PHPprogramer @ 1.07.2011 - 16:47) | ||
Попробуй заменить такую подставку переменных
На productID='".$getProduct."' |
Проще переменную в фигурные скобки брать, меньше шансов запутаться в точках и кавычках:
"WHERE table2.productID='{$getProduct}' AND table1.customerID='2'");
Но сдесь дело не в синтаксисе, обычно такие проблемы лишь при вставке элементов ассоциативных массивов вылезают.
Сделай print_r($r), посмотри, что первый запрос выбирает.
Спустя 6 минут, 5 секунд (1.07.2011 - 16:08) DZHETIGAPA написал(а):
Ничего не выводит. Пустота.
Спустя 2 минуты, 59 секунд (1.07.2011 - 16:11) DZHETIGAPA написал(а):
Скорее всего понял, в чем моя ошибка. Спасибо за помощь!
Хотя нет... не понял.... не прокатило...
Хотя нет... не понял.... не прокатило...
Спустя 6 минут, 32 секунды (1.07.2011 - 16:17) killer8080 написал(а):
DZHETIGAPA
между DELETE и FROM не нужно ничего писать
между DELETE и FROM не нужно ничего писать
mysql_query("DELETE FROM table1, table2, table3
WHERE table1.customerID='2' AND table1.itemID='$itemID' AND table2.itemID='$itemID' AND table3.itemID='$itemID'");
Спустя 3 минуты, 31 секунда (1.07.2011 - 16:21) DZHETIGAPA написал(а):
С DELETE как раз проблем нет - проверял. Вместо $itemID подставлял конкретные цифры - все работает.
Спустя 1 минута, 20 секунд (1.07.2011 - 16:22) killer8080 написал(а):
хотя пардон наверно нельзя так удалять сразу из трёх таблиц одним запросом, наверно правильно будет так
mysql_query("DELETE FROM `table1` WHERE `customerID`='2' AND `itemID`='$itemID' ");
mysql_query("DELETE FROM `table2` WHERE `itemID`='$itemID'");
mysql_query("DELETE FROM `table3` WHERE `itemID`='$itemID'");
Спустя 2 минуты, 59 секунд (1.07.2011 - 16:25) DZHETIGAPA написал(а):
Я думаю, что можно:)
Тут весь мой косяк где-то в самом верхенм запросе и переменной, которая обрабатывает этот запрос.
Тут весь мой косяк где-то в самом верхенм запросе и переменной, которая обрабатывает этот запрос.
Спустя 4 минуты, 30 секунд (1.07.2011 - 16:29) perovo_mike написал(а):
Нужна помощь вольному художнику.. Я вообще-то человек русующий - книжки, фотошоп, иллюстратор, знаю HTML а вот с PHP руки не доходят. Сам поставил доску объявлений, неделю мучился, но поставил. А вот с мета тагами ничего не получается, я пробовал 1251 и другие таги засунул их все в одну дыру, все-равно показывает абракадабру вместо кириллицы.. Семен говорит это дело в настройке БД. Посмотрите, пожалуйста, может скажете, что делать
www.moscowmiami.com/classifieds/
www.moscowmiami.com/classifieds/
Спустя 30 минут, 52 секунды (1.07.2011 - 17:00) DZHETIGAPA написал(а):
Сделал проверку
Выводит ЛОЖЬ! И в чем тогда дело?
if($sql) print "ИСТИНА";
else print "ЛОЖЬ";
Выводит ЛОЖЬ! И в чем тогда дело?
Спустя 26 минут, 20 секунд (1.07.2011 - 17:27) killer8080 написал(а):
Цитата (DZHETIGAPA @ 1.07.2011 - 17:00) |
Выводит ЛОЖЬ! И в чем тогда дело? |
ну вообще такого не должно быть, mysql_query возвращает false только если не удалось отправить запрос серверу БД.
какие то больно мудрёные запросы получаются, а если так попробовать?
$sql=mysql_query("SELECT `t2`.`itemID` FROM `table2` AS `t2`, `table1` AS `t1`
WHERE `t2.itemID` = `t1`.`itemID` AND `t2`.`productID`='$getProduct' AND `t1`.`customerID`='2'");
Спустя 1 час, 58 минут, 11 секунд (1.07.2011 - 19:25) DZHETIGAPA написал(а):
Короче. Решил проблемы. БЫло два косяка. Первй одан маленкьая синтаксичная ошибка и +mysql_fetch_array вместо db_fetch_assoc
Спустя 5 минут, 21 секунда (1.07.2011 - 19:30) DZHETIGAPA написал(а):
У меян вознки вопрос. Вот табличка: itemID, productID
Делаю простой запрос INSERT. Как сделать так, чтобы, если новый добавляемый productID равен одному из значений productID в таблице, то происходит просто обновленеи этой строки?
Я конечно могу нагородить кучу запросов и проверить. Но может как-нибудь проще можно?
Делаю простой запрос INSERT. Как сделать так, чтобы, если новый добавляемый productID равен одному из значений productID в таблице, то происходит просто обновленеи этой строки?
Я конечно могу нагородить кучу запросов и проверить. Но может как-нибудь проще можно?