Afisare si creare link pentru categorii

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
sagap
Mesaje: 12

Afisare si creare link pentru categorii

Salut,

Am 2 tabele in urmatoare forma:

Cod: Selectaţi tot

date
id,descriere,categories
1  unu          muzica,desene,filme
2  doi           filme

Cod: Selectaţi tot

categories
id,categories_name
1   muzica
2   filme
3   desene
Am afisat toate categoriile prin interogare SQL,le-am facut link catre pagina index (temporar) iar acum vreau ca acestea sa faca legatura mai departe dintre categories.categories_name si date.categories.
Mai exact atunci cand dau click pe o categorie sa imi deschida alta pagina si sa imi arate rezultatele din acea categorie. De ex. cand aleg categoria "filme" ar trebuie sa am afisata descrierea "unu doi".
In momentul de fata folosesc :

Cod: Selectaţi tot

$sql = "SELECT * FROM table WHERE categories_name LIKE '%filme%'"; 
.
Nu ar fi o problema, dar sa zicem ca ar fi 1000 de categorii. Cum as putea sa fac acesta legatura mai rapid?

MarPlo Mesaje: 4343
Salut,
In tabelul cu datele paginilor sa folosesti id-ul categoriilor la care apartine fiecare (fiecare id sa fie intre virgule, necesar pt. select-ul cu LIKE).

Cod: Selectaţi tot

datele
id, idctg, descriere
1  ,1,3,2,  descriere-1
2  ,3,     descriere-2
2. Link-ul care deschide pagina cu categoria sa aiba numele ei ca sa poata fi preluat prin $_GET:

Cod: Selectaţi tot

<a href="/pagina.php?ctg=muzica" title="Muzica">Muzica</a>
3. In script-ul care afisaza paginile categoriei preiei cu numele din URL id-ul acelei categorii, apoi folosesti acel id pt. selectare randuri corespunzatoare din tabelul cu datele.

Cod: Selectaţi tot

$ctg = isset($_GET['ctg']) ? strip_tags($_GET['ctg']) :'default';
$sql = "SELECT id FROM categories WHERE categories_name = '$ctg'";
//perform the $sql...
$idctg = $row['id'];

//get pages in specified $idctg
$sql = "SELECT * FROM datele WHERE idctg LIKE '%,$idctg,%'";
//...

Subiecte similare