Hmm naja dann muss ich wohl doch in die Tabelle felder noch ne extra Spalte user_id einfügen - wirkt sich zwar negativ auf die Ladezeit aus , ist aber wesentlich einfach zu coden
@Abraxax : Viel Dank für deine Hilfe , auch wenn's nicht ganz so geklappt hat
P.S. Kennt jemand ne Seite wo die Geschichte mit JOIN ausfürhrlich und einigermaßen verständlich erklärt ist ? Also nicht gerade das Manuell von MySQL
Werte addieren
Einklappen
X
-
$userinfo wird schon in dbconnect.php definiert und ist 100% vorhanden da es ja auch noch andere Seiten bis auf diese gibt
Aber bei WHERE b.user_id = 1 geht's auch nicht
Einen Kommentar schreiben:
-
wo wird denn $userinfo[user_id] definiert?
du kannst ja zum test mal im script
WHERE b.user_id = 1
schreiben. dann sollte auf jeden fall was kommen, auch wenn $userinfo nicht definiert ist.
Einen Kommentar schreiben:
-
PHP-Code:<? include("dbconnect.php");
$sql = "SELECT SUM(a.workers_on),
a.dorf_id
FROM felder a
LEFT OUTER JOIN doerfer b USING(dorf_id)
WHERE b.user_id = ".$userinfo[user_id]."
GROUP BY a.dorf_id";
$result = mysql_query($sql) or die(mysql_error());
$nahrung = mysql_fetch_array($result);
print $nahrung[workers_on];
include("footer.php"); ?>
Einen Kommentar schreiben:
-
mein code umfasste ja nur die query...
was steht denn da noch so drin?
Einen Kommentar schreiben:
-
Na dass ich in meinem Script genau deinen Code eingefügt habe
Einen Kommentar schreiben:
-
Original geschrieben von Supadog
Wenn ich halt nicht wüsste dass es dein script ist
Habe das 1:1 bei mir rein
Einen Kommentar schreiben:
-
Wenn ich halt nicht wüsste dass es dein script ist
Habe das 1:1 bei mir rein
Einen Kommentar schreiben:
-
komishc bei mir wird definitiv nichts (also auch kein fehler) angezeigt .
Davor hole ich aber andere Daten aus der Datenbank und die werden angezeigt was ja bestätigen sollte dass eine Verbindung zur DB besteht
Einen Kommentar schreiben:
-
habs grad mal gestest und ging auf anhieb.
PHP-Code:$sql = "SELECT SUM(a.workers_on),
a.dorf_id
FROM felder a
LEFT OUTER JOIN doerfer b USING(dorf_id)
WHERE b.user_id = 1
GROUP BY a.dorf_id";
Code:ausgabe: SUM( a.workers_on ) dorf_id 22 1 12 5
PHP-Code:$sql = "SELECT SUM(a.workers_on),
a.dorf_id
FROM felder a
LEFT OUTER JOIN doerfer b USING(dorf_id)
WHERE b.user_id = ".$userinfo[user_id]."
GROUP BY a.dorf_id";
Einen Kommentar schreiben:
-
Code:# # Daten für Tabelle `doerfer` # INSERT INTO doerfer VALUES (1, 1); INSERT INTO doerfer VALUES (2, 5); INSERT INTO doerfer VALUES (3, 7); INSERT INTO doerfer VALUES (4, 3); INSERT INTO doerfer VALUES (5, 1); INSERT INTO doerfer VALUES (6, 1); # # Daten für Tabelle `felder` # INSERT INTO felder VALUES (2, 24); INSERT INTO felder VALUES (1, 22); INSERT INTO felder VALUES (5, 12); INSERT INTO felder VALUES (3, 12);
Einen Kommentar schreiben:
-
So hier sind die Dumps:
Code:CREATE TABLE doerfer ( dorf_id int(6) NOT NULL auto_increment, user_id tinyint(4) NOT NULL default '0', PRIMARY KEY (dorf_id) ) TYPE=MyISAM;
Code:CREATE TABLE felder ( dorf_id int(6) NOT NULL default '0', workers_on int(3) NOT NULL default '0' ) TYPE=MyISAM;
Angenommen wir haben jetzt die Variable $user mit dem Wert 3 , dann sollen aus doerfer alle dorf_id's genommen werden und dann aus felder alle workers_on wo dorf_id übereinstimmt addiert und ausgegeben werden als eine Zahl
Man bedenke dass der $user in mehreren Datensätzen in doerfer vorkommen kann.Zuletzt geändert von Supadog; 05.03.2003, 15:50.
Einen Kommentar schreiben:
-
poste mal die tabellenstrukturen BEIDER tabellen. zumindest die relevanten felder.
und erkläre mir genau, wie du die daten haben willst.
morgen (ähm heute) schaue ich mir das mal in ruhe an. gehe jetzt pennen...
Einen Kommentar schreiben:
Einen Kommentar schreiben: