$sql = "SELECT name,style FROM names ";
$data = mysql_query($sql);
while($row=mysql_fetch_assoc($data))
{
echo $row['name'];
echo '<br>';
}
а как составить запрос сразу к двум таблицам.
т.е. есть еще таблица about и в ней столбик text
хочу вывести сразу значения из первой и второй таблицы в одном массиве.
Запрос типа:
$sql = "SELECT name,style,t ext FROM names,about ";
Как правильно составить ??
Спустя 1 минута, 49 секунд (19.02.2011 - 14:44) dima4321 написал(а):
ах да забыл условие:
id в таблице names = name_id в таблице about
id в таблице names = name_id в таблице about
Спустя 41 минута, 46 секунд (19.02.2011 - 15:26) T1grOK написал(а):
SELECT names.`name`, names.`style`, about.`text ` FROM names, about WHERE names.`name_id` = about.`name_id`
Спустя 40 минут, 38 секунд (19.02.2011 - 16:07) dima4321 написал(а):
Не не получается ...
В итоге сделал так, но есть косяк:
Итог выводит из таблицы name только те продукты, для которых существуют значения в таблице history.
Нужно сделать так, чтобы выводились все пункты из таблицы name. Там где для данного name не существует значения в таблице history - нужно , чтобы значение name выводилось, а из history будет пустота cоотво-о .
Нужно сделать все в одном запросе. Т.к. работаю сразу с одним массивом.
В итоге сделал так, но есть косяк:
$sql="SELECT `name`, `style`, `text` FROM `names` INNER JOIN `history` ON `name_id` = `names`.`id` WHERE `page` = '1'";
Итог выводит из таблицы name только те продукты, для которых существуют значения в таблице history.
Нужно сделать так, чтобы выводились все пункты из таблицы name. Там где для данного name не существует значения в таблице history - нужно , чтобы значение name выводилось, а из history будет пустота cоотво-о .
Нужно сделать все в одном запросе. Т.к. работаю сразу с одним массивом.
Спустя 43 минуты, 34 секунды (19.02.2011 - 16:50) T1grOK написал(а):
Так нужно было сразу объяснять.
SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id`
Спустя 12 минут, 33 секунды (19.02.2011 - 17:03) dima4321 написал(а):
T1grOK
Спасибо большое ). Твой запрос выводит все.
В принципе можно было бы и оставить , но если ты обратил внимание в таблице history контент выводится по страницам.
мое условие было WHERE `page` = '1' на таблицу history
Как его привязать иначе некоторые имена выскакивают по 2-3 раза.
Спасибо большое ). Твой запрос выводит все.
В принципе можно было бы и оставить , но если ты обратил внимание в таблице history контент выводится по страницам.
мое условие было WHERE `page` = '1' на таблицу history
Как его привязать иначе некоторые имена выскакивают по 2-3 раза.
Спустя 10 минут, 53 секунды (19.02.2011 - 17:14) T1grOK написал(а):
То есть, у тебя для одной записи из первой таблицы, может быть несколько записей из второй?
Спустя 40 минут, 33 секунды (19.02.2011 - 17:54) dima4321 написал(а):
Да все верно.
Поэтому была и создана вторая таблица.
Т.е. например товар хлеб
а вторая таблица в ней 2 страницы с описанием хлеб. которые сслыаются на один id .
фактически вторая таблица такого вида
хлеб стр 1
хлеб стр2
пиво стр1
Мне нужно чтобы ввыводился хлеб с описанием первой страницы
Пробую так
но некорректно..есть еще варианты ??)
Поэтому была и создана вторая таблица.
Т.е. например товар хлеб
а вторая таблица в ней 2 страницы с описанием хлеб. которые сслыаются на один id .
фактически вторая таблица такого вида
хлеб стр 1
хлеб стр2
пиво стр1
Мне нужно чтобы ввыводился хлеб с описанием первой страницы
Пробую так
$sql="SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id` history.page = 1";
но некорректно..есть еще варианты ??)
Спустя 1 час, 30 минут, 7 секунд (19.02.2011 - 19:24) dima4321 написал(а):
Ау ??))
запрос нужен такой, чтобы было и второе условие, которое подразумевает, что описаний может и не быть ))
а так он тупо собирает все страницы с page=1
таблица name
хлеб
молоко
соль
таблица history
описание хлеба 1
описание хлеба 2
описание молока 1
Как видишь соли нет
В мою результирующую таблицу я хочу поиметь
хлеб описиание 1
молоко описание 1
соль
пока что имею
хлеб описиание 1
молоко описание 1
запрос нужен такой, чтобы было и второе условие, которое подразумевает, что описаний может и не быть ))
а так он тупо собирает все страницы с page=1
таблица name
хлеб
молоко
соль
таблица history
описание хлеба 1
описание хлеба 2
описание молока 1
Как видишь соли нет
В мою результирующую таблицу я хочу поиметь
хлеб описиание 1
молоко описание 1
соль
пока что имею
хлеб описиание 1
молоко описание 1
Спустя 32 минуты, 52 секунды (19.02.2011 - 19:57) T1grOK написал(а):
SELECT names.`name`, names.`style`, history.`text` FROM names LEFT JOIN history ON names.`id` = history.`name_id` AND history.`page` = 1
Спустя 14 часов, 20 минут, 46 секунд (20.02.2011 - 10:18) dima4321 написал(а):
Да ты прав ) вчера на другом форуме подсказали ))
не хватало только and ))
не хватало только and ))
Спустя 4 часа, 52 минуты, 31 секунда (20.02.2011 - 15:10) m4a1fox написал(а):
А не проще делать еще один запрос. Насколько я понял, сначала автор делает запрос к одной таблице в БД, а затьем ориентируясь на выборку из оной, я считаю, можно сделать и второй запрос ко второй таблице из этой же БД. То есть по сути - запрос в запросе, только с другими переменными.
Спустя 4 часа, 28 минут, 33 секунды (20.02.2011 - 19:39) dima4321 написал(а):
мне нужен один результирующий массив, так как данные я в цикле вывожу в таблицу.
_____________
Работаю за еду ! __))
И за плюсики !