Status von einem Eintrag ändern

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

  • Status von einem Eintrag ändern

    Hallo!

    Das Selectmenü soll den Status des jeweiligen Eintrages ändern doch wie lautet der Befehl und wie verbinde ich Menü mit Befehl?


    PHP-Code:
      <?php    


        
    // Konfigurationsdatei laden    
        
    @mysql_connect(XXXXXXYYYYYYYZZZZZZZZ) OR die(mysql_error());    
        
    mysql_select_db(AAAAAAAA) OR die(mysql_error());    
        
    $sql "SELECT                
                    *           
                FROM                
                    bestellung ORDER by datum desc"
    ;  
          
        
    $result mysql_query($sql) OR die(mysql_error());    
        echo 
    "Offene Posten:<br />\n";    
        if(
    mysql_num_rows($result)) 
        {       
            while(
    $row mysql_fetch_object($result)) 
            {    
                
                  echo 
    "<tr>\n"
                     
                echo 
    "<td>$row->datum</td>\n"
                echo 
    "<td>$row->filiale</td>\n";
                echo 
    "<td>$row->mitarbeiter</td>\n";
                echo 
    "<td>$row->kunde</td>\n";
                echo 
    "<td>$row->phone</td>\n";
                echo 
    "<td><form name='form1' method='post' action=''>
            <select name=id>
              <option>
    $row->status</option>
              <option></option>
              <option>bestellt</option>
              <option>angekommen</option>
              <option>l&ouml;schen</option>
            </select>
          </form></td>\n"
    ;
                
              
                        
            }    
        } 
        else 
        {        
            echo 
    "Es sind keine Daten in der Datenbank vorhanden<br />\n";    
        }
     
        
    $loeschen "DELETE FROM bestellung WHERE status = 'l&ouml;schen'";
        
    $loesch mysql_query($loeschen);



    ?>
    mfg und danke im Voraus ... Heiko

  • #2
    Re: Status von einem Eintrag ändern

    Original geschrieben von user1234
    PHP-Code:
    <form name='form1' method='post' action=''
    hier solltest du der action auch sagen, was gemacht werden soll.

    PHP-Code:
    <option>l&ouml;schen</option
    die option braucht einen Wert, damit man weiss, was gewählt wurde, z.B.
    PHP-Code:
    <option value="loeschen">l&ouml;schen</option
    Woher weisst du, dass das Formular abgesendet worden ist?
    Es sollte vor dem Ende des Formzulars also auch noch ein SUBMIT Button rein

    jetzt must du nur noch prüfen, ob der Submit Button gedrückt wurde und welche Option gewählt wurde, bzw. ob 'löschen' gewählt wurde.

    Kannst ja auch mal kurz im Forum suchen.
    Wurde - auch erst kürzlich - schon paarmal besprochen.
    heute bug ich, morgen browse ich...

    Kommentar


    • #3
      Danke für die Antwort. Ich habe es noch einmal umgeschrieben und hoffe es ist nun übersichtlicher, da ich vorher den Rest wie z.b. den SubmitButton ausserhalb des php-codes hatte.

      PHP-Code:
        <?php    

          
      echo "<table width= \"550\" align=\"center\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n";
            echo 
      "<tr bgcolor=\"ff0084\">\n";
          echo 
      "<td width=\"65\">Datum</td>\n";
          echo 
      "<td width=\"92\">Filiale</td>\n";
          echo 
      "<td width=\"70\">Mitarbeiter</td>\n";
          echo 
      "<td width=\"216\">Kunde</td>\n";
          echo 
      "<td width=\"48\">Phone</td>\n";
          echo 
      "<td width=\"59\">Status</td>\n";
          echo 
      "</tr>";
         
          @
      mysql_connect(localhostXXXXXYYYYYY) OR die(mysql_error());    
          
      mysql_select_db(ZZZZZZZZZ) OR die(mysql_error());    
          
      $sql "SELECT                
                      *           
                  FROM                
                      bestellung ORDER by datum desc"
      ;  
                  
          
      $result mysql_query($sql) OR die(mysql_error());    
          echo 
      "Offene Posten:<br />\n";    
          if(
      mysql_num_rows($result)) 
          {       
              while(
      $row mysql_fetch_object($result)) 
              {        
                  echo 
      "<tr>";
                  echo 
      "<td>$row->datum</td>\n"
                  echo 
      "<td>$row->filiale</td>\n";
                  echo 
      "<td>$row->mitarbeiter</td>\n";
                  echo 
      "<td>$row->kunde</td>\n";
                  echo 
      "<td>$row->phone</td>\n";
                  echo 
      "<td><form name=\"form1\" method=\"post\" action=\"\">
              <select name=id>
                <option>
      $row->status</option>
                <option></option>
                <option value=\"bestellt\">bestellt</option>
                <option value=\"angekommen\">angekommen</option>
                <option value=\"loeschen\">l&ouml;schen</option>
              </select>
            </form></td>\n"
      ;
              } 
        
          echo 
      "</tr>\n";
          echo 
      "<form name=\"form1\" method=\"post\" action=\"\">
                    <input type=\"submit\" name=\"Submit\" value=\"Abschicken\">
                  </form>\n"
      ;
          echo 
      "</table>\n";        
                          
                 
          } 
          else 
          {        
              echo 
      "Es sind keine Daten in der Datenbank vorhanden<br />\n";    
          }
       
          
      $loeschen "DELETE FROM bestellung WHERE status = 'l&ouml;schen'";
          
      $loesch mysql_query($loeschen);



      ?>
      Wie müsste die Aktion lauten? Gelöscht werden soll nur wenn der Status auf "löschen" gesetzt wurde. Also glaube ich, reicht es wenn ich den Status ändern kann, oder? Nur wie lautet der passende Befehl? Ich habe garantiert das halbe Forum durchgeklickt und nicht das passende gefunden oder das gefundene nicht verstanden!


      mfg Heiko

      Kommentar


      • #4
        Original geschrieben von user1234
        Wie müsste die Aktion lauten? Gelöscht werden soll nur wenn der Status auf "löschen" gesetzt wurde.
        als action solltest du das ziel angeben, zu dem deine daten geschickt werden sollen - also wahrscheinlich dein php-script.

        wie dieses dann bei status "löschen" reagiert, wird im script entschieden.

        btw: derzeit hast du dein <select> ausserhalb des formulares stehen - wenn der wert mit übergeben werden soll, muss es aber natürlich ins formular mit rein ...

        Original geschrieben von frezno
        die option braucht einen Wert, damit man weiss, was gewählt wurde
        nein, braucht sie nicht unbedingt. wenn kein value angegeben wird, wird als wert das verschickt, was zwischen <option> und </option> als text steht.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ich weiß nicht genau ob ich dich richtig verstanden habe, aber mit dem Löschen funktioniert ja alles. Setze ich in PHPMyAdmin den Status auf löschen und klicke auf der Seite den SubmitButton an, wird der Eintrag ja gelöscht. Soweit ist es ja in Ordnung. Ich möchte mittels dem Menü den Status des jeweligen Eintrages ändern und da bin ich seit mehreren Tagen am grübeln. Also wie übernehme ich die Einstellungen aus dem Menü so, dass sie in der Datenbank stehen?

          Kommentar


          • #6
            Ich habe jetzt das script umgeschrieben sodas die daten in einem Formular ausgegeben werden.


            Hier die abfrage.php
            PHP-Code:
              <?php    

                
            echo "<table width= \"550\" align=\"center\" border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n";
                  echo 
            "<tr bgcolor=\"ff0084\">\n";
                echo 
            "<td width=\"65\">Datum</td>\n";
                echo 
            "<td width=\"92\">Filiale</td>\n";
                echo 
            "<td width=\"70\">Mitarbeiter</td>\n";
                echo 
            "<td width=\"216\">Kunde</td>\n";
                echo 
            "<td width=\"47\">Phone</td>\n";
                echo 
            "<td width=\"59\">Status</td>\n";
                echo 
            "</tr>";
               
                @
            mysql_connect(localhostAAAAAABBBBBB) OR die(mysql_error());    
                
            mysql_select_db(CCCCCCC) OR die(mysql_error());    
                
            $sql "SELECT                
                            *           
                        FROM                
                            bestellung ORDER by datum desc"
            ;  
                        
                
            $result mysql_query($sql) OR die(mysql_error());    
                echo 
            "Offene Posten:<br />\n";    
                if(
            mysql_num_rows($result)) 
                {       
                    while(
            $row mysql_fetch_object($result)) 
                    {       
                         
                        echo 
            "<tr>";
                        echo 
            "<form name=\"form1\" method=\"POST\" action=\"abfrage_ergebnis.php\">";
                        echo 
            "<td><input name=\"datum\"         type=\"hidden\">$row->datum</td>\n"
                        echo 
            "<td><input name=\"filiale\"         type=\"hidden\">$row->filiale</td>\n";
                        echo 
            "<td><input name=\"mitarbeiter\"     type=\"hidden\">$row->mitarbeiter</td>\n";
                        echo 
            "<td><input name=\"kunde\"         type=\"hidden\">$row->kunde</td>\n";
                        echo 
            "<td><input name=\"phone\"         type=\"hidden\">$row->phone</td>\n";
                        echo 
            "<td>
                            <select name=\"status\" >
                                      <option>
            $row->status</option>
                                      <option></option>
                                      <option value=\"bestellt\">bestellt</option>
                                      <option value=\"angekommen\">angekommen</option>
                                      <option value=\"loeschen\">l&ouml;schen</option>
                               </select></td>\n"
            ;
                    } 
              
                
                echo 
            "<input type=\"submit\" name=\"Submit\" value=\"Abschicken\">
                        </form>\n"
            ;
                echo 
            "</tr>\n";
                echo 
            "</table>\n";        
                                
                       
                } 
                else 
                {        
                    echo 
            "Es sind keine Daten in der Datenbank vorhanden<br />\n";    
                }

             
                
            $loeschen "DELETE FROM bestellung WHERE status = 'loeschen'";
                
            $loesch mysql_query($loeschen);
                


            ?>
            und hier hin soll es geleitet werden

            abfrage_ergebnis.php
            PHP-Code:
            <?

              include("../connect.inc.php");


              $datum = $HTTP_POST_VARS["date"];
              $mitarbeiter = $HTTP_POST_VARS["mitarbeiter"];
              $filiale = $HTTP_POST_VARS["filiale"];
              $kunde = $HTTP_POST_VARS["kunde"];
              $phone = $HTTP_POST_VARS["phone"];
              $status = $HTTP_POST_VARS["status"];
              
              
              include ("abfrage.php");
            ?>
            Wie übergebe ich die Daten jetzt als UPDATE an die Datenbank? Und werden auch mehrere Einträge auf einmal geändert?

            Kommentar


            • #7
              Original geschrieben von user1234
              Wie übergebe ich die Daten jetzt als UPDATE an die Datenbank?
              erstelle dir an hand der daten dein gewünschtes UPDATE-statement zusammen, und führe dieses dann aus (ich habe den eindruck, du weisst gar nicht, wie das geht? dann solltest du erstmal hier die nötigen grundlagen lernen gehen.)


              und meinen hinweis, dass sich das select-feld, das du erzeugst, ausserhalb deines forms befindet, hast du auch noch nicht berücksichtigt ...
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                und meinen hinweis, dass sich das select-feld, das du erzeugst, ausserhalb deines forms befindet, hast du auch noch nicht berücksichtigt ...
                Ich komm mir mittlerweile ganz schön blöd vor weil ich den Fehler nicht finde!!!

                Kommentar


                • #9
                  mach das mal IN die while schlaufe...

                  PHP-Code:
                    
                          
                  while($row mysql_fetch_object($result)) 

                          {       

                               
                              echo 
                  "<tr>";

                              echo 
                  "<form name=\"form1\" method=\"POST\" action=\"abfrage_ergebnis.php\">";

                              echo 
                  "<td><input name=\"datum\"         type=\"hidden\">$row->datum</td>\n"

                              echo 
                  "<td><input name=\"filiale\"         type=\"hidden\">$row->filiale</td>\n";

                              echo 
                  "<td><input name=\"mitarbeiter\"     type=\"hidden\">$row->mitarbeiter</td>\n";

                              echo 
                  "<td><input name=\"kunde\"         type=\"hidden\">$row->kunde</td>\n";

                              echo 
                  "<td><input name=\"phone\"         type=\"hidden\">$row->phone</td>\n";

                              echo 
                  "<td>

                                  <select name=\"status\" >

                                            <option>
                  $row->status</option>

                                            <option></option>

                                            <option value=\"bestellt\">bestellt</option>

                                            <option value=\"angekommen\">angekommen</option>

                                            <option value=\"loeschen\">l&ouml;schen</option>

                                     </select></td>\n"
                  ;

                        
                  //hier wegg!!

                      

                      
                  echo "<input type=\"submit\" name=\"Submit\" value=\"Abschicken\">

                              </form>\n"
                  ;

                      echo 
                  "</tr>\n";

                      echo 
                  "</table>\n";   
                    }  
                  //hier hin 
                  .. hab zwar fast nichts gelesen...
                  _____________
                  Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                  [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                  Kommentar


                  • #10
                    Dann hab ich hinter jeder Zeile einen Button .... das wollte ich ja auch nicht. Es soll ein einziger sein um alles zu ändern. Ist es nicht relativ wo <form> und </form>steht? Richtige Reihenfolge vorausgesetzt!!?? Da ich bis jetzt davon ausgegangen bin sehe ich da keinen Fehler. Oder ich bin völlig auf dem Holzweg ......

                    ---------------------------------------------------------------------
                    | ID | datum | Filiale | Mitarbeiter | Kunde | Phone |Status |
                    ------------------------------------------------------------
                    | 1 | 11.11. | hier | Herr X. | Schmidt| 110 | bestellt |
                    ------------------------------------------------------------------
                    | 2 | 12.11. | dort | Herr Y. | Schulz | 112 | erhalten |
                    -----------------------------------------------------------

                    [SubmitButton]


                    Der Status soll jeweils als DropDown zu sehen wobei man ihn auch gleich ändern kann ......

                    Kommentar


                    • #11
                      Problem ist gelöst .............




                      schönes wochenende allen .....

                      Kommentar

                      Lädt...
                      X