Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с выводом из базы данных
 
 автор: kis-kis   (29.10.2007 в 13:06)   письмо автору
 
 

Дамп таблицы catalog

INSERT INTO `catalog` VALUES (26, '17,18', 'Золотая рыбка', '', '', '', 'ул. Интернациональная, 36', '47-05-27', '', 0, 0);

Дамп таблицы cat_catalog

INSERT INTO `cat_catalog` VALUES (16, 'Рестораны', 'restaurants', 3);
INSERT INTO `cat_catalog` VALUES (17, 'Бары', 'bars', 3);
INSERT INTO `cat_catalog` VALUES (18, 'Кафе', 'cafes', 3);
INSERT INTO `cat_catalog` VALUES (19, 'Кофейни', 'coffee_houses', 3);
INSERT INTO `cat_catalog` VALUES (20, 'Бассейны', '', 1);
INSERT INTO `cat_catalog` VALUES (21, 'Пиццерии', 'pizzerias', 3);
INSERT INTO `cat_catalog` VALUES (22, 'Бани', '', 4);
INSERT INTO `cat_catalog` VALUES (23, 'Туризм', '', 4);
INSERT INTO `cat_catalog` VALUES (24, 'Салоны красоты', '', 4);
INSERT INTO `cat_catalog` VALUES (25, 'Стадионы', '', 1);
INSERT INTO `cat_catalog` VALUES (26, 'Детям', 'kids', 3);
INSERT INTO `cat_catalog` VALUES (27, 'Кондитерские', 'confectionery', 3);
INSERT INTO `cat_catalog` VALUES (28, 'Чайные', 'tea_houses', 3);
INSERT INTO `cat_catalog` VALUES (29, 'Пабы', 'pubs', 3);


Вот вывод:


$query_cat = "SELECT * FROM catalog where id='26'";
$result_cat=mysql_query($query_cat) or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
if (mysql_num_rows($result_cat)!=0)

while($catalog = mysql_fetch_array($result_cat))
{
$resultc=mysql_query("SELECT * FROM cat_catalog WHERE id = '$catalog[category]'") or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
$cat = mysql_fetch_array($resultc);
echo "".$catalog['title']."<br>".$cat['name']."";
}
}


А как сделать чтобы вывелось название 2 категорий через запятую, т.к. в моем случае выводится только первая? Спасибо.

   
 
 автор: kis-kis   (29.10.2007 в 13:52)   письмо автору
 
   для: kis-kis   (29.10.2007 в 13:06)
 

Нет ни у кого предложений?

   
 
 автор: sim5   (29.10.2007 в 14:33)   письмо автору
 
   для: kis-kis   (29.10.2007 в 13:52)
 

Следующая это какая - $catalog[category]+1 ?

   
 
 автор: kis-kis   (29.10.2007 в 14:49)   письмо автору
 
   для: sim5   (29.10.2007 в 14:33)
 

В данном случае у строки таблицы с id=26 категории равны '17,18'

   
 
 автор: sim5   (29.10.2007 в 15:00)   письмо автору
 
   для: kis-kis   (29.10.2007 в 14:49)
 

Лучше таблицы построить более удобнее в таком случае. Но если так как у вас, то вы хотя бы получите эти 17 и 18 (explode() самое простое), а уж потом делайте запрос для id=17 and id=18.

   
 
 автор: kis-kis   (29.10.2007 в 15:11)   письмо автору
 
   для: sim5   (29.10.2007 в 15:00)
 

А как тогда будет выглядеть запрос?

А как бы удобнее сделали Вы? ))

   
 
 автор: sim5   (29.10.2007 в 15:34)   письмо автору
 
   для: kis-kis   (29.10.2007 в 15:11)
 

WHERE id=$n[0] and id=$n[1], например, если $n = explode($catalog).
Ну таблица cat_catalog имела бы поле, которое бы указывало категориям этой таблицы id родительской категории из таблицы catalog. А у вас наоборот, да еще ввиде строки, что затрудняет редактирование (добаление/изменение), а также поиск. Да и не только это, видимо, бы не так сделал. Подумайте сами, опираясь на то, что вам потребуется получать при запросах к базе.

   
 
 автор: kis-kis   (29.10.2007 в 15:47)   письмо автору
 
   для: sim5   (29.10.2007 в 15:34)
 

А можно ли сделать универсальный запрос, т.к. некоторые данные в таблице имеют по две категории, некоторые по три, а некоторые всего 1? Спасибо.

   
 
 автор: sim5   (29.10.2007 в 16:14)   письмо автору
 
   для: kis-kis   (29.10.2007 в 15:47)
 

Универсальный это как, на все случаи жизни?) Читайте о MySQL, электронные издания или не пожалейте денег и купите - М. Кузнецов, И. Симдянов "MySQL 5", если конечно хотите знать. Я такую приобрел на www.ozon.ru. В MySQL существует оператор JOIN, с помощью которого можно объденить таблицы при запросе. Но у вас мягко выражаясь не удобно составлены сами таблицы. Продумайте сперва лучше их содержание, а уж потом...

   
 
 автор: oradev   (29.10.2007 в 15:48)   письмо автору
 
   для: kis-kis   (29.10.2007 в 15:11)
 

Старый Боян! :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования