php каталог

Onik

Новичок
php каталог

PHP:
<?php

$cat=(int)$_GET['Cat2']; //yoi id eaoaai?ee
$cat1=(int)$_GET['Cat3']; //yoi id eaoaai?ee

include ("connect.inc");
mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error());
mysql_select_db($DB_NAME) or die (mysql_error());

//Aaeaai ia?aue cai?in e aaca, iieo?aai iannea n oiaa?aie aaiiie eaoaai?ee

$result=array();

if (!empty($cat))
{
$result = mysql_query("SELECT * FROM Cat2 WHERE Cat2=$cat  ORDER BY Namecat2");
$r = mysql_query("SELECT * FROM Cat3 WHERE Cat3=$cat  ORDER BY NAME");
}
$r=array();
if (!empty($cat1))
{

$r = mysql_query("SELECT * FROM Cat3 WHERE Cat3=$cat3 ORDER BY NAME");
}




$q="SELECT * FROM `cat` ORDER BY Cat";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)) {
echo "<a href=test51.php?Cat2=".$row[Cat]."><h1>$row[Name_Cat]</h1></a><br>";
        if ($row['Cat'] == $cat)
        {
                while($row2=mysql_fetch_array($result)) {
                echo "<a href=test51.php?Cat3=".$row2[Cat2]."><h2>$row2[Namecat2]</h2></a><br>";
       if ($row2['Cat2'] == $cat1)
                 {
                 while($row3=mysql_fetch_array($r)) {
                echo "<h4>$row3[NAME2]</h4><br>";
                 }
                }
 }
 }
 }
?>
почему код не работает?
есть три таблицы
Cat - категории
Cat2 - подкатегории
Cat3- тавар цены
 

Onik

Новичок
ошибки вроде не выдаются просто показывает не так как хочется
 

zerkms

TDD infected
Команда форума
если скрипт работает не так, как хочется, значит ошибки в нём есть
логические
 

Onik

Новичок
по этому написал в форуме чтобы указали на логические ошибки ))
 

Фанат

oncle terrible
Команда форума
Onik
логические ошибки отлавливает программист. отладкой, на своем сервере.
 

Onik

Новичок
как лучше делать базу с каталогоми
примерно такое меню нужно
1
2
3
при нажатии 1
1
подменю1
2
3
при нажатии подменю
1
подменю1
подподменю1:)
2
3
в данный момент использую 3 таблицы
вопрос лучше с 3 или с 1 таблицой?
 

nirex

Новичок
"правильная" реализация каталога в бд должна состоять как минимум из двух таблиц
1. Категории
a: идентификатор, уникальный , первичный ключ, целочисленный
б: имя категории, тип varchar(50)
в: родительский идентификатор , по дефолту null (в будущем можно добавить индекс, если )

2. Товар
а: идентификатор товара,первичный ключ, целочисленный
б: идентификатор категории, целочисленный , foreign_key(Категории.идентификатор_категории)
все остальные поля зависят от самого товара.

В интерфейсной части , меню категорий лучше всего отображать обычным способом, без аякса. потому как могут произойти изменения в каталоге, в момент когда пользователь уже загрузил менюшку + если будет реклама, клиент ее чаще увидит :)

Аякс хорошо юзать к примеру для формы отзыва,голосования, корзина товара, когда основная информация остается на виду, и в этот же момент можно дальше читать контент этой странички, на которой могут быть линки похожий, рекомендуемый, б/у товар )))

-~{}~ 06.05.08 20:59:

вот такое чудо
include ("connect.inc");
советую исправть на
include("connect.php");

-~{}~ 06.05.08 21:09:

гет параметры должны проходить особую обработку, желательно в твоем случае сделать ф-ию из которой будут получаться гет параметры обработанные должным образом
Для работы с базой лучше юзать класс, который обрабатывает все значения, эскейпит их, переводит в нужный тип и т.д.
классов таких море в инет, я использую свой. и его я не дам :)
для вывода текста используй смарти, тут его особо любят, так что найдется кто сможет подсказать + у него вроде русская дока есть.
И в конце концов получится неплохой скрипт, который в дальнейшем можно легко и просто изменять, но он еще будет по этакому стандарту (хорошему тону) написан, где код отделен от текста

-~{}~ 06.05.08 21:10:

Дерзай ! ))))))
 

Onik

Новичок
Люди добрые помагите с меню
как сделать так чтобы при открываении товаров из подкатегории не закрывало меню?
 

Армян

Новичок
храни идентификаторы открытых пунктов меню в сессии, потом при перегрузке страницы формируй меню по данным из сессии
 

zerkms

TDD infected
Команда форума
Армян
отличное решение. пользователь 2 окна открывать не умеет, нуну

Onik
открой отдельный тред и разберись с мыслями - что именно у тебя не работает и что конкретно ты хочешь сделать
 

Onik

Новичок
как из строчки вытащить и получить $row2[id]?
if ($row['0'] == $cat)
{
while($row2=mysql_fetch_array($result)) {
echo "<a href=rab3.php?Cat2=$row[0]&path=$row2[id]>$row2[0]</a><br>";
}
нужно получить $row2[id]
и по нему выводить результат

помагите плизз оч надо(((
 

Армян

Новичок
zerkms
разве при открытии нового окна создается новая сессия ?
если да, то как вариант засерать куки

-~{}~ 17.07.08 17:26:

Onik
http://php.net/mysql_fetch_array
 

zerkms

TDD infected
Команда форума
Армян
в том то и дело, что сессия остаётся та же, и данные те же...
а вот данные в разных окнах (открытые ветви) могут быть разными
 

Армян

Новичок
ааа. ну тогда тут надо все id-шники открытых категорий в урл пихать, подругому вроде никак ведь.

если каталог большой - получится некрасиво :)
 
Сверху