Ausgabe immer doppelt ! wieso ?

kultboy

Mitglied
Hab hier eine Ausgabe gebastelt wobei ich zwei Tabellen abfrage, das komische ist er gibt mir immer alles doppelt aus ! wieso ?? kann mir wer bitte weiterhelfen ?

PHP:
$result = mysql_query ("SELECT a.name, b.id, b.linkhits FROM t_testbnamen a, t_testberichte b  ORDER BY  linkhits DESC LIMIT 0,10");
echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" width=\"280\" bgcolor=\"black\"><tr><td>";
echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"450\">";
echo "<tr bgcolor=\"#eee8aa\"><td align=\"center\"><b>TOP 10 Hits</b>";
echo "</td></tr></table></td></tr></table>";
while (($z_pp_db = mysql_fetch_array($result)) && ($xy += 1))
{
echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"450\">";
echo "<tr bgcolor=\"ffffce\">";
echo "<td width=\"20\" align=\"right\">$xy. </td><td width=\"370\"><a href=\"./index.php?site=testb/show_game&id=".$z_pp_db[id]."\">$z_pp_db[name]</a></td><td width=\"50\" align=\"right\">$z_pp_db[linkhits]";
echo "</td></tr></table>";
}
 
PHP:
$xy='1';
$result = mysql_query ("SELECT a.name, b.id, b.linkhits FROM t_testbnamen a, t_testberichte b  ORDER BY  linkhits DESC LIMIT 0,10");
echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" width=\"280\" bgcolor=\"black\"><tr><td>";
echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"450\">";
echo "<tr bgcolor=\"#eee8aa\"><td align=\"center\"><b>TOP 10 Hits</b>";
echo "</td></tr></table></td></tr></table>";
while ($z_pp_db = mysql_fetch_array($result))
{
echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"450\">";
echo "<tr bgcolor=\"ffffce\">";
echo "<td width=\"20\" align=\"right\">$xy. </td><td width=\"370\"><a href=\"./index.php?site=testb/show_game&id=".$z_pp_db[id]."\">$z_pp_db[name]</a></td><td width=\"50\" align=\"right\">$z_pp_db[linkhits]";
echo "</td></tr></table>";
$xy++;
}

probiers mal so.. keine gewaehr. :)
 
Jo danke für deine Mühe aber so gehts auch nicht ! Es liegt nicht an den XY (auch wenn ich es weglass kommt noch immer alles doppelt) !

Ich glaub das in der SELECT was nicht stimmt, mir kommt das so vor als ob er die IDs doppelt zählt aber ich weis nicht wieso !!!! :(
 
das könnte durchaus sein, dass das an der abfrage selbst liegt. probier die abfrage doch einfach mal im mysql-client oder im phpmyadmin direkt aus.
vielleicht benutzt du die falsche verknüpfung der tabellen - das kann ich dir allerdings nicht absolut sicher sagen, weil ich deine tabellenstruktur nicht kenne.
 
Verknüpfung ?
Ich will ja nur aus 2 ver. Tabellen Werte auslesen sonst nix !

Macht man das so wie ich es gemacht hab nicht normal ?

BITTE HELFT MIR :)
 
setz doch nur mal so aus spass *g* .. AS wasauchimmer ...

Code:
SELECT t_testbnamen.name AS name, t_testberichte.linkhits AS linkhits, ...etc FROM t_testbnamen,t_testberichte ORDER BY linkhits DESC


ansonsten weiss ich auch nich weiter..

:)
 
Zuletzt bearbeitet:
Das mit den AS hab ich eh schon längst eingebaut ;) an dem ist es nicht gelegen !

Ich glaub das er aus beiden Tabellen die Datensätze ausliest und dadurch eben alles doppelt ist ! Aber wie kann ich das umgehen ? bzw lösen das problem ?
Kann ja nicht sein das das problem noch keiner gehabt hat...
 
Geschaft !!!
Nach fast 3 Stunden rumprobieren und durchlesen des MYSQL Buches hab ich es geschaft !!! Und zwar mit den LEFT JOIN ! Wenn ich das richtig versteh werden die beiden Tabellen verknüpft (IDs) und dadurch kann man von beiden Tabellen die Werte auslesen !! Juhu ! Bin voll stolz auf mich *schwelg*

PS: Danke für eure Hilfe !
Hier noch der Code wie es richtig geht falls das jemand wissen will

PHP:
$result = mysql_query ("SELECT a.id AS id, a.name AS name, b.id, b.linkhits AS linkhits FROM t_testbnamen AS a  LEFT JOIN t_testberichte AS b ON a.id = b.id ORDER BY linkhits DESC  LIMIT 0,10");
	echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" width=\"280\" bgcolor=\"black\"><tr><td>";
	echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"450\">";
	echo "<tr bgcolor=\"#eee8aa\"><td align=\"center\"><b>TOP 10 Hits</b>";
	echo "</td></tr></table></td></tr></table>";
	while ($row = mysql_fetch_array($result))
		{
		echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"450\">";
		echo "<tr bgcolor=\"ffffce\">";
		echo "<td width=\"20\" align=\"right\">$xy. </td><td width=\"370\"><a href=\"./index.php?site=testb/testb&testb=game&id=".$row[id]."\">$row[name]</a></td><td width=\"50\" align=\"right\">$row[linkhits]";
		echo "</td></tr></table>";
		$xy++;
		}
 

Neue Beiträge

Zurück