zeile aus $result entfernen
am 18.10.2004 21:57:49 von Mark Knochen
Hallo,
ich mache eine DB-Abfrage nach dem Schema:
$result = SELECT * FROM .....
Nun möchte ich, bevor ich das $result durch eine
ausgebende Schleife laufen lassen auf die darin
enthaltenen $row prüfen. Kann ich aus dem
"nackten" $result schon Zeilen entfernen bevor ich
weiter damit hantiere?
Danke
Mark
Re: zeile aus $result entfernen
am 18.10.2004 22:23:03 von Niels Braczek
Mark Knochen schrieb:
> ich mache eine DB-Abfrage nach dem Schema:
> $result = SELECT * FROM .....
>
> Nun möchte ich, bevor ich das $result durch eine
> ausgebende Schleife laufen lassen auf die darin
> enthaltenen $row prüfen. Kann ich aus dem
> "nackten" $result schon Zeilen entfernen bevor ich
> weiter damit hantiere?
Nein.
MfG
Niels
--
> Bitte stelle auch das Plenken (Leerzeichen vor Satzzeichen) ein.
sorry die doofe Frage : Wo stelle ich das ein, habe in den Settings von
Outlook Newsreader nix gefunden
[Klaus Gromann in dclpm]
Re: zeile aus $result entfernen
am 18.10.2004 22:24:31 von Daniel Jaenecke
Mark Knochen schrieb:
> ich mache eine DB-Abfrage nach dem Schema:
> $result = SELECT * FROM .....
16.14. Warum soll ich nicht SELECT * schreiben?
http://www.php-faq.de/q/q-sql-select.html
> Nun möchte ich, bevor ich das $result durch eine
> ausgebende Schleife laufen lassen auf die darin
> enthaltenen $row prüfen. Kann ich aus dem
> "nackten" $result schon Zeilen entfernen bevor ich
> weiter damit hantiere?
Ja, indem Du Deinem SELECT-Statement die entsprechenden Bedingungen (WHERE)
hinzufügst. Nicht benötigte Datensätze nachträglich per PHP zu entfernen
ist Unsinn.
Gruß
-dj-
--
They both savoured the strange warm glow of being much more ignorant
than ordinary people, who were only ignorant of ordinary things.
[Terry Pratchett, Equal Rites]
Re: zeile aus $result entfernen
am 19.10.2004 12:01:58 von Michael Rittweger
Mark Knochen schrieb:
> $result = SELECT * FROM .....
> "nackten" $result schon Zeilen entfernen bevor ich
Nein, denn $result ist nicht die "Datenmenge", sondern mehr nur das Flag, ob
die Abfrage erfolgreich war (so grob, mehr oder weniger).
Das eigentliche Ergebnis holst Du dann erst danach mit Deinem $row
häppchenweise, vergleichbar mit einer Textdatei, die Du zeilenweise
einliest. (Das $result wäre dann vergleichbar mit fileexist() oder so
ungefähr.)
Wenn Du also nur einzelne, bestimmte Datensätze nicht dargestellt haben
willst, kannst Du das primär nur erledigen, indem Du das in der Schleife
machst, die zeilenweise die Datensätze verarbeitet.
Sinnvoller ist es aber meistens, die nicht benötigten Datensätze bereits im
SELECT herauszufiltern. Wenn Dein PHP-Code weiß, welche Datensätze nicht
benötigt werden, dann darf Deine SQL-Abfrage das auch ruhig erfahren.
Etwas schwierger wird's höchstens, wenn man so ein verqueres Tabellen-Design
hat, wo im 1. Datensatz, den man sich holt, Informationen stehen, welche
Kriterien die folgenden Datensätze erfüllen müssen bzw. nicht dürfen. Sowas
'krankes' hatte ich in meinen ersten Gehversuchen mit Delphi 1,
Paradox-Tabellen und SQL auch mal gebaut. *schauder*
> Mark
Gruß, Michael
Re: zeile aus $result entfernen
am 19.10.2004 12:46:22 von Ulrich Gehauf
"Mark Knochen" schrieb am 18 Okt 2004:
> Hallo,
>
> ich mache eine DB-Abfrage nach dem Schema:
> $result = SELECT * FROM .....
>
> Nun möchte ich, bevor ich das $result durch eine
> ausgebende Schleife laufen lassen auf die darin
> enthaltenen $row prüfen. Kann ich aus dem
> "nackten" $result schon Zeilen entfernen bevor ich
> weiter damit hantiere?
Mal eine Frage...
Wenn du einkaufen gehst, packst du dann auch erst mal alles in den
Wagen, was der Supermarkt zu bieten hat und sortierst dann an der Kasse
aus, was du nicht brauchst?
Gruß
Uli