Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie lub dodawanie konkretnego rekordu
Forum PHP.pl > Forum > PHP
paweld89
Witam !
Mam zrobioną bazę gdzie przetrzymuję dane skrypt pobierania danych wygląda tak:
  1. <?php
  2.  
  3.  
  4. $link = mysql_connect (".pl", "_", "") or die ("Nie mozna sie polaczyc z baza danych");
  5.  
  6. mysql_select_db("pl") or die ("Nie mozna wybrac bazy danych");
  7.  
  8.  
  9. $wynik = mysql_query("SELECT * FROM daneWHERE aktywna='0' ORDER BY id DESC")
  10. or die('Błąd zapytania');
  11.  
  12.  
  13.  
  14. if(mysql_num_rows($wynik) > 0) {
  15. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  16. while($row = mysql_fetch_assoc($wynik)) {
  17.  
  18.  
  19. echo "<tr><td>Imię </td>"."<td>".$row['imię']."</td></tr>";
  20. echo "<tr><td>Telefon </td>"."<td>".$row['tel']."</td></tr>";
  21. echo "<tr><td>Email </td>"."<td>".$row['email']."</td></tr>";
  22. echo "<tr><td>Dodaj</td>"."<td><input type='submit' name='submit' value='Dodaj' /></td></tr>";
  23. echo "<tr><td>Usuń </td>"."<td><input type='submit' name='submit' value='Usuń' /></td></tr>";
  24. }
  25. }
  26.  
  27. ?>
  28.  


Jak mam skonstruować zapytanie aby po kliknięciu na Dodaj rekord dodawał się do głównej bazy a po klikniecu na usuń był usuwany, biorąc pod uwagę że baza danych dane przechowuje wiele rekordów, zastanawiałem się żeby te przyciski zmienić na hiperłącza.
Szymciosek
Dodawanie to po prostu INSERT INTO... poczytaj sobie o tym co i jak masz wpisać dalej, bo to zależy od struktury Twojej bazy, której ja nie znam.

Co do usuwanie konkretnych to ja zrobiłem to tak:
  1. $id = $row['id']; //to jest z pętli foreach, która przelatuje przez cały zwracany result z bazy danych
  2. echo "<td><form action=\"content.php\" method=\"post\">
  3. <input type=\"hidden\" name=\"id\" value=\"$id\" />
  4. <input type=\"submit\" name=\"edit\" value=\"Edit\" />
  5. <input type=\"submit\" name=\"delete\" value=\"Delete\" />
  6. </form></td>";


w content.php
[php
$query = self::$PDOInstance->prepare("DELETE FROM `accept_system`.`contents` WHERE `contents`.`id` = :id");
$query->bindValue(":id", $id);

$query->execute();[/php]

To jest PDO.

Na td nie patrz, bo wcześniej mam to w tabele wrzucone.
paweld89
nie za bardzo to rozumiem, jak chcesz to mogę podesłać struktórę bazy
Szymciosek
Wyślij w tym temacie, jak będę miał chwilę to zerknę, a jak nie ja, to pewnie ktoś inny.
paweld89
  1. Struktura tabeli dla tabeli `pracownik`
  2. --
  3.  
  4. <!--c1--><div class='codetop'>Kod</div><div class='codemain'><!--ec1-->CREATE TABLE IF NOT EXISTS `pracownik` (
  5.   `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  6.   `stanowisko` varchar(250) COLLATE utf8_polish_ci NOT NULL,
  7.   `opis` varchar(250) COLLATE utf8_polish_ci NOT NULL,
  8.   `tel` varchar(20) COLLATE utf8_polish_ci NOT NULL,
  9.   `email` varchar(250) COLLATE utf8_polish_ci NOT NULL,
  10.   `wojewodztwo` varchar(250) COLLATE utf8_polish_ci NOT NULL,
  11.   `niepelnosprawnosc` varchar(100) COLLATE utf8_polish_ci NOT NULL,
  12.   `schorzenie` varchar(250) COLLATE utf8_polish_ci NOT NULL,
  13.   `etat` varchar(100) COLLATE utf8_polish_ci NOT NULL,
  14.   `umowa` varchar(100) COLLATE utf8_polish_ci NOT NULL,
  15.   `aktywna` varchar(1) COLLATE utf8_polish_ci NOT NULL,
  16.   `data` datetime NOT NULL,
  17.   PRIMARY KEY (`id`)
  18. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=11;<!--c2--></div><!--ec2-->
  19. --
  20. -- Zrzut danych tabeli `pracownik`
  21. --
  22.  
  23. <!--c1--><div class='codetop'>Kod</div><div class='codemain'><!--ec1-->INSERT INTO `pracownik` (`id`, `stanowisko`, `opis`, `tel`, `email`, `wojewodztwo`, `niepelnosprawnosc`, `schorzenie`, `etat`, `umowa`, `aktywna`, `data`) VALUES
  24. (10, 'aaa', 'AAAAAAAAAAAAAAAAAAAAAAAA', '111111111', '@gmail.com', 'Zachodniopomorskie', 'znaczny', 'Choroby neurologiczne', 'ćwierć', 'Określony', '0', '2013-01-09 11:54:59'),
  25. (8, 'aaa', 'AAAAAAAAAAAAAAAAAAAAAAAA', '111111111', '@gmail.com', 'Dolnośląskie', 'znaczny', 'Choroby układu krążenia', 'cały', 'Próbny', '0', '2013-01-07 22:59:03'),
  26. (9, 'aaa', 'AAAAAAAAAAAAAAAAAAAAAAAA', '111111111', '@gmail.com', 'Zachodniopomorskie', 'znaczny', 'Choroby neurologiczne', 'ćwierć', 'Określony', '0', '2013-01-09 11:54:59');<!--c2--></div><!--ec2-->
  27.  
  28. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  29. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  30. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;



tak się prezentuje baza.


halo czy ktoś tu jest ?
skowron-line
Jeżeli chcesz usunąć konkretny rekord z tabeli, i chcesz to zrobić przy pomocy hiperłącza to robisz tak
  1. <a href="index.php?id=<?php echo $row['id']; ?>">usuń</a>

w phpie na stronie index.php sprawdzasz czy id nie jest pustę i czy jest liczbą i jeżeli jest to robisz delete.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.