Hallo Leute,
Ursprünglich hatte ich mehrere Tabellen und zwei ineinander verschachtelte Schleifen.
Dann habe ich auf anraten verschiedener User alle Tabellen in eine gepackt und die Sache mit JOINs versucht:
Dies gibt aber nur in mysql-front ein result, ich vermute wegen der Leerzeilen, die ich aber bewusst gemacht habe.
Nun werden einige sagen ich müsse einen RIGHT JOIN statt einem LEFT JOIN verwenden, aber ich möchte dass das Array genau so gefüllt wird, also mit leeren Zellen, es soll nicht zusammengezogen werden, wie es beim RIGHT JOIN passieren würde.
Am liebsten möchte ich das Abfrage-Ergebnis in einer Tabellenspalte einer anderen Tabelle speichern, jedoch da in die richtigen Zeilen. In etwa so:
Hierbei wird jedoch nur die erste Zeile abgespeichert.
Gruß Conny
Ursprünglich hatte ich mehrere Tabellen und zwei ineinander verschachtelte Schleifen.
PHP-Code:
$jahr=2006;
// --------------------------------------------
$abfrage = "SELECT gp_von FROM kalender_".$jahr." ORDER BY gp_datum";
$result = mysql_query($abfrage,$conn);
$gp_counter = -1;
while ( $row = mysql_fetch_row($result))
{
$gp_counter = $gp_counter + 1;
$gp_von = $row[0];
$abfrage2 = "SELECT * FROM tipp_".$gp_von."_".$jahr;
$result2 = mysql_query($abfrage2,$conn);
$i = mysql_num_rows($result2);
$teilnehmer[$gp_counter] = $i;
}
PHP-Code:
SELECT t.* FROM kalender_2006 AS k
LEFT JOIN (SELECT gp_von, Count(gp_von) AS teilnehmer FROM tipp_punkte_2006
WHERE tipp = 'U' GROUP BY gp_von) AS t
USING (gp_von)
GROUP BY (k.gp_von);
Nun werden einige sagen ich müsse einen RIGHT JOIN statt einem LEFT JOIN verwenden, aber ich möchte dass das Array genau so gefüllt wird, also mit leeren Zellen, es soll nicht zusammengezogen werden, wie es beim RIGHT JOIN passieren würde.
Am liebsten möchte ich das Abfrage-Ergebnis in einer Tabellenspalte einer anderen Tabelle speichern, jedoch da in die richtigen Zeilen. In etwa so:
PHP-Code:
$jahr=2006;
// --------------------------------------------
$abfrage = "SELECT gp_von, Count(gp_von) AS tipp FROM tipp_punkte_".$jahr."
WHERE tipp = 'U' GROUP BY gp_von";
$result = mysql_query($abfrage,$conn);
$u=0;
while ($row = mysql_fetch_row($result))
{
$gp_von[$u] = $row[0];
$teilnehmer[$u] = $row[1];
$u=$u+1;
}
for($i=0; $i<mysql_num_rows($result); $i++)
{
$abfrage = "UPDATE teilnehmer_".$jahr." SET teilnehmer = '$teilnehmer[$i]'
WHERE gp_von = '$gp_von[$i]'";
$result = mysql_query($abfrage,$conn);
}
Gruß Conny
Kommentar