Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2013, 21:00   #1
scalpel
Форумчанин
 
Аватар для scalpel
 
Регистрация: 01.02.2010
Сообщений: 118
По умолчанию Как сделать выбор из БД правильно

Здравствуй.
У меня такая задача надо сделать выбор из БД в таком образе, при нажатие по ссылке отобразилось только из одной категорий.
PHP код:
$cat mysql_query("SELECT * FROM category ORDER BY id");
while(
$row mysql_fetch_array($cat)){
    echo 
" + <a href=?act=stock&cat=".$row['id'].">".$row['name']."</a><br />";
    if(isset(
$_GET['cat'])){
        
$product mysql_query("SELECT a.id, a.name, b.id_prod, b.number 
         FROM product a, stock b 
        WHERE a.id=b.id_prod AND a.id_category="
.$_GET['cat'].
        ORDER BY a.id ASC"
);
        while(
$row mysql_fetch_array($product))  {
              echo 
$row['id'] . " | " $row['name'] . " | " .$row['number']."b.";
              echo 
"<br />";
          }    
    }         

так получается что повторяется в каждом категорий (как на фото).
как сделать что-бы не повторилось?
Спасибо.
scalpel вне форума Ответить с цитированием
Старый 25.02.2013, 08:31   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

1. ПравИльно - так верно
2. Че за фигня в коде ,.... не понимаю? Если нужно выдать список категорий... и при нажатии на категорию - выводить её содержимое - то выводите список категорий с ссылками .. ..а во переходы по ссылкам - отрабатываете отдельно через получение параметра $_GET - или делайте через Ajax
ADSoft вне форума Ответить с цитированием
Старый 25.02.2013, 12:47   #3
scalpel
Форумчанин
 
Аватар для scalpel
 
Регистрация: 01.02.2010
Сообщений: 118
По умолчанию

С правописание извиняюсь.
В коде идёт извлечение списка категорий и создается ссылка, и после нажатие по ссылке должно раскрываться список, но у меня раскрывается список одинаковый по всем категориям, не знаю как сделать правильно ограничитель.
scalpel вне форума Ответить с цитированием
Старый 25.02.2013, 12:55   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от scalpel Посмотреть сообщение
В коде идёт извлечение списка категорий и создается ссылка, и после нажатие по ссылке должно раскрываться список, но у меня раскрывается список одинаковый по всем категориям, не знаю как сделать правильно ограничитель.
Нужно изменить условие, по которому происходит раскрытие списка:
PHP код:
if(isset($_GET['cat']) && ($_GET['cat'] == $row['id'])){ 
Ну и про защиту от SQL-injection в запросах не забываем:
PHP код:
$product mysql_query("SELECT a.id, a.name, b.id_prod, b.number  
         FROM product a, stock b  
        WHERE a.id=b.id_prod AND a.id_category=" 
intval($_GET['cat']) . "  
        ORDER BY a.id ASC"
); 

Последний раз редактировалось Andkorol; 25.02.2013 в 12:58.
Andkorol вне форума Ответить с цитированием
Старый 25.02.2013, 13:08   #5
scalpel
Форумчанин
 
Аватар для scalpel
 
Регистрация: 01.02.2010
Сообщений: 118
По умолчанию

Спасибо.
Мне не как не приходило в голову как сделать ограничение, а то что связано с защитой и меня оно на втором плане, главно что-бы работало как надо.
scalpel вне форума Ответить с цитированием
Старый 25.02.2013, 13:23   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от scalpel Посмотреть сообщение
а то что связано с защитой и меня оно на втором плане, главно что-бы работало как надо.
Привыкай сразу делать всё правильно.
90% разработчиков так и продолжают создавать дырявый код – сначала привычка "откладывать защиту на потом", затем будет "некогда, сроки поджимают", или просто "лень, кому оно нужно этот сайт взламывать"...
Привыкнуть к такому легко – отвыкнуть сложно.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно сделать запрос Arkuz SQL, базы данных 2 01.09.2011 20:07
как правильно сделать Resources на C# efines Помощь студентам 2 13.05.2011 09:49
как правильно сделать вход ilushka2306 PHP 3 13.05.2011 01:48
Как правильно сделать include? Delphinchik PHP 5 13.10.2010 17:40
Как правильно сделать выборку Minotavr_x86 БД в Delphi 9 04.03.2009 19:56