Извеждане на резултати само от 1 категория

Msecurity

Registered
Здравейте
Значи имам категориите въведени в 1 файл:

link.php
PHP:
[php]<ul> 
<li><a href="?u=auto">Авто</a></li> 
<li><a href="?u=banks">Банки</a></li> 
<li><a href="?u=business">Бизнес</a></li> 
<li><a href="?u=juwels">Бижута</a></li> 
</ul>
И файл от който се добавят продукт:

add.php
PHP:
<?php
include("connect.php");


if(isset($_POST['submit'])){
        $catid =   $_POST['catid'];
        $articul =       $_POST['articul'];
        $informations =  $_POST['informations'];
        $price =  $_POST['price'];
        $images = $_POST['images'];
        $data = $_POST['data'];
        if(empty($catid) || empty($articul) || empty($informations) || empty($price) || empty($images)){
                echo "Моля, попълнете всички полета!";
        }
        else{
               mysql_query("INSERT INTO `articuls` (`artid`, `catid`, `articul`, `informations`, `price`, `images`, `data`)

                                VALUES('', '$catid',  '$articul', '$informations', '$price', '$images', '$data')") or die(mysql_error());
                                                                        
                echo "Добавен е следният запис: $catid $articul $informations $price $images $data";
        }
}
?>

<form action="" method="post">
Изберете категория: <SELECT name="catid" size="1" class="forma1"> 
<OPTION></OPTION> 
<OPTION>Авто</OPTION> 
<OPTION>Банки</OPTION> 
<OPTION>Бизнес</OPTION> 
<OPTION>Бижута</OPTION> 
</SELECT> <br>
Въведете артикул:   <input type="text" name="articul" size="10"> <br>
Въведета информация:  <input type="text" name="informations"  size="50"> <br>
Въведета цена:  <input type="text" name="price"  size="10"> <br>
Добавете изображение:  <input type="text" name="images"  size="10"> <br>
Въведета дата:  <input type="date" name="data"  size="10"> <br>

<input type="submit" name="submit" value="Приеми"> <br>
</form>
И като въпроса ми е как може да извеждам резултатите само 1 категория например "Авто". Като всичката информация ми се записва в БД.
Ето и структура на таблицата:

PHP:
 `artid` int(20) NOT NULL AUTO_INCREMENT,
  `catid` VARCHER(20) NOT NULL DEFAULT '0',
  `articul` varchar(255) NOT NULL,
  `informations` varchar(100) NOT NULL,
  `price` varchar(100) NOT NULL,
  `images` blob NOT NULL,
  `data` varchar(10) NOT NULL DEFAULT '0',
 
Като за начало, трябва да си оправиш селекта на catid:

Код:
<option>Авто</option>
$_POST['catid'] = 'Авто';

обаче...

<option value="auto">Авто</option>
$_POST['catid'] = 'auto';

В момента, като добавяш нов продукт, ти записваш категория "Авто", вместо "auto", а пък после искаш да го изведеш с u=auto, няма как. Друг е въпроса, че най-добре да си направиш отделна таблица с категориите и да използваш техните id номера, а не имена! Така търсенето ще бъде много по-бързо, индекса и таблиците - по-малки.

В последствие като кликнеш на линка с името на категорията, трябва да изпълниш заявка като тази:

PHP:
$u = mysql_real_escape_string($_GET['u']);
//или ако беше число: $u = (int) $_GET['u'];
$sql = "select * from articuls where catid = \"$u\" ";

Това мисля, че ти го обяснявах преди един-два дни?
 
Да така е няма и 2 дни :)
Но нещо обатачих много работите и реших че мога да извеждам категориите от отделен файл. :)
 
ОК, само си оправи селекта за да ти записва правилните стойности за категориите. И за вече добавените записи в таблицата - обнови имената на категориите.
 

Back
Горе