카테고리 없음

[PHP] 링크를 사용하여 테이블 내용 변경

행복을전해요 2021. 1. 22. 20:57

존재하는 경우 해당 테이블의 기본 키로 선택해야합니다. 그렇지 않은 경우 하나를 만들어야합니다. PersonID라는 기본 키가 있다고 가정합니다.

$query = "SELECT * FROM Persons WHERE PersonID = '" . ($_GET['PersonID']) . "'";

편집 버튼을 추가하려면 :

echo "<table border='2'> <tr> <th>Voornaam</th> <th>Achternaam</th> <th>Leeftijd</th><th>Action</th></tr>";

while($row = mysqli_fetch_array($result))
  {
    echo "<tr>";
      echo "<td>" . $row['FirstName'] . "</td>";
        echo "<td>" . $row['LastName'] . "</td>";
          echo "<td>" . $row['Age'] . "</td>";
            echo "<td><a href = '?PersonID=" . $row['PersonID'] . "'>Edit</a></td>";
              echo "</tr>";
                }
                echo "</table>";
                
-------------------

"id"라는 열이 있다고 가정합니다.

다음을 수행 할 수 있습니다.

<?php
$con = mysqli_connect("localhost", "user" , "", "personInfo");
// Check connection
if (mysqli_connect_errno())
  {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
      
          // when you are in "edit mode" just display the row you will edit row
              if (isset($_GET['id'])
                    $result = mysqli_query($con,"SELECT * FROM Persons where id = ".(int)$_GET['id']);
                        else
                          $result = mysqli_query($con,"SELECT * FROM Persons");
                          
                          echo "<table border='2'> <tr> <th>Voornaam</th> <th>Achternaam</th> <th>Leeftijd</th></tr>";
                          
                          while($row = mysqli_fetch_array($result))
                            {
                              echo "<tr>";
                                echo "<td>" . $row['FirstName'] . "</td>";
                                  echo "<td>" . $row['LastName'] . "</td>";
                                    echo "<td>" . $row['Age'] . "</td>";
                                      echo "<td><a href='?id=" . $row['id'] . "'>change</a></td>";
                                        echo "</tr>";
                                          }
                                          echo "</table>";
                                          
                                          mysqli_close($con);
                                          ?>
                                          
                                          <html>
                                          <body>
                                              <br />
                                                  <form action="update.php" method="post"><br />
                                                          <input type="hidden" name="id" value="<?php echo isset($_GET['id']?$_GET['id']:'') ?>" />
                                                                  <input type="text" name="firstname" value="<?php echo isset($row['FirstName'])?$row['FirstName']:'' ?>"/> Firstname <br />
                                                                          <input type="text" name="lastname" value="<?php echo isset($row['LastName'])?$row['LastName']:'' ?>"/> Lastname <br />
                                                                                  <input type="text" name="age" value="<?php echo isset($row['Age'])?$row['Age']:'' ?>"/> Age
                                                                                      <p><input type="submit"></p>
                                                                                          </form>
                                                                                          
                                                                                          </body>
                                                                                          </html> 
                                                                                          

update.php (삽입 및 업데이트 모두 처리) :

 <?php
$con = mysqli_connect("localhost", "user" , "", "personInfo");

// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
        if (isset($_POST['id'])
              $sql="UPDATE Persons set FirstName = ?, LastName = ?, Age = ? 
                      WHERE id = ".(int)$_POST['id'];
                          else
                                $sql="INSERT INTO Persons (FirstName, LastName, Age) VALUES (?, ?, ?)";
                                
                                    $sth = mysqli_prepare($con, $sql);
                                        $sth->bind_param($_POST[firstname],$_POST[lastname],$_POST[age]);
                                        
                                        if (!$sth->execute())
                                        {
                                            die('Error: ' . mysqli_error($con));
                                            }
                                            echo "1 record ".(isset($_POST['id']?'modified':'added')." to the database";
                                            echo "<p><a href=sql2.php>Back to form</a></p>";
                                            


출처
https://stackoverflow.com/questions/22009854