Ankündigung

Einklappen
Keine Ankündigung bisher.

update multi row mit for Schleife

Einklappen

Neue Werbung 2019

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

  • update multi row mit for Schleife

    Hallo Ihr Lieben,
    ich habe code zum updaten von meheren rows über for schleife.
    wenn ich auf submit drucke, passiert nichts, wo ist mein fehler.
    danke sehr für euere Hilfe.

    PHP-Code:
    <?php
    $hoster
    ="db.mkq.de";
    $username="dbxxxxxx";
    $password="xxxxxx";
    $db_name="xxxxxx";
    mysql_connect("$hoster""$username""$password")
    or die(
    "cannot connect");
    mysql_select_db("$db_name"
    or die(
    "cannot select DB");
    $sql="SELECT * FROM gbook";
    $result=mysql_query($sql);
    $count=mysql_num_rows($result);
    ?>
    <table width="500" border="0" cellspacing="1" cellpadding="0">
    <form name="form1" method="post" action="">
    <tr>
    <td>
    <table width="500" border="0" cellspacing="1" cellpadding="0">
    <tr>
    <td align="center"><strong>Id</strong></td>
    <td align="center"><strong>www</strong></td>
    <td align="center"><strong>email</strong></td>
    <td align="center"><strong>pwd</strong></td>
    </tr>
    <?php
    while($rows=mysql_fetch_array($result)){
    ?>

    <tr>
    <td align="center">
    <input name="id[]" type="text" id="id" value="<? echo $rows['id']; ?>">
    </td>
    <td align="center">
    <input name="www[]" type="text" id="www" value="<? echo $rows['www']; ?>">
    </td>
    <td align="center">
    <input name="email[]" type="text" id="email" value="<? echo $rows['email']; ?>">
    </td>
    <td align="center">
    <input name="pwd[]" type="text" id="pwd" value="<? echo $rows['pwd']; ?>">
    </td>
    </tr>

    <?php
    }
    ?>

    <tr>
    <td colspan="4" align="center"><input type="submit" name="submit" id="submit" value="update"></td>
    </tr>
    </table>
    </td>
    </tr>
    </form>
    </table>

    <?php

    if($submit)
    {
    for(
    $i=0;$i<$count;$i++)
    {
    $sql1="UPDATE gbook SET www='$www[$i]', email='$email[$i]', pwd='$pwd[$i]' WHERE id='$id[$i]'";
    $result1=mysql_query($sql1);
    }
    }

    if(
    $result1)
    {
    header("location:editmulti3.php");
    }
    mysql_close();
    ?>

  • #2
    wo ist mein fehler.
    Selber finden, debuggen gehört zum programmieren dazu. Grenze deinen Fehler damit ein und wenn du dann noch konkrete Fragen hast .. gerne. http://php-de.github.io/#debugging
    Ansatz: Schau ob das Form HTML valide ist, prüfe mit var_dump() was in $_POST übergeben wird, prüfe was du dann damit machst - Kontrollausgaben etc.. prüfe deine Query, aktiviere Fehlerausgebe etc.. Das Übliche halt.

    Ansonsten noch:

    * mysql_ Erweiterung wird es bald nicht mehr geben http://php.net/manual/en/migration55.deprecated.php

    * dein Update ist offen für SQL-Injections http://php-de.github.io/jumpto/sql-injection/

    => Nutze PDO oder mysqli_ mit prepared Statements und du erschlägst beide Punkte oben

    * SELECT * ist pfui http://php-de.github.io/jumpto/code-smells/#select-

    * Unnötige Doublequotes für Variablen, auch sinnlos und pfui
    PHP-Code:
    mysql_connect("$hoster""$username""$password"
    http://php-de.github.io/jumpto/code-...n-doppelquotes

    LG
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      danke hausl, das hilft mir nicht.

      Kommentar


      • #4
        Register Globals waren schon vor 10 Jahren out und heute gibts die gar nicht mehr. Wenn du auf Werte von außen zugreifen willst musst du $_GET/$_POST/$_REQUEST/$_COOKIE/$_SESSION verwenden und nicht $name.

        Kommentar


        • #5
          Zitat von Rafal Beitrag anzeigen
          danke hausl, das hilft mir nicht.
          Doch das hilft dir, nur durcharbeiten musst du es selber. Willst du programmieren oder nicht?
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            danke erc und hausl,
            es wäre sehr gut wenn ihr beide video über php macht und auf youtube veröffentlicht.
            eine art unterricht.
            das wird viele php-menschen hilfen.
            ich meine es ernst.

            Kommentar

            Lädt...
            X