Pagina 1 din 1

Afisare si creare link pentru categorii

Scris: Joi Apr 26, 2018
de sagap
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?

Afisare si creare link pentru categorii

Scris: Joi Apr 26, 2018
de MarPlo
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,%'";
//...