phpbar.de logo

Mailinglisten-Archive

[php] arrayprobleme ....

[php] arrayprobleme ....

Cyrill Schumacher webmasterbhs_(at)_bluewin.de
Fri, 10 Sep 1999 22:50:42 +0200


Ich fasse es nicht !!!
Mir ist soeben ein riesiger Kronleuchter aufgegegangen !!!
Dank Oli !

die anzahl $maxgeräte, wie er unten schreibt, ergibt sich dann
aus der anzahl der zeilen in der mysql db !
floglich muss das array immer so oft durchlaufen werden, dabei können
einzelne wert set und unset sein.
und damit man nicht immer das ganze array angezeigt bekommt,
kann man per if (isset($array[$i])) sagen, was angezeigt werden soll !

<?php Kiri(); ?>


----- Original Message -----
From: Oliver Kummerow <naklar_(at)_altavista.net>
To: Cyrill Schumacher <webmasterbhs_(at)_bluewin.de>
Sent: Friday, September 10, 1999 9:42 PM
Subject: Re: [php] arrayprobleme ....


Hallo Cyrill,

> zu 1 aber hast du keine lösung ?????????
> ich schon, wenn ich wüsste wie ein neues array kommt...
> folgendes, vielleicht ist dir klar was ich damit meine mit neuem array:
> das ganze ist in elseif "ändern"

Alles andere ausser 1 ist mir nur so am Rand aufgefallen. 1. ist ganz
klar der core-Fehler.

Ich versuche mal zusammenzufassen: wenn $changegeraet[3]="sharp-gerät"
ist, dann kommt das aus der-URL-Variablen, in der Du
dbgeraet%5B3%5D=sharp-ger%E4t übergeben hast.

Ein Array ist ein Konstrukt, das eigentlich nicht in eine URL-Zeile
gehört. PHP macht flexiblerweise wieder ein Array draus, aber
initialisiert natürlich die vorhergehenden und zwischendrin fehlenden
Werte nicht. D.h. wenn Du den 3. Eintrag auswählst, ist
count($Array)==1.

Du zählst in der Schleife aber über den Index hoch: 0-1-2-3-4 usw. Wenn
count=1, gibt es nur einen Schleifendurchlauf und $dbgeraet[3] wird
nicht gefunden, da nur $dbgeraet[0] erweischt wird. Ergibt i.ü. dann den
Initialisierungsfehler, weil $dbgeraet[0] unset ist.

Du solltest vielleicht versuchen, count nicht zu verwenden und einfach
bis zur maximalen Geräteanzahl hochzuzählen, dann wird $dbgeraet[3] auch
gefunden: for ($x = 0; $x < $maxgeraete; $x++ )


> gerade ausprobiert:
> klickt der user 1, 4 und 5 an zeigt mir count zwar
> 3 an, aber es wird nur das 1. Produkt ausgeben ...
> obwohl die schleife hätte dreimal durchlaufen werden sollen....
>
> <?php Kiri(); ?>
>

JA! Natürlich. Mit count==3 ist und bleibt $Array[0] UNSET, $Array[1]
UNSET, $Array[2] UNSET und hier ist count zu Ende. $Array[4] und
$Array[5] werden nicht mehr abgefragt.

Dämmert jetzt was?



Mit freundlichen Grüßen,
Oliver Kummerow
email: naklar_(at)_altavista.net




php::bar PHP Wiki   -   Listenarchive