tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von ComFreek
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
350
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    phpameise phpameise ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    65
    Liebe Experten und Hobbie Programmierer,
    kann mir einer helfen? Ich habe ein Formular mit MySQL Datenbankanbindung erstellt. Alle Felder laufen prima. Auch die Comboboxen funktionieren. Ich fülle sie zum Teil mit Daten aus bestimmten Tabellen und schreibe dann den vom User ausgewählten Wert in eine User Tabelle. Der User hat dann die Möglichkeit seine Auswahl nach einem erneuten Login zu verändern und erneut abzuspeichern:

    Bsp Haarfarbe:
    PHP-Code:
    <td width="26%"><select name="Haarfarbe" class="" id="Haarfarbe">
    <option value="0" selected>Bitte ausw&auml;hlen</option>
    <?php
    do {
    ?>
    <option value="<?php echo $row_Haarfarbe_Satz['Farbe']?>"<?php if (!(strcmp($row_Haarfarbe_Satz['Farbe'], $row_settings['Haarfarbe']))) {echo "selected=\"selected\"";} ?>><?php echo $row_Haarfarbe_Satz['Farbe']?></option>
    <?php
    } while ($row_Haarfarbe_Satz mysql_fetch_assoc($Haarfarbe_Satz));
    $rows mysql_num_rows($Haarfarbe_Satz);
    if(
    $rows 0) {
    mysql_data_seek($Haarfarbe_Satz0);
    $row_Haarfarbe_Satz mysql_fetch_assoc($Haarfarbe_Satz);
    }
    ?>
    </select></td>
    ...mysql_query("UPDATE tblTestPersonal SET
    `Haarfarbe` = '$data[Haarfarbe]'
    WHERE id='$_SESSION[user_id]'
    ") or die(mysql_error());....
    Das funktioniert alles perfekt.

    Jetzt habe ich eine Combobox die nicht aus einr Tabelle gefüllt wird. Es ist die Combobox GeburtsJahr.
    Der Nutzer soll mindestens 14 Jahre alt sein und die dort angebotenen Jahreszahlen verändern sich natürlich im laufe der Jahre automatisch.
    Das geht auch.
    PHP-Code:
    <select name="GeburtsJahr" class="pflichtfelder" id="GeburtsJahr">
    <option value="<?php
    // Jahres-Auswahlliste
    $Jahre 100// Anzahl der Jahre
    $ThisYear date("Y")-14;
    for (
    $i 1$i $Jahre$i++) {
    echo 
    "<option value=\"$ThisYear\">$ThisYear</option>\r";
    $ThisYear--;
    }
    ?>">
    </option>
    </select>
    Jetz aber der Punkt an dem ich Hilfe brauche:
    Wie kann ich die Combobox ähnlich der Haarfarbe mit dem bereits durch den Benutzer eingestellten Wert starten und dennoch die Jahreszahlformel oben einbinden, damit der User theoretisch sein Geburtsjahr korrigieren kann.
    Hat jemand Lust mir zu helfen? Danke
     

  2. #2
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Das Feld, das bei einem Select-Tag ausgewählt ist, bestimmt man durch das Attribut "selected" im jeweiligen Option-Tag.

    Somit muss du in der Schleife überprüfen, ob der Wert aus deiner DB mit $ThisYear übereinstimmt.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  3. #3
    phpameise phpameise ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    65
    Mit der Haarfarbe und "selected" habe ich es hinbekommen. Aber wie ich in die ganze Grammatik diese "ThisYear" Formel einbinden kann - keine Ahnung. Danke trotzdem.
     

  4. #4
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Du musst einfach bei jedem Durchgang in der Schleife diese Bedingung prüfen.

    Also:
    PHP-Code:
    <?php
      
      
    if ($thisYear == $yearSavedInDatabase)
      {
         
    /* <option> mit selected-Attribut ausgeben */
      
    }
      else
      {
        
    /* <option> _ohne_ selected-Attribut ausgeben */
      
    }

    ?>
    Den Code für den else-Zweig hast du ja bereits.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  5. #5
    phpameise phpameise ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    65
    Da ist wohl noch was komplett daneben?
    PHP-Code:
    <select name="GeburtsJahr" id="GeburtsJahr">
     <?php
    // Jahres-Auswahlliste
    $Jahre 100// Anzahl der Jahre
    $ThisYear date("Y")-14;
    for (
    $i 1$i $Jahre$i++)
    if (
    $ThisYear == $row_settings['GeburtsJahr'])
    {
    echo 
    "<option selected value=\"$ThisYear\">$ThisYear</option>\r";
    $ThisYear--;
    } else {
    echo 
    "<option value=\"$ThisYear\">$ThisYear</option>\r";
    $ThisYear--;
    }
    ?>

    </select>
     

  6. #6
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Du hat nur die Klammern der For-Schleife vergessen:
    PHP-Code:

    <select name="GeburtsJahr" id="GeburtsJahr">
     <?php
    // Jahres-Auswahlliste
    $Jahre 100// Anzahl der Jahre
    $ThisYear date("Y")-14;
    for (
    $i 1$i $Jahre$i++)
    {
      if (
    $ThisYear == $row_settings['GeburtsJahr'])
      {
        echo 
    "<option selected=\"selected\" value=\"$ThisYear\">$ThisYear</option>\r";

      }
      else
      {
        echo 
    "<option value=\"$ThisYear\">$ThisYear</option>\r";  
      }
      
    $ThisYear--;
    }
    ?>
    </select>
    Nächstes Mal, bitte deinen Code in sog. Code-Tags einfügen, z.B. [php]-Code-[/php] für PHP.
    phpameise bedankt sich. 
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  7. #7
    phpameise phpameise ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    65
    Mensch Super! - und mit den Code-Tags mache ich. Danke noch einmal.
     

Ähnliche Themen

  1. ComboBox füllen
    Von Shingles1985 im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 26.07.11, 21:16
  2. [c#, ADO] ComboBox füllen
    Von WiZdooM im Forum .NET Datenverwaltung
    Antworten: 0
    Letzter Beitrag: 27.02.09, 22:58
  3. ComboBox füllen
    Von BlockeR im Forum PHP
    Antworten: 3
    Letzter Beitrag: 28.11.08, 12:56
  4. Access, ComboBox gemäß ComboBox füllen?
    Von pglw im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 17.09.06, 22:08
  5. ComboBox füllen
    Von Katalysator im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 30.04.04, 16:39

Stichworte