Hilfe bei Formular abfrage mit Variabeln

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

  • Hilfe bei Formular abfrage mit Variabeln

    Also zu meinen Problem
    $table ist der name der tabelle
    ich lasse eine schleife laufen um daten aus einer datenbank zu erhalten $x steht dabei für die jewalige nummer des arrays. wollte das damit dynamischer gestallten. nun habe ich beim echo für das formular schon alle möglichen variabnten durchprobiert. mit anführungzeichen und hochkomma.
    da ich glaube das die abfrage unten richtig ist würd ich mich freuen wenn mir jemand einen tipp geben kann warum er nicht in die mysql datenbank einträgt und oder löscht. sitze schon seit tagen an dem problem.
    und falls es jemand auf anhieb weiss, dann bitte mal erwähnen wie man die 1 ausgabe von isset oder empty verhindern kann.
    ist mein erster post in irgendein forum. also schon schuldigung für gewisse fehler

    echo
    '<form action="#" method="post">
    <input type="text" name="txt1name$x" size="30" maxlength="50"/>
    <input type="submit" name="1" value="Hinzuf&uuml;gen"/>
    <input type="text" name="txt2name$x" size="30" maxlength="50"/>
    <input type="submit" name="2" value="L&ouml;schen"/>
    </form>' ;


    if(!empty($_POST["txt1name$x"]))
    #abfrage ob im Hinzufügen Feld was Steht
    { $wert1 = $_POST["txt1name$x"];
    #abfrage vom formular für´s hinzufügen in variabeln
    echo $eintragen = mysql_query("INSERT INTO $table ($name) VALUES ('$wert1')"); }

    if(!empty($_POST["txt2name$x"]))
    #abfrage ob im Löschen Feld was Steht
    { $wert2 = $_POST["txt2name$x"];
    #abfrage vom formular für´s löschen in variabeln
    echo $loesch = mysql_query("DELETE FROM $table WHERE $name= '$wert2'"); }

  • #2
    $x wird in einer Schleife durchlaufen. wenn die zu Ende ist, dann hat $x den letzten Wert. Lass dir mal die Inhalte des Formulars mit einem print_r($_POST) ausgeben, dann siehst du, wie du auch Felder ohne $x zugreifen muss.

    Peter

    PS. Das mit dem $x im name-Attribut ist tinnef. Du hast schon eine Unterscheidung von txt1 und txt2
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      glaub ich habs falsch beschrieben

      ok ich versuch ein bissel mehr zu offenbaren. weil ich glaube das ich nicht ganz verstanden wurde. herr Peter? Kropff nehm ich an
      $ergebnis=mysql_query($abfrage)OR die(mysql_error());
      $y=mysql_num_fields($ergebnis);
      for ($x=0; $x<$y; $x++) {
      $name=mysql_field_name($ergebnis, $x). '' ;
      echo mysql_field_name($ergebnis, $x). '' ;
      $abfrage = "SELECT * FROM $table ORDER BY $name"; $ergebnis = mysql_query($abfrage)OR die(mysql_error()) ;
      $i = 1;
      echo '<form action="#" method="post">
      <input type="text" name="txt1name$x" size="30" maxlength="50"/>
      <input type="submit" name="1" value="Hinzuf&uuml;gen"/>
      <input type="text" name="txt2name$x" size="30" maxlength="50"/>
      <input type="submit" name="2" value="L&ouml;schen"/>
      </form>' ;
      while($row = mysql_fetch_array($ergebnis)) {
      echo "$row[$name]";
      if(!empty($_POST["txt1name$x"]))
      { $wert1 = $_POST["txt1name$x"];
      echo $eintragen = mysql_query("INSERT INTO $table ($name) VALUES ('$wert1')"); }
      if(!empty($_POST["txt2name$x"]))
      $wert2 = $_POST["txt2name$x"];
      echo $loesch = mysql_query("DELETE FROM $table WHERE $name= '$wert2'"); }}}

      ich hoffe sie verstehen jetzt warum ich eine variable im formularnamen brauch. hoffe ich habe alles so kopiert das sie es auch ausführen können. mich interesiert auch was sie persöhnlich halten von mein code da ich vieles von ihrer seite gelernt habe

      Kommentar


      • #4
        Bitte benutz für den PHP-Code die entsprechende Formatierung (auf dieses Bild klicken: )

        Danke
        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          da ist kein bild was zum anklicken ist. glaube ich hab forum schon satt. hatte ne einfache frage und das wars. wird lieber sowas wie tinef geschrieben. weil man nicht glaubt das ein anfänger vielleicht ein bissel mehr ambitionen hat wie. ich proier es mal für ein paar tage und dann lass ich es wieder sobald was nicht geht.
          als letzte bitte möchte ich dich bitten herr peter kroppf das du mein beitrag löscht. dann schonmal danke und bye

          Kommentar

          Lädt...
          X