DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: MySQL | Thema: Abfrage in vorhandene Tabelle speichern. | Von: G. Guest ( 31.12.2005 10:43)

Hallo Leute,

Ursprünglich hatte ich mehrere Tabellen und zwei ineinander verschachtelte Schleifen.

[PHP]
$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]

Dann habe ich auf anraten verschiedener User alle Tabellen in eine gepackt und die Sache mit JOINs versucht:

[PHP]
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);[/PHP]

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]
$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);
}
[/PHP]

Hierbei wird jedoch nur die erste Zeile abgespeichert.

Gruß Conny



Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG