Formular, DB Update -> Problem mit Wert...

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

  • Formular, DB Update -> Problem mit Wert...

    Ich bins mal wieder

    Ich mach mir schon die ganze Zeit Kopfzebrechen weil ich ein echtes Problem hab.

    Hier mal ein Code auszug:

    PHP-Code:
    <?
    if($_GET['edit_c_v'] == yes) {
    $result3 = mysql_query("SELECT INT_ID, NAME, in_header, sort from cob_menu WHERE INT_ID = $id_1");
    while(list($id_1, $name_1, $header_1, $sort_1) = mysql_fetch_row($result3)) 
    {
    if ($header_1 == 1) {
    $header_1 ="Im Header (Links)"; }
    else {
    $header_1 ="Im Footer (Rechts)";}
    ?>

    <form action="newmenu.php?action=editcateg" method="get">
               
                  <table width="690" height="38" border="0" align="center" cellpadding="1" cellspacing="1" class="blackrand">
                    <tr>
                      <td width="80"><? echo "<input name=\"id\" type=\"text\" value=\"$id_1\" size =\"3\">"?></td>
                      <td width="180"><? echo "<input name=\"name_edit\" type=\"text\" value=\"$name_1\" size =\"20\">"?></td>
                      <td width="150">
    <select name="header_edit">
                        <? echo "<option selected>$header_1</option> "?>
                          <option value="0">Im Footer (Rechts)</option>
                          <option value="1">Im Header (Links)</option>
                        </select>
                      </td>
                      <td width="140"><? echo "<input name=\"sort_edit\" type=\"text\" value=\"$sort_1\" size =\"3\">"; }?></td>
        <td width="142"><div align="center">
    Das ganze funktioniert so: Ich habe ein formular, wenn ich dieses aufrufe bekomme ich eine Liste mi den einträgen aus der DB. Hinter jedem eintrag ist ein Edit knopf. Wir dieser gedrückt werden einige variablen übergeben und dieser Code wird ausgeführt. Es erscheinen einige Textfelder mit dem Inhalt aus der Zeile in der der Edit knopf gedrückt wird. Die Inhalte werden mittels SQL abgefragt. Nun zum Problem. WIe Ihr seht steht ziemlich am ende eine Dropdownliste. Die erste Option soll mit dem Tatsächlichen inhalt der DB gefüllt werden. das klappt soweit auch. Ich mach das folgendermasen: In der Spalte in_header wird eine 1 geschrieben wenn das Menu in den Header soll, oder eine 0 wenns in den footer soll.
    Um In diesem Dropdown das akteulle anzuzeigen brauche ich die obige if abfrage und fülle so die $header_1 neu, eben mit Text anstatt mit 0 oder 1.
    Wenn ich nun diesen datensatz ändere, zB den Namen, lasse aber das DropDown unberührt schreibt der mir anstatt die 0 oder 1, je nachdem, den Text der Variable $header_1 (logischerweise) in die DB.
    Ich weiss das die Lösung dieses Problems einfach ist, ich werd mir auch auf die Stirn klatschen, aber ich komm im Moment wirklich nicht drauf wie man das abändern könnte. Hat jemand nen klitzkleinen Tip für mich?!?

    Gruß Manfred

  • #2
    hab mal deinen code geändert. ich denke das ist das was du willst ...
    wenn nicht, einfach nochmals posten.

    PHP-Code:
    <?php

      
    if($_GET['edit_c_v'] == yes) {
        
    $result3 mysql_query("SELECT INT_ID, NAME, in_header, sort from cob_menu WHERE INT_ID = $id_1");
        list(
    $id_1$name_1$header_1$sort_1) = mysql_fetch_row($result3);

    ?>

    <form action="newmenu.php?action=editcateg" method="get">
               
      <table width="690" height="38" border="0" align="center" cellpadding="1" cellspacing="1" class="blackrand">
        <tr>
          <td width="80"><? echo "<input name=\"id\" type=\"text\" value=\"$id_1\" size =\"3\">"?></td>
          <td width="180"><? echo "<input name=\"name_edit\" type=\"text\" value=\"$name_1\" size =\"20\">"?></td>
          <td width="150">
            <select name="header_edit">
              <option value="0" <?php echo ($header_1 != 1) ? "selected" ""?>>Im Footer (Rechts)</option>
              <option value="1" <?php echo ($header_1 == 1) ? "selected" ""?>>Im Header (Links)</option>
            </select>
          </td>
          <td width="140"><? echo "<input name=\"sort_edit\" type=\"text\" value=\"$sort_1\" size =\"3\">"; }?></td>
          .
          .
          .
        </tr>
      </table>

    </form>
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Achso ... so geht das... dank Dir!

      Habs aber mittlerweile anders gelöst (auf die Bauernart )

      Hab in der Funktion die dafür verantwortlich ist daten zu schreiben den Spiess einfach umgedreht...

      PHP-Code:
      if ($header_edit == "Im Header (Links)") {
      $header_edit "1"; }
      if (
      $header_edit == "Im Footer (Rechts)"){
      $header_edit ="0";} 


      Gruß Manfred

      Kommentar


      • #4
        Original geschrieben von BlackPixel
        Achso ... so geht das... dank Dir!
        warum einfach, wenns auch umständlich geht ...

        hast du wenigstens den code optimiert? die while-schleife habe ich dir auch gekillt ... kommt ja eh nur ein ergebnis zurück.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Ok, zugegeben, wenn ich so deins anschaue sieht das schon besser aus! Ich mach einfach die if´s raus und nehm deinen

          Schankedön!

          Gruß Manfred

          Kommentar


          • #6
            mach das ....
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Und es kommt sogar richtig gut wenn man auf dem Formular das Dropdown drückt und es sind nur 2 einträge da...

              Riesen Thx!

              Cu Manfred

              Kommentar


              • #8
                dann viel spass damit ...

                wir bedanken uns für den einkauf.....
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar

                Lädt...
                X