i'm having problem when try delete record select in menu page, after click delete,the header shows me record has been deleted, shows me message=deleted , realize record still appear in menu page, , checked phpmyadmin , still exists, think i'm not reach selected record in delete page, here's code far : delete.php
<?php include('koneksi.php'); $page_number = $_get['page']; <?php include('koneksi.php'); $page_number = $_get['page']; $dbdit = new pdo('mysql:host=localhost;dbname=laundry','root',''); $results = $dbdit->prepare("select count(*) konsumen"); $results->execute(); $get_total_rows = $results->fetch(); $results = $dbdit->prepare("delete konsumen order kode_pemesanan asc limit :page_number"); $results->bindvalue(':page_number',$page_number); $results->execute(); if($results){ header('location:menu.php?message=deleted&&?page=1'); }
menu.php
if($typeuser == 'admin'){ $item_per_page = 1; $dbcon = new pdo('mysql:host=localhost;dbname=laundry','root',''); $results = $dbcon->prepare("select count(*) konsumen"); $results->execute(); $get_total_rows = $results->fetch(); //breaking total records pages $pages = ceil($get_total_rows[0]/$item_per_page); if(isset($_get["page"])){ $page_number = filter_var($_get["page"], filter_sanitize_number_int, filter_flag_strip_high); if(!is_numeric($page_number)){die('invalid page number!<a href="?page=1"> back! </a>');} //incase of invalid page number }else{ $page_number = 1; } $position = (($page_number-1) * $item_per_page); $results = $dbcon->prepare("select * konsumen order kode_pemesanan asc limit $position, $item_per_page"); $results->execute(); while($row = $results->fetch()){ print_r ("<table> <tr> <td>kode pemesanan</td><td>:</td><td>".$row['kode_pemesanan']."</td></tr> <tr><td>atas nama</td><td>:</td><td>".$row['atas_nama']."</td></tr> <tr><td>jumlah baju</td><td>:</td><td>".$row['jmlhbaju']."</td></tr> <tr><td>jumlah celana</td><td>:</td><td>".$row['jmlhcelana']."</td></tr> <tr><td>jumlah jaket</td><td>:</td><td>".$row['jmlhjaket']."</td></tr> <tr><td>jumlah jas</td><td>:</td><td>".$row['jmlhjas']."</td></tr> <tr><td>jumlah dress</td><td>:</td><td>".$row['jmlhdress']."</td></tr> <tr><td>pengurus pesanan</td><td>:</td><td>".$row['penguruspesanan']."</td></tr> <tr><td>status pesanan</td><td>:</td><td>".$row['statuspesanan']."</td></tr> <tr><td>total pesanan</td><td>:</td><td>".$row['totalpesanan']."</td> </tr></table> <br> "); } $min = 1; if(isset($_get["page"]) && $_get["page"] > $min ){ $previous = $page_number - 1; echo "<a href='?page=$previous'>←previous</a> "; } else echo "<a href='?page=1'>←previous</a> "; echo "<a href='edit.php?page=$page_number'>edit</a> "; echo "<a href='delete.php?page=$page_number'>delete</a> "; if(isset($_get["page"]) && $_get["page"] < $pages ){ $next = $page_number + 1; echo "<a href='?page=$next'>next→</a>"; } else echo "<a href='?page=$pages'>next→</a>"; } }
there many issues main 1 query you're trying run makes no sense @ all:
delete konsumen order kode_pemesanan asc limit :page_number
not not specifying record delete delete
query looks more select
query order by
, limit
.
your echo "<a href='delete.php?page=$page_number'>delete</a> ";
link need inside fetch loop , use key, not page number:
echo "<a href='delete.php?key={$row['kode_pemesanan']}'>delete</a> ";
and of course you'd need correct delete.php
use key.
instead of $page_number = $_get['page'];
, put $key = $_get['key'];
, ideally basic validation , correct pdo querying:
$results = $dbdit->prepare("delete konsumen kode_pemesanan = :kode_pemesanan"); $results->bindvalue(':kode_pemesanan', $key, pdo::param_int); if($results->execute()){ header('location:menu.php?message=deleted&&?page=1'); } else { // can better it's show how deal returned values die('error in delete query'); }
there may other issues can't test on site find them.