Ankündigung

Einklappen
Keine Ankündigung bisher.

dyn. Listenfeld in wiederholtem Bereich

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • dyn. Listenfeld in wiederholtem Bereich

    Hi NG,
    ich verzweifle seit zwei Tagen an einem Problem:

    PHP und mySQL.
    Daten aus einer Tabelle werden in einer wiederholten Tabelle aufgelistet (zum Ändern/Löschen).
    Ansich kein Problem...

    Nur darin erscheint ein Listenfeld, was dynamische Optionen aus einer anderen Tabelle anzeigt. Ansich auch kein Problem, nur der wiederholte Bereich für das Menü.... der verträgt sich eben nicht mit den der gesamten Tabelle....

    Hier mal der Code des Menüs/Liste:
    -----------------------------------------
    <select name="id_day">

    <?php
    do {
    ?>
    <option value="<?php echo $row_day['id']?>" <?php if (!(strcmp($row_day['id'], $row_programm['id_day']))) {echo "SELECTED";} ?>><?php echo $row_day['day_de']?></option>
    <?php
    } while ($row_day = mysql_fetch_assoc($day));
    ?>
    </select>
    ------------------------------------------

    Kann mir hier jemand von Euch helfen???
    Danke


  • #2
    Re: dyn. Listenfeld in wiederholtem Bereich

    Zitat von TELLO
    wiederholte Bereich für das Menü
    was ist das?
    privater Blog

    Kommentar


    • #3
      Es ist ein dyn. Menü/Liste (Pull down)...
      Zur Erklärung....es ist ein Formular zum ändern von Programmdaten einer Veranstaltung. DIese lesen sich dynamisch aus einer mySQL - und haben quasi die Funktion "Wiederholen = Anzahl der Datensätze". Was hier steht ist das Übel, denn es ist ein Listenmenü, was quasi aus einer anderen Tabelle die Tage des jeweiligen Programm-Punktes anzeigt. Diese habe ich extra in eine Tabelle gepackt, weil die eben immer gleich sind..... Na ja, weil dieses Menü (Dreamweaver) aber eben wieder die Wiederholenfunktion nutzt, funktioniert es nicht mehr. Weil man dieses Serververhalten nicht in ein anderes verschachteln kann....

      IM DETAIL:
      <select name="id_day"> //id_day ist die Tabellenspalte für die ID des selektierten Tages - die in die Programmtabelle eingefügt wird.



      <?php
      do {
      ?> //ist zum wiederholen
      <option value="<?php echo $row_day['id']?>" <?php if (!(strcmp($row_day['id'], $row_programm['id_day']))) {echo "SELECTED";} ?>><?php echo $row_day['day_de']?></option> //die day_id ist der Wert der externen Tage-Tabelle. Der dem Programm zugeordnete Wert wird in der rogrammtabelle unter id_day gespeichert. Also wird hier der vorhandene Programmeintrag mit der Tabelle verglichen und dieser Wert als erstes angezeigt. Alle anderen kommen dazu (per wiederholter Bereich)...
      <?php
      } while ($row_day = mysql_fetch_assoc($day)); //nach Anzahl der Datensätze Tage wiederholt sich die Menüliste
      ?>
      </select>

      ----------------------Ich hoffe jetzt ist es etwas verständlich

      HILFE MIKE

      Kommentar


      • #4
        Du redest wirr .. von vorne bis hinten .. vorallem die Begrifflichkeit des "wiederholen" ist ... naja .. für'n Eimer .... ^^

        Unsereiner hat nun immernoch keine Ahnung:
        a: was 'id_day' nun tatsächlich darstellen will und wie es im HTML-Source ankommt
        b: was da nun eigentlich nicht funktioniert

        Aaaber:

        <select name="id_day">
        Da ich davon ausgehe, dass diese Struktur eines Selects (also die Auswahl einer Datums) im Formular öfter auftrifft. Dann ist es völlig logisch, dass es nicht gehen kann, wenn über der gleiche Name verwendet wird.

        Die Selects haben zwar ihre Funktion und kommen auch alle im PHP-Script an. Wegen des gleichen Namens überschreiben sie sich aber fleissig.

        Packe da einen unterscheidbaren Namen rein ...

        Kommentar


        • #5
          Es steht das Pulldown. Es geht und zeigt mir pro Tabelle (Eintrag den man ändern kann) das Pulldown an. Allerdings nur mit dem ersten Eintrag. Damit in dem Pulldown alle in der Datenbank enthaltenen Tage erscheinen, nutz Dreamweaver diesen Code und wiederholt die Listenwerte des Pulldown = der Anzahl der in der DB enthaltenen Werte:

          <?php
          do {
          ?>

          .............


          <?php
          } while ($row_day = mysql_fetch_assoc($day)); //nach Anzahl der Datensätze Tage wiederholt sich die Menüliste
          ?>

          Das würde auch super funktionieren, wenn nur nicht der gleiche Code schon zum Wiederholen der gesamten Tabelle/Formular verwendet würde. Daraus ergibt sich eine Verschachtelung des Seververhaltens und es funktioniert nicht mehr.....

          Wenn ich bei dem Pulldown den Code zum Wiederholen raus nehme, dann zeigt mir die komplette Seite fein alle Pulldowns an. Aber eben nur mit dem ersten Wert.

          Es gibt doch eine Möglichkeit, die Werte für das Pulldown anders "hochzuzählen" - oder????


          Na ja,,,, HILFE
          Mike

          Kommentar

          Lädt...
          X