Zurück   klamm-Forum > klamm-Lose > Lose4Scripts > Lose4Scripts (erledigt)

 
 
LinkBack Themen-Optionen Ansicht
Alt 04.01.2008, 15:50:59   #1 (permalink)
Creative Director
Benutzerbild von Tomson

ID: 300668
Lose-Remote

Tomson eine Nachricht über ICQ schicken Tomson eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 1.218
Frage MySQL abfrage mit 2 Tabellen (closed)

Hallo Klammer,
mit dem unteren Code kann ich in der Tabelle loger die werte abfragen die zwichen einem Zeitraum liegen. Wie muss der Code angepast werden das ich man sich einen wert aus einer weiteren Tabelle holen kann?

In der Tabelle (loger) sind Item ID's (itemid) die itemid ist in der Tabelle shop die zeile id und da gibt es auch für jede id die zeile preis.

Und ich möchte mir jetzt, nicht nur einfach eine itemid ausgebenlassen so wie es jetzt mit dem unterem Code ist, sondern den preis für die jeweilige itemid. Und ganz unten brauche ich dann ein Gesamtergebnis was alle werte + rechnet... (bitte mit Hunderter Punkt)

In der Tabelle shop Zeile preis sind nur zahlen wie zB. 2500000


PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT * FROM loger WHERE time >= '".$start."' AND time <= '".$end."' ORDER BY time"); 
while(
$log mysql_fetch_array($logs)) 

?>
<?=$log
['itemid'];?>
<? 

?>
Für den richtigen Code gibt es 10.000.000 Lose

Mfg.
Tomson

Geändert von Tomson (04.01.2008 um 16:56:34 Uhr)
Tomson ist offline  
Alt 04.01.2008, 16:04:40   #2 (permalink)
...
Benutzerbild von Pottersen

ID: 236580
Lose-Remote
Reallife

Reg: 02.06.2006
Beiträge: 3.850
Standard

Zitat:
Zitat von Tomson Beitrag anzeigen
(bitte mit Hunderter Punkt)
100er-Punkte???

weiß nich was du meinst

so müsstest du aber deine Summe bekommen

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT * FROM loger WHERE time >= '".$start."' AND time <= '".$end."' ORDER BY time"); 
 
 
$summe 0;
 
while(
$log mysql_fetch_array($logs)) 

?>
<?=$log
['itemid'];?>
<? 
 $res 
mysql_query("SELECT preis FROM shop WHERE id = $log['itemid']");
 
$preis mysql_result($res,0,"preis");
 
 
$summe $summe $preis;

 
 echo 
"$summe";
 
?>



Geändert von Pottersen (04.01.2008 um 16:05:10 Uhr)
Pottersen ist offline  
Alt 04.01.2008, 16:07:44   #3 (permalink)
Creative Director
Benutzerbild von Tomson

ID: 300668
Lose-Remote

Tomson eine Nachricht über ICQ schicken Tomson eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 1.218
Standard

Zitat:
Zitat von Pottersen Beitrag anzeigen
100er-Punkte???

weiß nich was du meinst

so müsstest du aber deine Summe bekommen

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT * FROM loger WHERE time >= '".$start."' AND time <= '".$end."' ORDER BY time"); 
 
 
$summe 0;
 
while(
$log mysql_fetch_array($logs)) 

?>
<?=$log
['itemid'];?>
<? 
 $res 
mysql_query("SELECT preis FROM shop WHERE id = $log['itemid']");
 
$preis mysql_result($res,0,"preis");
 
 
$summe $summe $preis;

 
 echo 
"$summe";
 
?>
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in xx on line 14

Geändert von Tomson (04.01.2008 um 16:18:51 Uhr)
Tomson ist offline Threadstarter  
Alt 04.01.2008, 16:09:19   #4 (permalink)
XHTML|PHP|SQL|C

ID: 227795
Lose-Remote

Reg: 19.09.2006
Beiträge: 985
Standard

Habe nicht ganz verstanden wie die Tabellen aufgebaut sind sonst koennte ich dir das ausgeben.
Für mehrere Tabelle ist entwerder ein INNER JOIN oder EQUI JOIN nötig.
 
Darklord ist offline  
Alt 04.01.2008, 16:10:44   #5 (permalink)
...
Benutzerbild von Pottersen

ID: 236580
Lose-Remote
Reallife

Reg: 02.06.2006
Beiträge: 3.850
Standard

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT * FROM loger WHERE time >= '".$start."' AND time <= '".$end."' ORDER BY time"); 
 
 
$summe 0;
 
while(
$log mysql_fetch_array($logs)) 

?>
<?=$log
['itemid'];?>
<? 
 $res 
mysql_query("SELECT preis FROM shop WHERE id = '$log['itemid']'") or die (mysql_error());
 
$preis mysql_result($res,0,"preis");
 
 
$summe $summe $preis;

 
 echo 
"$summe";
 
?>
irgendwie so, mit array kenn ich mich noch nich so aus aber da fehlen nur irgendwelche " oder '


Pottersen ist offline  
Alt 04.01.2008, 16:12:57   #6 (permalink)
Creative Director
Benutzerbild von Tomson

ID: 300668
Lose-Remote

Tomson eine Nachricht über ICQ schicken Tomson eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 1.218
Standard

Zitat:
Zitat von Pottersen Beitrag anzeigen
irgendwie so, mit array kenn ich mich noch nich so aus aber da fehlen nur irgendwelche " oder '
hm, geht so auch noch nicht...


Zitat:
Zitat von Darklord Beitrag anzeigen
Habe nicht ganz verstanden wie die Tabellen aufgebaut sind sonst koennte ich dir das ausgeben.
Für mehrere Tabelle ist entwerder ein INNER JOIN oder EQUI JOIN nötig.
Die Tabelle loger hat die Zeile itemid

Und die itemid ist in der Tabelle shop glechzeitig die id

Dazu brauche ich jetzt aus der Tabelle shop die Zeile preis

Geändert von Tomson (04.01.2008 um 16:21:38 Uhr)
Tomson ist offline Threadstarter  
Alt 04.01.2008, 16:22:42   #7 (permalink)
Erfahrener Benutzer
Benutzerbild von jimmy08

ID: 127609
Lose-Remote

Reg: 29.04.2006
Beiträge: 298
Standard

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT * FROM loger WHERE time >= '".$start."' AND time <= '".$end."' ORDER BY time"); 
 
 
$summe 0;
 
while(
$log mysql_fetch_array($logs)) 

?>
<?=$log
['itemid'];?>
<? 
 $res 
mysql_query("SELECT preis FROM shop WHERE id = ".$log['itemid']);
 
$preis mysql_result($res,0,"preis");
 
 
$summe $summe $preis;

 
 echo 
"$summe";
 
?>
Das sollte den obigen Fehler beheben.
 
jimmy08 ist offline  
Alt 04.01.2008, 16:24:45   #8 (permalink)
...
Benutzerbild von Pottersen

ID: 236580
Lose-Remote
Reallife

Reg: 02.06.2006
Beiträge: 3.850
Standard

kommt danach nich auch noch sowas hin??

also so:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT * FROM loger WHERE time >= '".$start."' AND time <= '".$end."' ORDER BY time"); 
 
 
$summe 0;
 
while(
$log mysql_fetch_array($logs)) 

?>
<?=$log
['itemid'];?>
<? 
 $res 
mysql_query("SELECT preis FROM shop WHERE id = ".$log['itemid'].");
 
$preis = mysql_result($res,0,"preis");
 
 
$summe = $summe + $preis;

 
 echo "
$summe";
 
?>
Zitat:
Zitat von jimmy08 Beitrag anzeigen
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT * FROM loger WHERE time >= '".$start."' AND time <= '".$end."' ORDER BY time"); 
 
 
$summe 0;
 
while(
$log mysql_fetch_array($logs)) 

?>
<?=$log
['itemid'];?>
<? 
 $res 
mysql_query("SELECT preis FROM shop WHERE id = ".$log['itemid']);
 
$preis mysql_result($res,0,"preis");
 
 
$summe $summe $preis;

 
 echo 
"$summe";
 
?>
Das sollte den obigen Fehler beheben.


Pottersen ist offline  
Alt 04.01.2008, 16:27:10   #9 (permalink)
Creative Director
Benutzerbild von Tomson

ID: 300668
Lose-Remote

Tomson eine Nachricht über ICQ schicken Tomson eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 1.218
Standard

Zitat:
Zitat von jimmy08 Beitrag anzeigen
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT * FROM loger WHERE time >= '".$start."' AND time <= '".$end."' ORDER BY time"); 
 
 
$summe 0;
 
while(
$log mysql_fetch_array($logs)) 

?>
<?=$log
['itemid'];?>
<? 
 $res 
mysql_query("SELECT preis FROM shop WHERE id = ".$log['itemid']);
 
$preis mysql_result($res,0,"preis");
 
 
$summe $summe $preis;

 
 echo 
"$summe";
 
?>
Das sollte den obigen Fehler beheben.
Das ist zu 99,9% top.. geht es noch das ich zu jeder itemid auch den preis habe?
Tomson ist offline Threadstarter  
Alt 04.01.2008, 16:27:59   #10 (permalink)
XHTML|PHP|SQL|C

ID: 227795
Lose-Remote

Reg: 19.09.2006
Beiträge: 985
Standard

Wenn ich richtig verstanden habe geht das so
Code:
1:
2:
3:
4:
5:
SELECT itemid.T1,preis.T2 FROM loger AS T1, shop AS T2 WHERE (time.T1 >= '".$start."' AND time.T1 <= '".$end."') AND itemid.T1 = id.T2 ORDER BY time.T1;
Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Tabelle Logger| ------------------------- itemid | .. Tabelle shop | ------------------------- id | preis | ..
itemid == id

Wird noch nicht alles Addiert!!
 

Geändert von Darklord (04.01.2008 um 16:28:59 Uhr)
Darklord ist offline  
Alt 04.01.2008, 16:33:14   #11 (permalink)
Erfahrener Benutzer
Benutzerbild von jimmy08

ID: 127609
Lose-Remote

Reg: 29.04.2006
Beiträge: 298
Standard

Zitat:
Zitat von Pottersen Beitrag anzeigen
kommt danach nich auch noch sowas hin??

also so:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT * FROM loger WHERE time >= '".$start."' AND time <= '".$end."' ORDER BY time"); 
 
 
$summe 0;
 
while(
$log mysql_fetch_array($logs)) 

?>
<?=$log
['itemid'];?>
<? 
 $res 
mysql_query("SELECT preis FROM shop WHERE id = ".$log['itemid'].");
 
$preis = mysql_result($res,0,"preis");
 
 
$summe = $summe + $preis;

 
 echo "
$summe";
 
?>
Wenn Du wieder ." da hin setzt dann wird das ja noch zum string dazu gepackt. Damit endet Deine Anfrage dann nicht korrekt. Kannst Du auch an der Farbgebung in deinem Code sehen.
Genaugenommen könntest Du ."" schreiben, aber das kannst Du Dir auch sparen.
 
jimmy08 ist offline  
Alt 04.01.2008, 16:33:35   #12 (permalink)
Creative Director
Benutzerbild von Tomson

ID: 300668
Lose-Remote

Tomson eine Nachricht über ICQ schicken Tomson eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 1.218
Standard

Zitat:
Zitat von Darklord Beitrag anzeigen
Wenn ich richtig verstanden habe geht das so
Code:
1:
2:
3:
4:
5:
SELECT itemid.T1,preis.T2 FROM loger AS T1, shop AS T2 WHERE (time.T1 >= '".$start."' AND time.T1 <= '".$end."') AND itemid.T1 = id.T2 ORDER BY time.T1;
Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Tabelle Logger| ------------------------- itemid | .. Tabelle shop | ------------------------- id | preis | ..
itemid == id

Wird noch nicht alles Addiert!!
kannste mir das auch komplet geben?
Tomson ist offline Threadstarter  
Alt 04.01.2008, 16:36:03   #13 (permalink)
Creative Director
Benutzerbild von Tomson

ID: 300668
Lose-Remote

Tomson eine Nachricht über ICQ schicken Tomson eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 1.218
Standard

Zitat:
Zitat von jimmy08 Beitrag anzeigen
Wenn Du wieder ." da hin setzt dann wird das ja noch zum string dazu gepackt. Damit endet Deine Anfrage dann nicht korrekt. Kannst Du auch an der Farbgebung in deinem Code sehen.
Genaugenommen könntest Du ."" schreiben, aber das kannst Du Dir auch sparen.
Parse error: syntax error, unexpected T_STRING in xxx on line 15
Tomson ist offline Threadstarter  
Alt 04.01.2008, 16:36:52   #14 (permalink)
XHTML|PHP|SQL|C

ID: 227795
Lose-Remote

Reg: 19.09.2006
Beiträge: 985
Standard

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT itemid.T1,preis.T2
FROM loger AS T1, shop AS T2
WHERE (time.T1 >= '"
.$start."' AND time.T1 <= '".$end."') 
    AND itemid.T1 = id.T2
ORDER BY time.T1;"
); 
while(
$log mysql_fetch_array($logs)) 

?>
<? 
echo $log['itemid'].' '.$log['preis'];?>
<? 

?>
Wie gesagt der gesamt Preis habe ich noch net aber erstmal gucken ob das so tut.
 
Darklord ist offline  
Alt 04.01.2008, 16:38:21   #15 (permalink)
Creative Director
Benutzerbild von Tomson

ID: 300668
Lose-Remote

Tomson eine Nachricht über ICQ schicken Tomson eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 1.218
Standard

Zitat:
Zitat von Darklord Beitrag anzeigen
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
<?  
include("../config.php"); 
$start "1196463601"
$end "1199141999"
$logs mysql_query("SELECT itemid.T1,preis.T2
FROM loger AS T1, shop AS T2
WHERE (time.T1 >= '"
.$start."' AND time.T1 <= '".$end."') 
    AND itemid.T1 = id.T2
ORDER BY time.T1;"
); 
while(
$log mysql_fetch_array($logs)) 

?>
<? 
echo $log['itemid'].' '.$log['preis'];?>
<? 

?>
Wie gesagt der gesamt Preis habe ich noch net aber erstmal gucken ob das so tut.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in xxx on line 10
Tomson ist offline Threadstarter  
 

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL-Abfrage über 2 Tabellen, wo 2 Bedingungen gleichzeitig erfüllt sein müssen. klausschreiber Programmierung 16 03.09.2008 18:01:52
[MySQL] Abfrage aus zwei Tabellen mailme24.de Programmierung 3 07.06.2007 19:53:00
[PHP/MySQL] Abfrage über 2 tabellen HamburgerJungx Programmierung 8 06.06.2007 05:08:39
[MYSQL] Mit einer Abfrage mehrere Tabellen durchsuchen glowhand Programmierung 18 08.05.2007 22:29:52
PHP & MySQL: Suche Hilfe... Abfrage über drei Tabellen eggman Lose4Scripts (erledigt) 2 09.07.2006 22:28:40


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58:01 Uhr.