Hallo,
ich würde gerne eine Abrage starten nur habe ich ein Problem.
Ich möchte nur Daten Ausgeben wenn bei einem bestimmten Wert in der Spalte how der Wert ‚Give‘ zuerst vorkommt.
Wenn aber zuerst ‚Take‘ vorkommt soll der Wert bei der Ausgabe ignoriert werden.
Hat jemand eine Idee wie man so etwas realisieren könnte?
Nein, das meine ich leider nicht.
Damit wird nur ausgeben welcher Wert in der Spalte Give bestizt und dies besitzt jeder.
Ich erweiter mal das beispiel:
vnum how
1 Give
1 Take
1 Give
2 Take
2 Give
3 Take
3 Give
3 Take
4 Give
4 Take
5 Give
5 Take
5 Give
Die Ausgabe: 1 4 5
Du hättest gleich genauer schreiben sollen, dass bei der Änderung von vnum geprüft werden soll …
Mein Lösungsansatz:
[php]
$aktuelleVnum = 0;
while($row = mysql_fetch_array($result)) {
//prüfen ob sich vnum ändert
if($row[‚vnum‘] != $aktuelleVnum) {
//prüfen ob how == Give ist
if($row[‚how‘] == ‚Give‘) {
$zahlen = $row[‚vnum‘];
}
$sql1 = „SELECT what FROM log WHERE who=‚17658‘“;
$ergebnis1 = mysql_query($sql1);
while($row = mysql_fetch_array($ergebnis1)) {
$accountid = $row[‚what‘];
if($row[‚what‘] != $aktuelleVnum) {
//prüfen ob how == EXCHANGE_GIVE ist
if($row[‚how‘] == ‚EXCHANGE_GIVE‘) {
$zahlen = $row[‚what‘];
}
//aktuelle what setzen
$aktuelleVnum = $row['what'];
}
}
echo implode(’ ‚, $zahlen); [/PHP]Das ist nun was ich mithilfe deines scripts gemacht habe nur folgender Fehler erscheint: Warning: implode() [function.implode]: Bad arguments on line 24
Line 24: echo implode(‘ ', $zahlen);
Habe ich etwas falsch gemacht?
Vermutlich wird kein Mal die Bedingung erfüllt und von daher auch das Array $zahlen nicht erzeugt. Kann dir nichts genaueres sagen, da ich nicht mehr weiß, als hier steht.
Kannst ja testweise die Werte sofort ausgeben in Zeile 16 (?) oder sonst ein bisschen rumprobieren. Ich habs nicht getestet, es war eine Lösungsidee.