|
|
|
| Дамп таблицы 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:06)
| | Нет ни у кого предложений? | |
|
|
|
|
|
|
|
для: kis-kis
(29.10.2007 в 13:52)
| | Следующая это какая - $catalog[category]+1 ? | |
|
|
|
|
|
|
|
для: sim5
(29.10.2007 в 14:33)
| | В данном случае у строки таблицы с id=26 категории равны '17,18' | |
|
|
|
|
|
|
|
для: kis-kis
(29.10.2007 в 14:49)
| | Лучше таблицы построить более удобнее в таком случае. Но если так как у вас, то вы хотя бы получите эти 17 и 18 (explode() самое простое), а уж потом делайте запрос для id=17 and id=18. | |
|
|
|
|
|
|
|
для: sim5
(29.10.2007 в 15:00)
| | А как тогда будет выглядеть запрос?
А как бы удобнее сделали Вы? )) | |
|
|
|
|
|
|
|
для: kis-kis
(29.10.2007 в 15:11)
| | WHERE id=$n[0] and id=$n[1], например, если $n = explode($catalog).
Ну таблица cat_catalog имела бы поле, которое бы указывало категориям этой таблицы id родительской категории из таблицы catalog. А у вас наоборот, да еще ввиде строки, что затрудняет редактирование (добаление/изменение), а также поиск. Да и не только это, видимо, бы не так сделал. Подумайте сами, опираясь на то, что вам потребуется получать при запросах к базе. | |
|
|
|
|
|
|
|
для: sim5
(29.10.2007 в 15:34)
| | А можно ли сделать универсальный запрос, т.к. некоторые данные в таблице имеют по две категории, некоторые по три, а некоторые всего 1? Спасибо. | |
|
|
|
|
|
|
|
для: kis-kis
(29.10.2007 в 15:47)
| | Универсальный это как, на все случаи жизни?) Читайте о MySQL, электронные издания или не пожалейте денег и купите - М. Кузнецов, И. Симдянов "MySQL 5", если конечно хотите знать. Я такую приобрел на www.ozon.ru. В MySQL существует оператор JOIN, с помощью которого можно объденить таблицы при запросе. Но у вас мягко выражаясь не удобно составлены сами таблицы. Продумайте сперва лучше их содержание, а уж потом... | |
|
|
|
|
|
|
|
для: kis-kis
(29.10.2007 в 15:11)
| | Старый Боян! :) | |
|
|
|