Ankündigung

Einklappen
Keine Ankündigung bisher.

2 buttons, entweder 1. ODER 2. Button funktioniert!

Einklappen

Neue Werbung 2019

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

  • 2 buttons, entweder 1. ODER 2. Button funktioniert!

    Hallo!
    Es ist echt zum verzweifeln!
    Ich habe ein php script!
    Ich ziehe per while schleife daten aus meiner mySQL DB!
    Nun soll ein button pro datensatz existieren und einer unterhalb dieser while schleife:
    Code:
    $resultat = mysql_query($sql);
    
    while ($row = mysql_fetch_array($resultat))
      {
    ?><form method=POST action=test.php><?
    
    <input type="text" size=8 name="name" value="<? echo $row[0] ?>">
    <input type="text" size=8 name="vorname" value="<? echo $row[1] ?>">
    <input type="submit" size=0 name="submit" value="löschen">
    </form>
    }
    so habe ich die möglichkeit, jeden einzelnen Datensatz anzusprechen und gewünschte operationen durchführen!

    aber da ich die form innerhalb der while schleife schliessen MUSS, bekomme ich für den 2. Button nicht mehr die Werte aus der while schleife die ich dringend beötige! Ich habe unterhalb der while schleife einen button speichern, der alles änderungen speichert, welche ich eintrage (SQL UPDATE)
    dieser speicher button funktioniert mit dem obigen code nicht mehr! ich muss die form unterhalb des speicher buttons schliessen, damit ich die werte der while schleife hie bekomme!
    Das hat aber nun den Nachteil, das mein löschen button IMMER NUR den letzten Datensatz löscht, das die form erst nach der while schleife schliesst!

    man sieht, einerseits gehts nciht und andererseits auch nicht! Muss ich mich jetzt wirklich für eine Variante entscheiden? oder ist das ein bekanntest Problem? Hoffe sehr das mir jemand zhelfen kann! Falls meine Erläuterung nciht verstanden wurde, bitte fragt mich nochmal! danke und gruß mojito

  • #2
    juhuu?

    Kommentar


    • #3
      Das Problem ist etwas aus der Luft gegriffen!

      Wenn du jeden Eintrag mit einer ID kennzeichnen würdest, wäre das doch kein Problem!
      Dann löschst du anhand einer ID!
      Also
      Code:
      DELETE FROM tabelle WHERE id='$id'
      Dann kannst du das Formular wohl ausweiten...die änderungen würden dann über ein Array gehen!

      wilko

      Kommentar


      • #4
        hi, danke für deine antwort!
        ich mache es ja auch so... also, ich habe sozusagen 2 werte welche einen datensatz identifizieren!

        Code:
        $sqldel = "DELETE FROM TAETIGKEIT where datum='$datum' and position='$position'";
        das problem ist aber, wie oben beschrieben, das er anhand der forms immer nur den letzten datensatz als AUSGEWÄHLT erkennt, das ich ja die form erst dann schliesse, wenn der speicher button da ist! und der speicher button kommt erst NACH der while schleife. das ist sozusagen eine zwickmühle! ich komme aber nciht dahinter, wie ich EINMAL die Form innerhalb der while schleife schließe und einmal ausserhalb der while schleife!

        Bsp1:


        //while schleife beginn
        <form>
        daten
        daten
        daten
        <submit löschen>
        </form>

        //while schleife ende

        <submit speichern>
        </form>

        Hier funktioniert nun der löschbutton, aber nicht der speicher button

        <form>
        //while schleife beginn
        daten
        daten
        daten
        <submit löschen>
        //while schleife ende

        <submit speichern>
        </form>

        Hier funktioniert nun der speichern button, aber nicht der löschen! der löschvorgang sieht so aus. er durchöäuft die schleife so oft wie daten vorhanden sind! ich klicke speichern, und er nimmt mir den letzten datensatz, und tut diesen löschen, da die form unterhalb der while geschlossen wird! Ich denke das war gut erklärt, oder? naja, iuch hoffe auf HILLFFEE! gruß moji

        Kommentar


        • #5
          Dann mach doch z.B. den Löschbutton als Link.

          wilko

          Kommentar


          • #6
            Code:
            <?php
                echo '<form ...>';
                    while(....) {
                        echo 'was auch immer';
                    }
                 echo '</form>';
            ?>
            und das soll nicht gehen?

            Kommentar


            • #7
              Zitat von maxi
              Code:
              <?php
                  echo '<form ...>';
                      while(....) {
                          echo 'was auch immer';
                      }
                   echo '</form>';
              ?>
              und das soll nicht gehen?
              Ließ dir mal die Frage durch :wink:

              Kommentar


              • #8
                @ maxi

                @ wilko
                erklär mal bitte wie ich den löschenbutton als link mache. also nicht wie ein link funktioniert, is klar, sondern was ich dem mitgeben bzw. bzw. wie ich ihm werte mitgebe! dank dir

                Kommentar


                • #9
                  Code:
                  echo "<a href=\"delete.php?id=".$row[id]."\">Löschen</a>";

                  Kommentar


                  • #10
                    ok, wenn ich drauf klicke, wie komme ich in eine if anweisung??
                    beim submit isses klar, if ($submit == "speichern") ...
                    aber wie beim link? danke und gruß

                    Kommentar


                    • #11
                      Dann halt in die URL noch was mitgeben, wie zum Beispiel
                      Wilkos
                      Code:
                      echo "<a href=\"delete.php?id=".$row[id]."\">Löschen</a>";
                      zu
                      Code:
                      echo "<a href=\"delete.php?wasauchimmer=speichern&id=".$row[id]."\">Löschen</a>";
                      Und dann kannst du doch

                      Code:
                      if($HTTP_POST_VARS["wasauchimmer"]=="speichern")...
                      abfragen

                      PS: ist es überhaupt $HTTP_POST_VARS["wasauchimmer"]?
                      Wenn ich ehrlich bin, ich hab register_globals auf on

                      Kommentar


                      • #12
                        es ist $HTTP_GET_VARS[''] bzw. $HTTP_GET_VARS['']
                        abgekürzt auch: $_POST[''] bzw. $_GET['']

                        @mojito:
                        du kannst auch einen Button machen und das formular mit der GET-Methode verschicken:
                        Code:
                        <form method="get">
                        <input type="submit" name="delete" value="delete">
                        </form>
                        und abrufen kannst du es dann so:
                        Code:
                        <?
                        if (!emtpy($_GET['delete'])) {
                               //Löschen-Code
                        }
                        ?>
                        mfg,
                        Jojo

                        Kommentar


                        • #13
                          nun danke! aber jojo, du musst schon mein problem lesen! die verschachtelung der forms is mein problem! wie oben erklärt! gruß

                          Kommentar


                          • #14
                            sorry,
                            hab nicht genau genug gelesen
                            forms kann man AFAIK nicht verschachteln.

                            Kommentar

                            Lädt...
                            X