meerdere reacties tot 1 maken.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thomas

thomas

27/11/2009 11:59:00
Quote Anchor link
Goedendag ik heb een forum waar men kan reageren
nu is het zo dat als ik de reacties uitlees
dat ik dit te zien krijg
test = de nieuwste
test2
test3
test3
test3

Hoe kan ik ervoor zorgen dat van de test 3 niet alles zichtbaar is maar alleen de nieuwste.

ik haal het uit de db met een while loop.
dus zo
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$sql
= mysql_query("SELECT * FROM reacties,forum WHERE reacties.link_id = forum.forum_id ORDER BY reactie_datum DESC");
while($show = mysql_fetch_assoc($sql))
{

   echo $show['reactie_titel'];
}

?>
 
PHP hulp

PHP hulp

24/11/2024 13:16:41
 
Giel

Giel

27/11/2009 13:14:00
Quote Anchor link
GROUP BY?
 
Jurgen assaasas

Jurgen assaasas

27/11/2009 13:41:00
Quote Anchor link
Reageer dan niet als je niet weet waarover je praat.

Als je alleen de laatste reactie wil hebben zul je de query aan moeten passen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
SELECT
    reacties.id,
    reacties.title,
    reacties.bericht,
    reacties.reactie_datum,
    reacties.nogeenveld
FROM
    reacties
    INNER JOIN forum ON reacties.link_id = forum.forum_id
ORDER BY
    reacties.reactie_datum LIMIT 0,1;


Uiteraard wel even de veldnamen naar jouw namen aanpassen. kan zijn dat je nog meer moet wijzigen, maar iig deze richting op.
Gewijzigd op 01/01/1970 01:00:00 door Jurgen assaasas
 
Thomas

thomas

27/11/2009 19:16:00
Quote Anchor link
Helaas dit is ook niet wat ik bedoel.
ik bedoel meer zoals hier bij laatste forum berichten.
als ik daar een reactie post en iemand anders ook dan staat er niet
2 keer dezelfde topic titel. maar 1 keer. dit moet ik dus ook hebben.
Ik ben al 4 uur aan het klote en aan het zoeke op het internet. maar nog niks
gevonden. wie kan mij hiermee helpen.
Gewijzigd op 01/01/1970 01:00:00 door thomas
 
GaMer B

GaMer B

27/11/2009 19:40:00
Quote Anchor link
DISTINCT?
 
Thomas

thomas

27/11/2009 20:33:00
Quote Anchor link
Hoe bedoel je. heb je een voorbeeldje?
Kwam er op de mysql pagina niet echt uit wat er nu bedoelt wordt.
 
Klaasjan Boven

Klaasjan Boven

27/11/2009 22:43:00
Quote Anchor link
DISTINCT haalt de unieke rijen op...
 
Thomas

thomas

28/11/2009 13:14:00
Quote Anchor link
Ke ik heb wat gedaan met DISTINCT maar dit is ook niet wat ik bedoel
Ik zal het zo uitleggen
Ik heb een tabel forum
forum_id->forum_titel->forum_datum
de andere is een table reacties
reactie_id->reactie_titel->reactie_datum->link_id

bij link_id staat dezelfde id als in forum_id van de table forum
nu is het zo dat laten we zeggen
forum_id=1 en forum_titel = blaat en forum_datum= 22-11-2009
forum_id=2 en forum_titel = blaat1 en forum_datum= 25-11-2009

Onder reacties staat dit
reactie_id =1 en reactie_titel = blaat en reactie_datum = 23-11-2009 en link_id=1
reactie_id=2 en reactie_titel = blaat en link_id=1 en reactie_datum = 24-11-2009
reactie_id=3 en reactie_titel = blaat1 en link_id=2 en reactie_datum = 25-11-2009
reactie_id=4 en reactie_titel = blaat1 en link_id=2 en reactie_datum = 26-11-2009

Nu wil ik dus dat als forum_id overeen komt met link_id
dat ie dat weergeeft. zoals wij nu wel weten is dat forum_titel dan vaker voorkomt. nu wil ik dus dat als die alles leest en waar dan er meer van zijn.
dat ie maar 1 keer de forum titel laat zien met de nieuwste reactie.

Want nu krijg ik dit
blaat
blaat
blaat2
blaat2

Dit moet dus worden
blaat
blaat2
 
SilverWolf NL

SilverWolf NL

28/11/2009 16:45:00
Quote Anchor link
Ik kan je wel een oplossing geven, maar die is niet via mysql, dus hij is wel trager... Via mysql zou ik het niet weten. In ieder geval, dit zou ook moeten werken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?PHP
$sql
= mysql_query("SELECT * FROM reacties,forum WHERE reacties.link_id = forum.forum_id ORDER BY reactie_datum DESC");
$tArray = array();
while($show = mysql_fetch_assoc($sql))
{

    if(!in_array($show['reactie_titel'],$tArray)){
      $tArray[]=$show['reactie_titel'];
      echo $show['reactie_titel'];
    }
}

?>


Veel succes verder!
Gewijzigd op 01/01/1970 01:00:00 door SilverWolf NL
 
Thomas

thomas

28/11/2009 18:48:00
Quote Anchor link
Bedankt voor je voorbeeld ik heb het nu in gebruik en het werkt zeer goed.
Erg bedankt hiervoor.
 
Terence Hersbach

Terence Hersbach

29/11/2009 11:56:00
Quote Anchor link
Wacht maar even totdat je database ongeveer 1 miljoen records bevat, dan wordt de site zo traag als dat je dikke stront door een trechter duwt.

Distinct was wel de oplossing:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
    DISTINCT(forum.forum_id) AS id,
    reactie_titel
FROM
    reacties
JOIN
    forum
    ON reacties.link_id = forum.forum_id
ORDER BY
    reactie_datum DESC
LIMIT 10
OFFSET 0
 
Thomas

thomas

29/11/2009 17:10:00
Quote Anchor link
Ja idd distinct is ook de oplossing
Die werkt in mijn ogen zelfs beter.
merk het verschil nog niet omdat er nog maar 5 records in staan.
maar heb effe via google gezocht er op en distinct is sneller.\
Bedankt Terence
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.