Christian Leicht: Eintrag aus array löschen

Hallo, die Überschrift ist etwas verwirrend aber:

Ich habe in einer while Schleife eine DB Anfrage. Per mysql_fetch_row($result) wird ein Array erzeugt das den Inhalt einer mySQL Abfrage enthält.

while ($feld=mysql_fetch_row($result)){
.....Weitere Berechnungen ....

};

Jetzt will ich wärend die while Schleife läuft, Einträge aus dem "$feld" Array löschen. Wird dadurch auch die laufende While Schleife verkleinert ?

Also ich habe in der Schleife ursprünglich 1000 Einträge. Im ersten While Durchlauf lösche ich gleich 500 Array Einträge. Werden dann nur noch 500 While Schleifen ausgeführt oder laufen noch weitere 999 ab ?

Besten Dank für Hinweise

Christian

  1. Hallo,

    while ($feld=mysql_fetch_row($result)){
    .....Weitere Berechnungen ....
    };
    Jetzt will ich wärend die while Schleife läuft, Einträge aus dem "$feld" Array löschen. Wird dadurch auch die laufende While Schleife verkleinert ?

    Die Schleife wird sooft durchlaufen wie es Zeilen im Resultset gibt. Du kannst ja leicht einen Zähler einbauen und den mit echo am Bildschirm ausgeben.
    Gruß
    Viennamade

  2. Hi,

    Ich habe in einer while Schleife eine DB Anfrage. Per mysql_fetch_row($result) wird ein Array erzeugt das den Inhalt einer mySQL Abfrage enthält.
    while ($feld=mysql_fetch_row($result)){
    Jetzt will ich wärend die while Schleife läuft, Einträge aus dem "$feld" Array löschen. Wird dadurch auch die laufende While Schleife verkleinert ?

    sofern ich dich richtig verstehe, willst du Datensätze aus $result löschen, oder was? Denn ansonsten wird die schleife nicht "verkleinert" - zumindest wenn man diese seltsame formulierung gewissermaßen versucht zu interpretieren (nicht gegen dich...).

    Willst du vielleicht also ein Element aus $feld löschen? Das bringt dir nur nicht soooo viel, da die variable mit ihren inhalten sowiso beim nächsten durchlaufen der schleife gelöscht wird bzw. von dem neuen array, dass mysql_fetch_row zurückliefert, überschrieben wird.

    ansonsten: unset($list[ELEMENT]); löscht aus $list das Element mit der Bezeichnung [ELEMENT], z.B. unset($list[0]);...

    Also ich habe in der Schleife ursprünglich 1000 Einträge. Im ersten While Durchlauf lösche ich gleich 500 Array Einträge. Werden dann nur noch 500 While Schleifen ausgeführt oder laufen noch weitere 999 ab ?

    hmm - so wie ich dich jetzt schon wieder verstehe, willst du doch was aus dem datensatz-query-rückgabe-dingsdabums $result löschen? Das geht  nicht, du musst es bei deiner while() einfach ignorieren und z.B. mit continue; weiterspringen.

    Wauwau

    --
    Wau - hier ist mein Selfcode:
    ss:) zu:) ls:< fo:~ de:] va:) ch:° n4:# rl:( br:< js:| ie:% fl:| mo:|
    [mein alter sah optisch irgendwie besser aus ;-)]