my-sql left join teruggave php

  • Onderwerp starter Onderwerp starter dollo
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

dollo

Gebruiker
Lid geworden
1 jan 2008
Berichten
118
hallo ik zit met een probleem met sql wat ik wil laten zien is eerst de titel met daarachter een link. met daaronder een drietal divjes me daarin de user die hem gepost heeft, de datum van laatste reactie en het aantal reacties met daarbij de naam van diegene die het laatst heeft gereageerd.
Ik krijg nu telkens 1 resultaat terug met daarin 2 x het aantal reacties. maar geen user name en geen 2 datums ook word er maar 1 titel weergegeven.
ter verduidelijking staat hier het foute.
fout.jpg

en zo moet het er uit komen te zien
goed.jpg


de code staat hieronder
PHP:
$advertenties = mysql_query("SELECT * FROM vragen LEFT JOIN reacties ON vragen.Titel=reacties.Titel WHERE vragen.Subforum ='".$categorie."' GROUP BY 'Titel, Datum' ORDER BY reacties.Datum DESC") or die (mysql_error());
while($row = mysql_fetch_array($advertenties))
	{ 
$reacties = 0;
		$laatstereactie = "";
		echo '<div class = "subpaginakop">';
		if($categorie == "Show je brommer")
		{ 
			echo "<a href = 'index.php?p=show".$row["Titel"]."'>";
		}
		else
		{
			echo "<a href = 'index.php?p=vra".$row["Titel"]."'>";
		}
		echo $row["Titel"];
		echo "</a> </div>";
		echo "<div class = 'foruminfstart'>";
		echo $row["User"];
		echo "</div>";
		$datum = "";
		$verhaal = mysql_query("SELECT * FROM reacties WHERE Titel = '".$row['Titel']."' ORDER BY Datum");
		while($row2 = mysql_fetch_array($verhaal))
		{
			$reacties = $reacties+1;
			$laatstereactie = $row2['User'];
			$datum = $row2['Datum'];
		}
		if($datum== "")
		{
			$datum = $row['Datum'];
		}		
		echo "<div class = 'foruminf'>";
		echo $datum;
		echo " </div>";
		echo "<div class = 'foruminf'>";
		echo $reacties." reacties";
		echo "  laatste door:".$laatstereactie;
		echo " </div> <br/>";
	}

waarschijnlijk is die 2e sql ophaal wel te omzeilen met een count maar denk niet dat daar het probleem bij ligt.

de 2 tabellen hebben de onderdelen
reacties:
titel , user, datum, reactie
vragen:
titel, user,forum, datum,info

weet iemand waar het probleem zit?

alvast bedankt voor de hulp:thumb::D
 
Je query klopt sowieso niet. Vervang de asterisk door de velden die je nodig hebt, en pas GROUP BY toe op alle velden waar je geen aggregate function op gebruikt.
 
lol dat was wel erg simpel:o
toch enorm bedankt zat er mee vast en zag t gewoon ffe niet:confused:
maar tis is nu gelukt !
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan