Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
mysql-abfrage nachsortieren [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
mysql-abfrage nachsortieren


 
pladde
08-08-2006, 16:17 
 
Hallo liebe Leute,

ich habe ein Problem, bei dem ich nicht weiterkomme. Vielleicht kann mir einer hier einen Anstoß geben, wie sich das Problem lösen läßt.

Also die Ausgangssituation:

Beispieltabelle Waren

id | warenname | preis | rabatt
1 | weizenbrot | 10 | -5
2 | roggenbrot | 8 | -1
3 | toastbrot | 5 | 0

Die 3 Waren im Musterbeispiel nach dem Preis sortiert auszuwerfen ist kein Problem. Dafür gibt es ja ORDER BY.

ABER: Ich möchte in der WHILE-Schleife vor der Ausgabe jedes Datensatzes den Rabatt von Preis abziehen und dann die komplette Schleife nach dem richtigen Preis (Preis - Rabatt = richtiger Preis) sortiert auswerfen.

Für Lösungsvorschläge wäre ich dankbar.

 
ghostgambler
08-08-2006, 16:20 
 
Für die Berechnung für den richtigen Preis doch gleich in SQL aus, dann kannst du wieder danach sortieren

 
pladde
08-08-2006, 16:23 
 
Ich habe nicht ganz verstanden, was du meinst.

Noch ein Hinweis: Im Beispiel verwende absichtlich zur Vereinfachung nur eine Tabellenfeld, das Einfluß auf den Endpreis nimmt. In der geplanten Tabelle sind über 20 Faktoren vorhanden. Deshalb brauche ich eine Lösung die erweiterbar ist.

 
newphp
08-08-2006, 17:00 
 
ein einfach Beispiel wäre folgendes


$sql="SELECT warenname, preis, rabatt,preis + rabatt AS preisnetto
FROM deinetabelle ORDER BY preis";

$hdl=mysql_query()
while($erg=mysql_fetch_array($hdl))
{
foreach($erg as $value)
{
echo $value;
}
echo "<br>";

}


gibt: weizenbrot 10 -5 5


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:13 Uhr.