situatie:
3 tabellen:
Man
layout:
id, username, password, specs, fotopath, scoretotal, totalvotes, email, active
Reactieman
layout:
reactieid, voorusername, vanusername, emailreactie, reactie
Totalidman
layout:
totalidman
wat wil ik doen :
Ik wil altijd de laatst toegevoegde persoon als eerste laten zien En daarvoor wil ik niet eerst de complete tabel "man" door lopen. Vandaar dus ook die derde tabel "totalidman". Die bevat in feite het aantal records wat in tabel man staat. Misschien overbodig, maar zo is de situatie nou eenmaal
Anyway, ik wil dus altijd als eerste de laatst toegevoegde persoon laten zien. Tevens wil ik eventuele reacties voor deze persoon laten zien.
Total nu toe ben ik tot het volgende gekomen:
[sql]
Select man.*, reactieman.*, totalidman.* from man, reactieman, totalidman where (totalidman.totalidman = man.id) and (reactieman.voorusername= man.username)
[/sql]
Dit werkt aardig als er inderdaad een reactie voor username is. Is die er niet dan zijn er dus geen records en dus geen resultaten. Gevolg een lege pagina.
Hoe zorg ik nou dat als die 2e clausule (reactieman.voorusername= man.username) leeg is, ik toch het eerste gedeelte terug krijg.
Ik moet waarschijnlijk die and (reactieman.voorusername= man.username) vervangen door wat anders maar ik heb echt geen idee hoe ik dat zou moeten doen.
In de Mysql manual zie ik dat ze af en toe joins gebruiken, echter mijn kennis daarvan is zeer beperkt en ik kan het ook niet naar "normale mensentaal" vertalen.
Wie o wie zou hiermee kunnen helpen?
p.s. Union is geen optie aangezien dat pas vanaf 4.0 ondersteund wordt. en ik gebruik nog steeds mysql 3.23.X
3 tabellen:
Man
layout:
id, username, password, specs, fotopath, scoretotal, totalvotes, email, active
Reactieman
layout:
reactieid, voorusername, vanusername, emailreactie, reactie
Totalidman
layout:
totalidman
wat wil ik doen :
Ik wil altijd de laatst toegevoegde persoon als eerste laten zien En daarvoor wil ik niet eerst de complete tabel "man" door lopen. Vandaar dus ook die derde tabel "totalidman". Die bevat in feite het aantal records wat in tabel man staat. Misschien overbodig, maar zo is de situatie nou eenmaal
Anyway, ik wil dus altijd als eerste de laatst toegevoegde persoon laten zien. Tevens wil ik eventuele reacties voor deze persoon laten zien.
Total nu toe ben ik tot het volgende gekomen:
[sql]
Select man.*, reactieman.*, totalidman.* from man, reactieman, totalidman where (totalidman.totalidman = man.id) and (reactieman.voorusername= man.username)
[/sql]
Dit werkt aardig als er inderdaad een reactie voor username is. Is die er niet dan zijn er dus geen records en dus geen resultaten. Gevolg een lege pagina.
Hoe zorg ik nou dat als die 2e clausule (reactieman.voorusername= man.username) leeg is, ik toch het eerste gedeelte terug krijg.
Ik moet waarschijnlijk die and (reactieman.voorusername= man.username) vervangen door wat anders maar ik heb echt geen idee hoe ik dat zou moeten doen.
In de Mysql manual zie ik dat ze af en toe joins gebruiken, echter mijn kennis daarvan is zeer beperkt en ik kan het ook niet naar "normale mensentaal" vertalen.
Wie o wie zou hiermee kunnen helpen?
p.s. Union is geen optie aangezien dat pas vanaf 4.0 ondersteund wordt. en ik gebruik nog steeds mysql 3.23.X
Verstand van Voip? Ik heb een leuke baan voor je!