выборка из базы

dima4321

Новичок
есть такой запрос и он корректен



скопировать код в буфер обмена
$sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id`";



но ситуация такова :

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

т.е. таблица names--товар хлеб, в таблице история---- 2 записи с описанием.

дык вот хочу выбирать только первую запись. Если же нет записи то просто вывод товара

Там у меня разделение по page

и код должен быть таким:




скопировать код в буфер обмена
PHP:
$sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id` where page='1'";

Но не корректно..выдает ошибку..как сделать правильно, чтобы задать это условие.
 

fixxxer

К.О.
Партнер клуба
>>выдает ошибку

какую именно - это военная тайна?
 

dima4321

Новичок
вру ошибки то нет...

только нужен еще вывод и пустых товаров без описания ..а его нет..))

как сделать такое..?)
 

dima4321

Новичок
fixxxer
я же объяснил, товары выводятся ) ошибки нет. Тему читал уже давно давно..) спасибо )

Но запрос нужен такой, чтобы было и второе условие, которое подразумевает, что описаний может и не быть ))
а так он тупо собирает все страницы с page=1

таблица name
хлеб
молоко
соль

таблица history
описание хлеба 1
описание хлеба 2
описание молока 1

Как видишь соли нет

В мою результирующую таблицу я хочу поиметь

хлеб описиание 1
молоко описание 1
соль


пока что имею

хлеб описиание 1
молоко описание 1
 

zerkms

TDD infected
Команда форума
dima4321
У тебя ошибка не синтаксическая, а логическая.

если ошибки нет - значит код работает правильно и выдаёт правильные результаты.
 

dima4321

Новичок
[sql]$sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id` and history.page = '1' ";[/sql]

Вот чего я от вас ждал господа.
 

dima4321

Новичок
ссори за навязчивость.) Краснею как могу честно ))

появилась необходимость привязать еще одну таблицу , условие то же.

tracklist.text
names.`id`=tracklist.`name_id`






PHP:
 $sql="SELECT names.`name`, names.`style`, history.`text`, tracklist.`text` FROM names LEFT JOIN history, tracklist ON names.`id` = history.`name_id`=tracklist.`name_id` and history.page = '1' and tracklist.page='1' ";


Не корректно.

Пишет

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/t00t/www/site7/public_html/55/admina.php on line 58
 

zerkms

TDD infected
Команда форума
dima4321
phpdaq.ru/debug
Потрудись всё таки прочитать эту ссылку
 

dima4321

Новичок
Ура нагуглил

PHP:
 $sql="SELECT names.`name`, names.`style`, history.`text`, tracklist.`text_tracklist` FROM names 
  LEFT JOIN history ON names.`id` = history.`name_id` and history.page = '1'  
  LEFT JOIN tracklist ON names.`id` = tracklist.`name_id` and tracklist.page = '1'";
zerkms

echo mysql_errno() . ": " . mysql_error() . "\n";
Под 58 строкой ничего не дало.))
 

zerkms

TDD infected
Команда форума
dima4321
Потому что надо не бездумно копипастить, а понимать, что такое процесс отладки и как его нужно производить
 
Сверху