Получите идентификатор для перехода с одной страницы на другую - PullRequest
0 голосов
/ 08 мая 2020

, поэтому у меня есть задача сделать CRUD-страницу в качестве задания, единственная проблема - когда я нажимаю удалить на своей странице чтения, ничего не происходит. То же самое в обновлении, где я могу ввести новое имя, но оно не связано с моей базой данных.

<?php
//inkludering av databaskoppling
require 'databaskoppling.php';



// sql som hämtar alla poster från tabellen 'person' i databasen med en limit på 100 personer
$sql = "SELECT * FROM skadespelare ORDER BY fornamn LIMIT 100;";

// om anslutningen fungerar ska sql köras mot databasen och därefter sparas i $result
$result = $mysqli->query($sql);


    // Skriver ut <th>-celler med rubriker för förnamn och efternamn
    echo "<th>Förnamn</th><th>Efternamn</th>";


    // 2 tomma celler till ändra- och raderalänkarna och avslutande th-celler från föregående rad
    echo "<th> </th><th> </th></tr>";

    // tbody start
    echo "\n<tbody>\n";

    // while skriver ut all data som hämtats från tabellen som finns i $resultat
    // $myRow är en tillfällig variabel som innehåller data från en rad
        while($myRow = $result->fetch_array()) {
        echo "<tr>\n";
        echo "<td>" . $myRow['fornamn'] . "</td>\n";
        echo "<td> " . $myRow['efternamn'] . "</td>\n";


    // Här följer de två cellerna för "Ändra" och "Radera"
        echo '<td><a href="update.php?skadespelade_id=' . $myRow['skadespelade_id'] . '">Ändra</a></td>' . "\n";
        echo '<td><a href="delete.php?skadespelade_id=' . $myRow['skadespelade_id'] . '">Radera</a></td>' . "\n";
        echo "</tr>\n\n";
    }
?>

1 Ответ

0 голосов
/ 08 мая 2020

Если вы используете jquery, вы можете использовать AJAX, и я предоставил вам полный код, как показано ниже,

<?php
 require 'databaskoppling.php';
?>

  <!DOCTYPE html>
  <html lang="en" dir="ltr">
  <head>
  <meta charset="utf-8">
  <title></title>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
  </head>

  <body>
   <table>
    <tr>
     <th>Förnamn</th>
     <th>Efternamn</th>
    </tr>
    <tbody>

  <?php
    $sql = "SELECT * FROM timetb;";
    $result = $mysqli->query($sql);
    while ($myRow = $result->fetch_array()) {
        $colomn_id =  $myRow['id'] ;
        $colomn1 =  $myRow['colomn_1'] ;
        $colomn2 =  $myRow['colomn_2'] ;
        echo "<tr><td>" . $colomn1 . "</td>
        <td> " . $colomn2 ."</td>
        <td>><button type='button' data-toggle='modal' data-target='#update_modal' class='btn btn-primary' onclick='updateFunction(\"".$colomn_id."\",\"".$colomn1."\",\"".$colomn2."\");'>Update</button></td>
        <td><button type='button' class='btn btn-danger' onclick='deleteFunction(\"".$colomn_id ."\");'>Delete</button></td>
        ";
     }
     ?>

   </tbody>
 </table>
   <div class="modal" id="update_modal" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
     <div class="modal-content">
      <div class="modal-header">
      <h5 class="modal-title">Edit</h5>
      <button type="button" class="close" data-dismiss="modal" aria-label="Close">
        <span aria-hidden="true">&times;</span>
      </button>
     </div>
    <div class="modal-body">
      <div id="messages"></div>
      <form id="edit_form" method="post" action="update.php">
        <div class="form-group">
          <label for="field_one">Id</label>
          <input type="text" readonly class="form-control" name="edit_id" id="edit_id">
        </div>
        <div class="form-group">
          <label for="field_one">field one</label>
          <input type="text" class="form-control" name="field_one" id="field_one">
        </div>
        <div class="form-group">
          <label for="field_two">field two</label>
          <input type="text" class="form-control"  name="field_two"  id="field_two">
        </div>

    </div>
    <div class="modal-footer">
      <button type="submit" class="btn btn-primary">Save changes</button>
      <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
       </form>
      </div>
     </div>
    </div>
  </div>

 <script type="text/javascript">
   function updateFunction(id, col1, col2) {
    $("#edit_id").val(id);
    $("#field_one").val(col1);
    $("#field_two").val(col2);
    // submit form function
    $("#edit_for").submit(function() {
    if (id) {
      $.ajax({
        url: form.attr('action'),
        type: form.attr('method'),
        data: form.serialize(),
        dataType: 'json',
        success: function(response) {
           if (response.success === true) {
             //success msg here
           }else {
             ////error msg here
           }
          }
        });
       }
      return false;
    });
   }
  </script>
 </body>
</html>

И ваше обновление. php должно понравиться,

require 'databaskoppling.php';
$valid['success'] = array('success' => false, 'messages' => array());
if ($_POST) {
$id = $_POST['edit_id'];
$field_one = $_POST['field_one'];
$field_two = $_POST['field_two'];

$sql = "UPDATE tablename SET field_one = '$field_one', field_two = '$field_two' WHERE id = '$id'";
$mysqli->query($sql);

 if ($connect->query($sql) === true) {
     $valid['success'] = true;
     $valid['messages'] = "Successfully Updated";
  } else {
     $valid['success'] = false;
     $valid['messages'] ="Error while Editing";
 }
}

и функции удаления одинаковы. Думаю, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...