kostenloser Webspace werbefrei: lima-city


while & for Schleife kombinieren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    marvinkleinmusic

    Kostenloser Webspace von marvinkleinmusic

    marvinkleinmusic hat kostenlosen Webspace.

    Hallo Zusammen,

    Ich habe gerade ein Problem mit 2 Schleifen.

    Ich möchte in der einen Schleife eine andere Schleife öffnen. Allerdings hier erstmal der Code:
    <?php
    						for ($i=0; $i < 3; $i++) {
    							while($get_msg_data_array = $get_msg_data->fetch_array()){
    								$sender_id = $get_msg_data_array['user_id'];
    								$get_msg_sender_data = $db->query("SELECT * FROM users WHERE id='$sender_id'");
    								$get_msg_sender_data_array = $get_msg_sender_data->fetch_array();
    								
    							
    						?>
                            <li>
                                <a href="#" data-toggle="modal" data-target="#myModal<?php echo $i; ?>">
                                    <div>
                                        <strong><?php echo $get_msg_sender_data_array['username']; ?></strong>
                                        <span class="pull-right text-muted">
                                            <em><?php echo $get_msg_data_array['date']; ?></em>
                                        </span>
                                    </div>
                                    <div><?php echo $get_msg_data_array['message']; ?></div>
                                </a>
                            </li>
    						<li class="divider"></li>
    						<?php
    							}
    						}
    						?>


    Der Sinn dabei soll sein das im Quelltext 3 Abschnitte erscheinen mit der jeweiligen data-target="#myModal0-2"
    Wo jeweils bestimmter Inhalt drin reingeladen wird per Whileschleife.

    Nun das Problem das ich jetzt habe ist das der Code oben zwar geht allerdings gibt es im Quelltext nur das datatareg mit 0 und 1 & 2 fehlen jeweils.

    Wenn ich zuerst die Whileschleife ausführe und dann die For Schleife, habe ich zwar meine Zahlen, allerdings fehlt dann der Inhalt/ist Fehlerhaft.

    Hat jemand eine Idee?

    LG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das Problem an dieser Stelle ist, dass bei $i=0 mit $get_msg_data->fetch_array() jeweils der nächste Datensatz ausgewählt wird bis keine Datensätze mehr übrig sind. Dann sind bei $i=1 erst recht keine Daten mehr übrig und genauso bei $i=2.

    Ich würde also erst ein Array erstellen und darein die Ergebnisse der Anfrage laden und es dann dreimal ausgeben. Wenn die Gefahr besteht, dass die Datenmenge für das Array zu groß ist (oder generell als Alternative) könnte man auch versuchen den "Datenbank-Cursor" am Ende der While-Schleife zurückzusetzen, sodass die Daten beim nächsten $i wieder von vorne gelesen werden.

    Beitrag zuletzt geändert: 14.9.2014 23:04:38 von masysma
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!