Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!

Jetzt kostenlos registrieren

Mehrfache While schleifen verwenden?

Fragen zum Thema PHP können hier gestellt werden

Moderatoren: Basti, Guillermo, Andreas W.

Mehrfache While schleifen verwenden?

Beitragvon ThatMSG am 02.11.2011, 20:08

Moin.
Ich arbeite gerdae an einem mini cms. Nun bin ich beim Abfragen von Daten aus der DB auf ein "Schleifen-Problem" gestoßen.
Ich möchte 3 mal hintereinander eine while schleife abrufen. Nach der ersten bricht er ab und führt die zweite und dritte nicht aus.
Schleife #1:
Code: Alles auswählen
    $ergebnis = $mysqli->query("SELECT id, value1, value2, value3, value4, name, type, category FROM caravan_price WHERE type= '".$_POST['type']."'");
        while(($row = $ergebnis->fetch_array())&&($row['category'] == 1)){ 

Jene wird noch ausgeführt. Die Folgenden nicht mehr!

Schleife #2:
Code: Alles auswählen
    $ergebniss = $mysqli->query("SELECT id, value1, value2, value3, value4, name, type, category FROM caravan_price WHERE type= '".$_POST['type']."'");
        while(($row = $ergebniss->fetch_array())&&($row['category'] == 2)){ ..blabla.. }$ergebnis->close();


Schleife #3:
Code: Alles auswählen
$ergebniss = $mysqli->query("SELECT id, value1, value2, value3, value4, name, type, category FROM caravan_price WHERE type= '".$_POST['type']."'");
        while(($row = $ergebniss->fetch_array())&&($row['category'] == 3)){ ..blabla.. }$ergebnis->close();


Ich danke euch schon einmal.
Webklex.com
Webdesign, Templating & more
Url: www.webklex.com
Blog: http://thatmsg.wordpress.com/
Twitter: @ThatMSG
Projekte: www.webklex.com/components/blog/
Benutzeravatar
ThatMSG
Mitglied
 
Beiträge: 209
Registriert: 08.10.2011, 20:01
Wohnort: Hamburg
Diese Anzeige ist nur für
Nicht-Mitglieder sichtbar!
 
Jetzt kostenlos registrieren

Re: Mehrfache While schleifen verwenden?

Beitragvon Andreas W. am 02.11.2011, 20:24

Guten Abend!

Meiner Meinung nach handelt es sich hier nur um Rechtschreibfehler. Du wirst deine Variabeln wild durcheinander. Mal heißt deine Variabel $ergebnis und manchmal $ergebniss. Du verwendest sie aber nicht entsprechend.

Liebe Grüße

Andreas
Association for Valid wEb DevelOpment - Informatik, Programmierung & Webdesign
http://www.avedo.net
Benutzeravatar
Andreas W.
Web Moderator
 
Beiträge: 1352
Registriert: 09.12.2007, 20:12
Wohnort: Göttingen

Re: Mehrfache While schleifen verwenden?

Beitragvon ThatMSG am 02.11.2011, 20:32

ups ja hatte es damit versucht.. aber auch das wollte nicht...
Wie verwende ich sie denn entsprechend?
Webklex.com
Webdesign, Templating & more
Url: www.webklex.com
Blog: http://thatmsg.wordpress.com/
Twitter: @ThatMSG
Projekte: www.webklex.com/components/blog/
Benutzeravatar
ThatMSG
Mitglied
 
Beiträge: 209
Registriert: 08.10.2011, 20:01
Wohnort: Hamburg

Re: Mehrfache While schleifen verwenden?

Beitragvon Andreas W. am 02.11.2011, 20:45

Eine Fehlermeldung wäre recht hilfreich. Füge mal an den Anfang deines Scripts [php]error_reporting(E_ALL);[/php] ein. Dann sollten sich deine Fragen von selbst klären.

Liebe Grüße

Andreas
Association for Valid wEb DevelOpment - Informatik, Programmierung & Webdesign
http://www.avedo.net
Benutzeravatar
Andreas W.
Web Moderator
 
Beiträge: 1352
Registriert: 09.12.2007, 20:12
Wohnort: Göttingen

Re: Mehrfache While schleifen verwenden?

Beitragvon madde am 02.11.2011, 20:55

Als erstes frage ich mich, warum Du mysql_query 3 mal ausführst, wenn doch eh jedesmal die selben Daten abgefragt werden. Oder sind die Variablen value1, value2 etc. nur symbolisch? Wenn nicht reicht natürlich eine Abfrage. Drei mal die selbe Prozedur starten verlangsamt das Skript unnötig.

Ok, das mit $ergebniss = mysql_query und später dann $ergebnis->close wäre ja schon geklärt.

Wäre es möglich, dass Du nach einem Schleifendurchlauf den Zeiger im Array wieder auf den Anfang zurück stellen musst, bevor Du das Array erneut durchsuchen kannst? Meist ist das nömlich notwendig, habe diesbezüglich mit Arrays unter PHP allerdings keine direkte Erfahrung.

Aber lies mal das hier: http://www.selfphp.info/funktionsuebers ... .php#reset

Könnte viellleicht helfen.
madde
Mitglied
 
Beiträge: 4
Registriert: 01.11.2011, 17:56
Wohnort: Erfurt

Re: Mehrfache While schleifen verwenden?

Beitragvon ThatMSG am 02.11.2011, 21:06

Code: Alles auswählen
reset($ergebnis);
hat nichts gbracht...
Es wird kein Fehler ausgegeben.
Webklex.com
Webdesign, Templating & more
Url: www.webklex.com
Blog: http://thatmsg.wordpress.com/
Twitter: @ThatMSG
Projekte: www.webklex.com/components/blog/
Benutzeravatar
ThatMSG
Mitglied
 
Beiträge: 209
Registriert: 08.10.2011, 20:01
Wohnort: Hamburg

Re: Mehrfache While schleifen verwenden?

Beitragvon ThatMSG am 02.11.2011, 22:26

ich habe es jetzt mit
Code: Alles auswählen
while(($row = $ergebnis->fetch_array())){
            switch($row['category']){
                case 2:
blabla


gemacht. funzt einwandfrei.
Webklex.com
Webdesign, Templating & more
Url: www.webklex.com
Blog: http://thatmsg.wordpress.com/
Twitter: @ThatMSG
Projekte: www.webklex.com/components/blog/
Benutzeravatar
ThatMSG
Mitglied
 
Beiträge: 209
Registriert: 08.10.2011, 20:01
Wohnort: Hamburg

Re: Mehrfache While schleifen verwenden?

Beitragvon Guillermo am 02.11.2011, 23:33

Hi ThatMSG,

du solltest auch gleich von Anfang an auf die Sicherheit deiner Skripte achten. Momentan schreibst du die Daten des Formulars direkt in die SQL-Anfrage, du solltest sie vorher filtern / auf gewünschte Inhalte hin überprüfen, andernfalls bist du ein leichtes Ziel für SQL-Injections.
Zur weiteren Vertiefung: http://de.wikipedia.org/wiki/SQL-Injection .

Viele Grüße,
Guillermo
Gebildet ist der, der weiß, wo er findet, was er nicht weiß.
Benutzeravatar
Guillermo
Moderator
 
Beiträge: 1093
Registriert: 01.10.2007, 18:18
Wohnort: Bayern

Re: Mehrfache While schleifen verwenden?

Beitragvon ThatMSG am 02.11.2011, 23:36

Aber ist doch innerhalbs eines acps ist also schon "abgesichert". Reicht das nicht? Oder sollte man die immer absichern?
Aber danke, sicherlich schadet es nicht sich soetwas gleich anzugewöhnen.
Webklex.com
Webdesign, Templating & more
Url: www.webklex.com
Blog: http://thatmsg.wordpress.com/
Twitter: @ThatMSG
Projekte: www.webklex.com/components/blog/
Benutzeravatar
ThatMSG
Mitglied
 
Beiträge: 209
Registriert: 08.10.2011, 20:01
Wohnort: Hamburg


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste