PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grundlagen Select und Addition


zergo
23.07.2009, 11:00:01
also,

ich könnt vielleicht noch hilfe gebrauchen beim datenbankabfragen:

meine tabelle sieht wie folgt aus:

id lvl exp
1 1 0
2 2 4
3 3 6
4 4 10

und wie müsste ich das jetzt machen, das ich im formular eingebe 1 und 3, das ich am ende dann das ergebnis von id1+id2+id3 habe und die werte in der exp spalte sollen zusammen gerechnet werden.

mfg zergo

[mod: verschoben]

Indyk
23.07.2009, 11:16:25
Hallo Zergo, bitte nur eine Frage pro Thread. Habe diese Jetzt nach MySQL verschoben.

DokuLeseHemmung
23.07.2009, 11:33:13
Ach komm, das sind einfachste Grundlagen... arbeite doch bitte ein paar Tutorials durch.
SELECT SUM(exp) AS Summe
FROM deine_tablelle
WHERE id BETWEEN 1 AND 3

zergo
23.07.2009, 12:43:30
ok mein code sieht jetzt wie folgt aus:

<?php


mysql_connect("localhost", "name","passwort") or die
("Keine Verbindung moeglich");
mysql_select_db("laghaim") or die
("Die Datenbank existiert nicht");


$abfrage = "SELECT exp From level WHERE id= $_POST["zahl1"]";
$abfrage = "SELECT exp From level WHERE id= $_POST["zahl2"]";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo $row->exp;
}


echo $row->exp;

?>

ich glaub die abfrage bei id ist schon nicht ganz richtig oder?
wie müsste das also aussehen, das ich die zahlen die ich beim formular eingegeben habe dort als id benutzen kann und wie müsste die formel bei ergebnis sein?

vt1816
23.07.2009, 12:52:05
Wieso macht Du die Abfrage ncht so wie von Doku vorgeschlagen? Was ist daran so schwer, sie an Deine Bedürfnisse anzupassen?


SELECT SUM(exp) AS Summe
FROM level
WHERE id BETWEEN {$_POST['zahl1']} AND {$_POST['zahl2']}

Indyk
23.07.2009, 12:53:46
DokuLeseHemmung hat es dir doch bereits vorgekaut?

und so wie du die werte aus $_POST versuchst in den String einzubauen wird es nicht funktionieren. Wir haben dich mehrmals darauf hingewiesen das dir Grundlagen fehlen.
(Wie man Array-Felder in String einbaut gehört dazu!)


$sql =
"
SELECT
SUM(exp) AS Summe
FROM
deine_tablelle
WHERE
id BETWEEN ".$_POST['zahl1']." AND ".$_POST['zahl2'].";";


dir den string ausgeben zulassen wenn etwas nicht funktioniert ist auch keine schlechte idee

echo $sql ;


auf die summe greifst du dann über $row->Summe zu

DokuLeseHemmung
23.07.2009, 13:09:00
Genau!
Und wenn man jetzt noch SQl-Injections unterbindet, dann ist das eine richtig robuste Angelegenheit.

PS:
Wenn man irgendwelche Wörter und Befehle nicht versteht, dann leisten die zugehörigen Handbücher eine gute Hilfe! Auch Google fördert so manche Perle ans Licht.
z.B: http://dev.mysql.com/doc/refman/5.1/de/index.html