Avatar billede tonse Nybegynder
25. juni 2007 - 13:02 Der er 5 kommentarer

Query som if statement

Hej allesammen.
Det er første gang jeg skriver her, så skriv endelig hvis jeg gør noget forkert.
Men er igang med noget kode hvor en ting virkelig ikke vil virke.

Jeg har 2 databaser forum_svar og forum_indlaeg.
Problemet er at jeg vil have mit udtræk til at vise hvem der sidst har svaret og hvis der ikke er nogen der har svaret så skal den skrive "intet svar".

forum_svar indeholder parent_id som er lig med forum_indlaeg's id.

Altså noget i retning af:
$id = forum_indlaeg_row['id'];
$parent_id = forum_svar_row['parent_id'];
if($parent_id == $id) {
echo 'Her er der et svar af '.forum_svar_row['navn'];
}
else {
echo 'Her er der ikke et svar';
}

Dette virker kun på det sidte den udtrækker fra databasen, altså kun en række skriver intet svar selvom to af rækkerne ikke har nogen svar.

Har efterhånden prøvet alt, tænkte at man kunne lave det om til et array og bruge funktionen in_array. men det virkede heller ikke, så nu er jeg på bar bund.

Håber nogen kan give mig et skub i den rigtige retning.
Avatar billede michael_stim Ekspert
25. juni 2007 - 13:09 #1
$parent_id = (forum_svar_row['parent_id']=='' ? 'Intet svar.' : forum_svar_row['parent_id']);
Avatar billede michael_stim Ekspert
25. juni 2007 - 13:10 #2
Og den skal du selvf. have i din loop der du udträkker data fra tabellen.
Avatar billede tonse Nybegynder
25. juni 2007 - 16:55 #3
Det var nu ikke lige det jeg skulle bruge. Der står altid noget i parent_id, da forum_svar altid er afhængig af forum_indlaeg.

Det som jeg skal er hvis forum_indlaeg f.eks. har en id = 8 så skal de svar som har en parent_id = 8 vise at der er et svar. Men de indlæg som ikke har et svar altså hvor id og parent_id ikke er lig hinanden, der skal den vise ingen svar.

altså if($parent_id == $id) eller sådan noget. Eller hvis ingen fra forum_svar matcher id'en fra forum_indlaeg, så skal den skrive intet svar.

Håber du forstår, ellers kommer jeg med en længere forklaring.
Avatar billede zynzz Praktikant
25. juni 2007 - 18:19 #4
Kan godt være jeg ikke har forstået det helt korrekt, men altså hvorfor laver du ikke bare en ekstra kollone i din forum_indlæg med brugeren der nu har svaret, altså et unikt id... :)
Avatar billede tonse Nybegynder
26. juni 2007 - 08:25 #5
Det er også min midlertidige løsning. Det var for at slippe for at opdatere to databaser hver gang der er en der poster i forum'et. Har bare stødt på problemet et par gange før, og hver gang finder jeg disse lidt kedelige løsninger. Havde bare håbet på en måde at man kunne få to databaser til at reagere med hinanden på i et if statement..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester