Salutare, am de facut un mic sistem de afisare a unor informatii pe baza unui select.
Exemplu baza de date, care deja este asa si nu o pot schimba ca structura.
ID | Brand | Model | Tip | Info Vehci | Info Nou
1 | Zara | Camasa| X | Test | Test 1
Unde pentru Brand exisa mai multe intrari cu acelasi nume, si in functie de ce brand este selectat sa apara doar modelele respective legate de brand si asa mai departe cu tip-ul, ca mai apoi sa pot afisa intr-un modal informatia noua si informatia veche.
Practica obisnuita este sa folosesti ajax si sa trimiti valorile in backend la fiecare change de select si sa le folosesti ca sa iti compui query-ul. Un exemplu ai aici.
Alternativa este sa-ti faci un json cu toate informatiile pregatite deja in pagina si pur si simplu sa il folosesti pe acela.
Acum depinde si de marimea datelor, daca sunt “multe” mergi pe prima varianta, daca sunt “putine” mergi pe a doua.
In loc de json poti efectiv sa iti aduci datele din DB direct in pagina. Depinde de tine.
Ce inseamna ca “nu vrea sa functioneze”? Ce se intampla mai exact?
O sugestie: in query-ul in care preiei brand-ul nu are rost acel “*” in select avand in vedere ca te intereseaza doar coloana “brand”. Poti in schimb sa rescrii acel query astfel:
"SELECT DISTINCT brand FROM table ORDER BY brand ASC"
Guys i made it. Multumesc pentru tot.
Problema e ca acum nu parseaza, spatiul dintre cuvinte Si nu trece la urmatorul select pentru ca in baza de date e cu spatiu la nume… Any ideea?
Spatiul este inainte/dupa numele brand-ului, gen “Zara “/” Zara” sau in interiorul numelui, atunci cand acesta e compus din doua sau mai multe cuvinte, gen “Under Armour”?
Daca e vorba de primul caz poti sa folosesti trim atat in query, cat si in PHP.
Pai cred ca iti ia un rand pt fiecare inregistare ce indeplineste consitia. Asta la o prima vedere.
Vezi daca merge cu un group by Brand sau unde corespund acele valori