Ergebnis 1 bis 5 von 5

Thema: for Schleife in while Schleife

  1. #1
    Teeny
    Registriert seit
    19.12.2007
    Beiträge
    24
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard for Schleife in while Schleife

    Hi
    dreh grad wieder mal durch weil ich es nicht checke.

    Folgender Code füllt mir mein Dropdown nicht richtig
    Code:
    $query = "SELECT a.id, a.ballon_id,  a.ballon_name, a.ballon_start, a.ballon_ende
    from  ballon a where ballon_id = '$obj_id'";
    $result = mysql_query($query)
          or die("Anfrage fehlgeschlagen: <br>". mysql_error() ."<br>");
     
    $ballon_db="<table align='center' class='table_schrift' bgcolor='#F2F2F2' width='760' border='1' cellspacing='2' cellpadding='2'>";
    $ballon_drop_start_day="<select name='ballon_start_day_new'";
     
    while ($line = mysql_fetch_array($result)) {
     
    //Timestamp zu Tag
    $ballon_start_day = date("j",$line[ballon_start]);
    // Ende Timestamp zu Tag
     
    for($y=0;$y < 32;$y++)
     {
      $ballon_drop_start_day .='<OPTION value="'.$y.'"';
      if($ballon_start_day == $y) 
       $ballon_drop_start_day .='selected';
      $ballon_drop_start_day .='>'.$y.'</OPTION>';
     }
    $ballon_db .="<tr><td>$ballon_drop_start_day</select></td></tr>";
    }
    $ballon_db .="</table>
    Das Problem dabei ist jetzt das mir das Dropdown je nach dem wieviel Ergebnisse es gibt doppelt und dreifach gefüllt wird.

    Entweder seh ich den Wald vor lauter Bäumen nicht, da mir keine Lösung dazu einfällt oder ich bin zu bescheuert.

    Vielleicht weiß ja jemand von euch rat.
    Danke
    Morrers
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    04.04.2005
    Beiträge
    4.139
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: for Schleife in while Schleife

    Ich hab das ganze nicht ausprobiert, aber ich vermute den Fehler im HTML Syntax

    der <select Tag wird nie geschlossen.

    1. Zeile
    PHP-Code:
    $query 'SELECT a.id, a.ballon_id,  a.ballon_name, a.ballon_start, a.ballon_ende
    from  ballon a where ballon_id = '
    .(int)$obj_id
    (int) wandelt die Variable in eine Zahl um, damit nicht SQL Code mitgegeben werden kann. -> SQL Injection

    ca. 6. Zeile
    PHP-Code:
    $ballon_drop_start_day='<select name="ballon_start_day_new">'
    ca. 10. Zeile (falls ballon_start keine Konstante ist!)
    PHP-Code:
    $ballon_start_day date("j",$line['ballon_start']); 
    die ' bei ballon_start vermeiden einen PHP Fehler.

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    19.12.2007
    Beiträge
    24
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: for Schleife in while Schleife

    Hallo
    die obj_id ist bereits ein Zahl, also muss da glaub ich nix geändert werden.
    Das select wir geschlossen und zwar in der ballon_db.

    Das hier ist der Timestamp aus der Datenbank der für jeden Eintrag anders ist
    Code:
    $ballon_start_day = date("j",$line['ballon_start']);
    Gruß
    Morrers
    Geändert von morrers (23.12.2008 um 10:54 Uhr)

  4. #4
    Meister(in)
    Registriert seit
    15.01.2007
    Ort
    Hannover
    Beiträge
    382
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: for Schleife in while Schleife

    rein der verständlichkeit...
    ballon_id ist ein primarykey bzw unique? dann brauchst du keine while schleife... und ich würde in den select ein limit 1 reinmachen wenn dem so ist

    Du definierst in der sql abfrage ein "ballon as a" und fragst dann ballon_id = '$obj_id'
    ich bin mir gerade nicht sicher aber es muss a.ballon_id = '...' heißen wenn du schon ein alias definierst... und ich würde '".$obj_id."' schreiben, da nur die einfachen zu problemen führen können.

    so weiter, was haben wir noch....

    for($y=0;$y < date("t",$line[ballon_start]);$y++)

    so damit machst du deine for schleife nur noch so oft, wie auch wirklich tage ein monat hat... z.B. 28

    mach mal eine zeile vor dem while ein
    Code:
    echo "<pre>";
    print_r($result);
    echo "</pre>";
    damit gibst du das komplette ergebnis aus und du siehst ob dein querry falsch ist oder deine schleife.

    gruß

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    19.12.2007
    Beiträge
    24
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: for Schleife in while Schleife

    Hallo gerade eben gefunden
    Es gibt in dem Sinn keinen Fehler, nur die Schleife darf sich oben natürlich nicht widerholen, ich musste die for Schleife einfach ins baloon_db integrieren.

    Gruß
    Morrers
    Manchmal muss man einfach über ein Problem schlafen.
    Danke für eure Hilfe

Ähnliche Themen

  1. while schleife
    Von Walerik im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 4
    Letzter Beitrag: 18.01.2008, 17:25
  2. Zeitleisten und Schleife
    Von McPokers im Forum Flash Forum
    Antworten: 2
    Letzter Beitrag: 02.05.2007, 15:47
  3. Problem mit do/while Schleife
    Von tenshi im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 05.11.2006, 13:50
  4. Problem mit do/while Schleife
    Von tenshi im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 04.11.2006, 18:38
  5. AS: Movieclipeigenschaften in Schleife
    Von Feiv im Forum Flash Forum
    Antworten: 0
    Letzter Beitrag: 14.10.2006, 01:19

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •