![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 24.04.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Nie wiem dlaczego zawsze jako ID przekazuje mi ostatni element a nie ten który kliknąłem np edytuj lub usuń Plik z klasa db.php <?php class Baza { function __construct($host, $database, $port, $username, $password) { try { $this->pdo = new PDO('mysql:host='.$host.';dbname='.$database.';port='. $port, $username, $password); $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo 'Połączenie nie mogło zostać utworzone:<br> ' . $e->getMessage(); } } function select_insert() { $lp = 1; echo '<form method="post" action="index.php" name="formularz"> <table> <tr> <th>l.p</th> <th>Imię</th> <th>Nazwisko</th> <th>Numer komórki</th> <th>Waga</th> <th>Aktualizacja</th> <th>Usuń</th> <th>Edytuj</th> </tr>'; $stmt = $this->pdo->query('SELECT id_osoba, imie, nazwisko, nr_kom, waga, aktualizacja FROM klient'); foreach($stmt as $row) { echo '<tr>'. '<td>'.$lp++.'</td>'. '<td>'.$row['imie'].'</td>'. '<td>'.$row['nazwisko'].'</td>'. '<td>'.$row['nr_kom'].'</td>'. '<td>'.$row['waga'].'</td>'. '<td>'.$row['aktualizacja'].'</td>'. '<td> <input type="hidden" name="id" value="'.$row['id_osoba'].'"> <input type="submit" name="delete" onclick=\'return confirm("Usunąć ten wpis?");\' value="Usuń"></td>'. '<td> <input type="hidden" name="id" value="'.$row['id_osoba'].'"> <input type="submit" name="edit" value="Edytuj"></td>'. '</tr>'; } $stmt->closeCursor(); echo '<tr> <td></td> <td><input type="text" name="imie" ></td> <td><input type="text" name="nazwisko" ></td> <td><input type="text" name="nr_kom" ></td> <td><input type="number" step="0.01" name="waga" ></td> <td></td> <td><input type="submit" name="insert" value="Dodaj" onclick="return sprawdz();"></td> <td></td> </tr> </table></form>'; } function select_update($id) { $lp = 1; echo ' <form method="post" action="index.php" name="formularz"> <input type="hidden" name="insert" value="true"> <table> <tr> <th>l.p</th> <th>Imię</th> <th>Nazwisko</th> <th>Numer komórki</th> <th>Waga</th> <th>Aktualizacja</th> <th>Usuń</th> <th>Edytuj</th> <th>id</th> <th>id_Kliknietego</th> </tr>'; $stmt = $this->pdo->query('SELECT id_osoba, imie, nazwisko, nr_kom, waga, aktualizacja FROM klient'); foreach($stmt as $row) { if($row['id_osoba'] == $id) { echo '<tr>'. '<td><input type="hidden" name="update" value="'.$row['id_osoba'].'">'. $lp++.'</td>'. '<td><input type="text" value="'.$row['imie'].'" name="imie"></td>'. '<td><input type="text" value="'.$row['nazwisko'].'" name="nazwisko"></td>'. '<td><input type="text" value="'.$row['nr_kom'].'" name="nr_kom" required ></td>'. '<td><input type="number" step="0.01" value="'.$row['waga'].'" name="waga" required></td>'. '<td>'.$row['aktualizacja'].'</td>'. '<td><input type="submit" value="Zapisz" onclick="return sprawdz();"></td>'. '<td><input type="button" value="Anuluj" '. 'onclick="document.location = \'index.php\';"></td>'. '</tr>'; } else echo '<tr>'. '<td>'.$lp++.'</td>'. '<td>'.$row['imie'].'</td>'. '<td>'.$row['nazwisko'].'</td>'. '<td>'.$row['nr_kom'].'</td>'. '<td>'.$row['waga'].'</td>'. '<td>'.$row['aktualizacja'].'</td>'. '<td></td>'. '<td></td>'. '<td>'.$row['id_osoba'].'</td>'. '<td>'.$_POST['id'].'</td>'. '</tr>'; } $stmt->closeCursor(); echo '</table></form>'; } function insert($imie,$nazwisko,$nr_kom,$waga) { try { $dbquery = $this->pdo->prepare('INSERT INTO klient(imie, nazwisko, nr_kom, waga,aktualizacja) VALUES(?, ?, ?, ?, ?)'); $dbquery->execute(array($imie,$nazwisko,$nr_kom,$waga,date("Y-m-d H:i:s"))); header('Location: index.php'); } catch(PDOException $e) { echo $e->getMessage(); } } function delete($id) { try { $dbquery = $this->pdo->prepare('DELETE FROM klient WHERE id_osoba= ?'); $dbquery->execute(array($id)); header('Location: index.php'); } catch(PDOException $e) { echo $e->getMessage(); } } function update($imie, $nazwisko, $nr_kom, $waga, $id) { try { $dbquery = $this->pdo->prepare('UPDATE klient SET imie = ?, nazwisko = ?, nr_kom = ?, waga = ?, aktualizacja = ? WHERE id_osoba = ?'); $dbquery->execute(array($imie, $nazwisko, $nr_kom, $waga, date("Y-m-d H:i:s"), $id)); header('Location: index.php'); } catch(PDOException $e) { echo $e->getMessage(); } } } ?> Plik index.php: <!DOCTYPE HTML> <html> <head> <title>Baza danych w PHP przy użyciu biblioteki PDO - przykład</title> <meta charset="utf-8"> <meta name="author" content=""> <meta name="description" content=""> <meta name="keywords" content=""> <link href="style.css" rel="stylesheet" type="text/css"> <script src="skrypty.js" type="text/javascript"></script> </head> <body> <header> <h1>Interfejs obsługi tabeli: klientów</h1> </header> <?php require('db.php'); require('config.php'); $baza = new Baza($host,$dbname,$port,$login,$haslo); if( isset($_POST['delete']) ) $baza->delete($_POST['id']); elseif( isset($_POST['update']) ) $baza->update($_POST['imie'],$_POST['nazwisko'],$_POST['nr_kom'],$_POST['waga'],$_POST['update']); elseif( isset($_POST['insert']) ) $baza->insert($_POST['imie'],$_POST['nazwisko'],$_POST['nr_kom'],$_POST['waga']); elseif( isset($_POST['edit']) ) $baza->select_update($_POST['id']); else $baza->select_insert(); ?> </body> </html> Ten post edytował Coyote94 24.04.2016, 14:09:17 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 23:40 |