am si eu o problema de php/baza de date. Mai exact:
am creat un sistem de stiri, in regim de sistem de utilizatori. adica am o baza de date structurata (partial) astfel:
- un tabel ce contine info despe membri
- un tabel ce contine stirile propriu-zise
- alt tabel cu comentariile asupra stirilor
Ok. inainte sa continui tb sa va spun ca nu sunt nici incepator, nici un adevarat profesionist (undeva la mijloc deci).
Atunci cand este afisata o stire din baza de date sunt extrase si comentariile asociate acelei stiri. Ceva de genul (exemplu de pseudopagina):
******
Titlu stire
Continut stire
*****
Comentarii:
postat de gigel : comentariul
postat de ionel : comentariul
postat de aurel : comentariul
textul cu albastru e evident un link care duce spre profilul acelui membru.
Comentariile sunt facute doar de membri inregistrati, existenti in primul tabel.
Aici e problema mea: vreau sa fac astfel incat fiecare astfel de link sa fie de forma profil.php?userid=xxxx insa pentru asta trebuie sa fac o interogare destul de nasoala a bazei de date in tabela cu useri, pentru a afla ce ID unic are userul gigel, apoi ionel etc. Va dati seama daca am peste 100 de comentarii la un singur articol?...
este exact acelasi sistem existent pe acest forum - numele in stanga, si link-ul "profil" contine acel id....
Cateva detalii despre tabelul de comentarii:
comID - cheia unica a comentariului
comRelID - ID-ul stirii cu care e asociat comentariul
comAutor - username-ul autorului
Dilema este urmatoarea: sa zicem ca as rezolva problema si in loc sa inserez comAutor as insera direct ID-ul unic al user-ului. Astfel as rezolva problema cu linkurile, insa nu as mai avea cum sa afisez la comentarii cine este de fapt user-ul, decat daca (si aici ne intoarcem de unde am plecat) facem o interogare masiva si anevoioasa a bazei de date pt a afla ce user are cheia unica xxxx (mai bine exprimat "sa aflu user-ul cheii xxxx"). hmmm... daca ma gandesc acum mai bine parca ar fi totusi mai eficienta cautarea dupa cheie decat dupa username...
De ce nu fac pur si simplu ceva de jenu: profil.php?user=gigel pentru a accesa profilul? Evident, din motive de performanta, interogarea va fi mai rapida de vreme ce acel userID e PRIMARY KEY.
Singura solutie la care ma pot gandi ar fi sa salvez atat username-ul cat si ID numeric al autorului in tabela de comentarii, insa mi se pare ca e o solutie cam urata, si nu vreau solutii urate.
Sper ca nu v-am stresat prea tare, multumesc mult pentru rabdare, daca ati ajuns sa cititi pana la acest rand