2017-10-26 8 views
-3

レコードの変更が必要なフォームがあり、SQLデータベーステーブルを更新しています。私は値を変更しようとするとPHPから更新する際の問題

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "password"; 
$dbname = "myDB"; 
$tbname = "myVis"; 
// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "SELECT * FROM " . $tbname . " WHERE id = '$_POST[id]'"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 

    while($row = mysqli_fetch_assoc($result)) { 
     $id = $row['id']; 
     $firstname = $row['firstname']; 
     $lastname = $row['lastname']; 
     $image = $row['image']; 
     $course = $row['course']; 
     $frdate = $row['frdate']; 
     $todate = $row['todate']; 
     $email = $row['email']; 
     $checkout = $row['checkout']; 
    } 
    } 
    mysqli_close($conn); 
?> 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="UTF-8"> 
... 
    </head> 
    <body> 

    <form action='' method='post'> 
    <table> 
... 
     <tr> 
      <td>Efternamn:</td> 
      <td> 
      <input id="lastname2" type="text" value='<?php echo $lastname; ?>' /></td> 
     </tr> 
... 
     </table> 

     <?php 
      if ($_SERVER["REQUEST_METHOD"] == "POST") { 
      if (isset($_POST['submit2'])) { 
... 
      if (isset($_POST['lastname2'])) { 
       $lastname = $_POST['lastname2']; 
      } 
... 
      $servername = "localhost"; 
      $username = "root"; 
      $password = "password"; 
      $dbname = "myDB"; 
      $tbname = "myVis"; 
      // Create connection 
      $conn = mysqli_connect($servername, $username, $password, $dbname); 
      // Check connection 
      if (!$conn) { 
       die("Connection failed: " . mysqli_connect_error()); 
      } 
      $sql2 = "UPDATE " . $tbname . " SET firstname='$firstname', lastname='$lastname', image='$image', course='$course', frdate='$frdate', todate='$todate', email='$email', checkout='$checkout' WHERE id ='".$_POST['id']."'"; 
      $result = mysqli_query($conn, $sql2); 
      if ($result) { 
       echo "Record updated successfully"; 
      } else { 
       echo "Error updating record: " . mysqli_error($conn); 
      } 

      mysqli_close($conn); 
      } 
     } 
     ?> 

     <input type="submit" name="submit2" id="submit2" value="Spara" /> 
     <input type="button" name="back" id="back" value="Tillbaka" onclick="history.back()" /> 

    </form> 
    </body> 
</html> 

が(たとえば姓)何も変化し、すべての値がデシベルから戻って選択したレコードにある:私のindex.phpファイルで

私はこのf.exています-表。 PHPを理解して、値を変更してテーブルを更新するにはどうすればよいですか? インデックスファイル内のシーケンスがわかりません。

助けてください。 よろしく、 /フレドリック。

+0

あなたのhtmlが有効に見えませんなぜ毎回新しいデータベース接続を作成するのが好きですか? – Akintunde007

+1

このような質問はここで話題にはなりません。ここではコードレビューはしません。特にコードの大部分が例 –

答えて

0

データベース接続後、ページの上部に送信コードを挿入します。その後、フォームを提出すると、最初に提出された投稿値とテーブルの列が一致します。いずれかの列の値が異なる場合は、その列を更新します。

+0

から取り除かれた場合、別のページからこのページに来て、IDの送信を投稿します。そのため、私は上に選択します。 – Popeye

関連する問題