Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tabela usuwanie rekordu
flaq1991
post 4.01.2013, 09:03:27
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 11.12.2012

Ostrzeżenie: (0%)
-----


Witam próbuje już od dłóższego czasu to rozkminic ale mi nie wychodzi a więc mam takie tabele (przedstawione poniżej) i chciałbym dodać tam po test4 kolumne "usun" która usuwała by właśnie daną kolumne np.

test1...test2...test3....test4....usun <1>
test1...test2...test3....test4....usun <2>
test1...test2...test3....test4....usun <3>

i jeżeli kliknąłbym usun np. w <2> to usuwał by się rekord z bazy z tymi danymi a reszta by zostawała, zapytania i całą reszte mam tylko problem tkwi w tym że nie wiem jak usunac daną kolumne(tabele)



  1. echo "<td><center><font color=\"#339900\">Test1</td><td><center><font color=\"#339900\">Test2</td>
  2. <td><center><font color=\"#339900\">Test3</td><td><center><font color=\"#339900\">Test4</td></td></td></tr></tr>";
  3. while($r = mysql_fetch_assoc($wynik)) {
  4.  
  5. echo "<td><center>".strip_tags(stripslashes(htmlspecialchars(addslashes($r['test1']))))."<br></td>";
  6. echo "<td><center>".strip_tags(stripslashes(htmlspecialchars(addslashes($r['test2']))))."</td>";
  7. echo "<td><center>".strip_tags(stripslashes(htmlspecialchars(addslashes($r['test3']))))."</td>";
  8. echo "<td><center>".strip_tags(stripslashes(htmlspecialchars(addslashes($r['test4']))))."</td>";
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
aras785
post 4.01.2013, 09:22:59
Post #2





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


A może o takie coś chodzi?
  1. <?php
  2. echo '<tr><th>TEST 1</th><th>TEST 2</th><th>TEST 3</th><th>TEST 4</th><th>AKCJA</th></tr>';
  3. while($r = mysql_fetch_assoc($wynik)) {
  4. echo '<tr>';
  5. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test1'])))).'</center></td>';
  6. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test2'])))).'</center></td>';
  7. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test3'])))).'</center></td>';
  8. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test4'])))).'</center></td>';
  9. echo '<td><a href="index.php?usun='.$r['id'].'">Usuń</a></td>';
  10. echo '<tr>';
  11. }
  12. ?>


Ten post edytował aras785 4.01.2013, 09:31:22
Go to the top of the page
+Quote Post
flaq1991
post 4.01.2013, 09:39:35
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 11.12.2012

Ostrzeżenie: (0%)
-----


Tak tylko że każdą osobno i ma to być w tej tabelce w php opisałem w miare dokładnie tongue.gif

Dobrze właśnie o to mi chodziło tylko teraz jak zapisać tą funkcje usuwania questionmark.gif dotychczas miałem taką funkcje do usuwania wszystkich rekordów mógłbyś mi to przerobić aby działała właśnie z twoim podanym kodem wyżej ?

funkcja :
  1. <?php
  2. if($submit)
  3. {
  4. mysql_connect(123,123,123);
  5. $zapytanie = "DELETE FROM tabela WHERE userid='$login'";
  6. mysql_query($zapytanie);
  7. echo "Twoje rekordy zostały usunięte !";
  8. }
  9. ?>

Był to button kasujący wszystkie rekordy danego użytkownika ;S nie wiem właśnie jak by to zapisać do twojego przykładu.
Go to the top of the page
+Quote Post
aras785
post 4.01.2013, 09:46:32
Post #4





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


Myślę, że takie coś Ci wystarczy smile.gif

tabela: test

  1. <?php
  2. //kasowanie rekordu
  3. if(isset($_GET['usun']) and is_int($_GET['usun'])) {
  4. $id = (int)$_GET['usun'];
  5. //sprawdzamy czy jest w bazie
  6. $q = mysql_query("SELECT id FROM test WHERE id='$id' LIMIT 1--");
  7. if(mysql_num_rows($q)==1) {
  8. //usuwanie
  9. if(mysql_query("DELETE FROM test WHERE id='$id' LIMIT 1--")) {
  10. echo('Usunięto!');
  11. }
  12. }
  13. }
  14.  
  15. $wynik = mysql_query("SELECT * FROM test");
  16. echo '<table><tr><th>TEST 1</th><th>TEST 2</th><th>TEST 3</th><th>TEST 4</th><th>AKCJA</th></tr>';
  17. while($r = mysql_fetch_assoc($wynik)) {
  18. echo '<tr>';
  19. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test1'])))).'</center></td>';
  20. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test2'])))).'</center></td>';
  21. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test3'])))).'</center></td>';
  22. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test4'])))).'</center></td>';
  23. echo '<td><a href="index.php?usun='.$r['id'].'">Usuń</a></td>';
  24. echo '<tr>';
  25. }
  26. echo '</table>';
  27. ?>


Ten post edytował aras785 4.01.2013, 09:48:31
Go to the top of the page
+Quote Post
flaq1991
post 4.01.2013, 10:10:58
Post #5





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 11.12.2012

Ostrzeżenie: (0%)
-----


Cos nie kasuje nie wiem dlaczego, tylko odświerza strone pozatym nic sie nie dzieje (zmieniłem oczywiscie zapytania na swoje)
Go to the top of the page
+Quote Post
aras785
post 4.01.2013, 10:18:12
Post #6





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


  1. <?php
  2. //kasowanie rekordu
  3. if(isset($_GET['usun']) and !empty($_GET['usun'])) {
  4. $id = (int)$_GET['usun'];
  5. //sprawdzamy czy jest w bazie
  6. $q = mysql_query("SELECT id FROM test WHERE id='$id' LIMIT 1--");
  7. if(mysql_num_rows($q)==1) {
  8. //usuwanie
  9. if(mysql_query("DELETE FROM test WHERE id='$id' LIMIT 1--")) {
  10. echo('Usunięto!');
  11. } else echo('Błąd 2');
  12. }else echo('Błąd 1');
  13. }
  14.  
  15. $wynik = mysql_query("SELECT * FROM test");
  16. echo '<table><tr><th>TEST 1</th><th>TEST 2</th><th>TEST 3</th><th>TEST 4</th><th>AKCJA</th></tr>';
  17. while($r = mysql_fetch_assoc($wynik)) {
  18. echo '<tr>';
  19. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test1'])))).'</center></td>';
  20. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test2'])))).'</center></td>';
  21. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test3'])))).'</center></td>';
  22. echo '<td><center>'.strip_tags(stripslashes(htmlspecialchars(addslashes($r['test4'])))).'</center></td>';
  23. echo '<td><a href="index.php?usun='.$r['id'].'">Usuń</a></td>';
  24. echo '<tr>';
  25. }
  26. echo '</table>';
  27. ?>


Ten post edytował aras785 4.01.2013, 10:18:30
Go to the top of the page
+Quote Post
flaq1991
post 4.01.2013, 10:20:52
Post #7





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 11.12.2012

Ostrzeżenie: (0%)
-----


wywala błąd 1 ;S
Go to the top of the page
+Quote Post
aras785
post 4.01.2013, 10:24:09
Post #8





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


twoja strktura w tabeli "test" wyglada tak:
id, test1,test2,test3,test4 questionmark.gif


czy:
test1,test2,test3,test4 questionmark.gif
Go to the top of the page
+Quote Post
flaq1991
post 4.01.2013, 10:25:27
Post #9





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 11.12.2012

Ostrzeżenie: (0%)
-----


w bazie danych jest także id ale w tabeli na podstronie wyswietlam test1,2,3,4 bez id
oczywiscie "ID" zmieniłem na to co jest pokazane w tabeli na podstronie czyli "Login" i także nie działa

Ten post edytował flaq1991 4.01.2013, 10:26:17
Go to the top of the page
+Quote Post
aras785
post 4.01.2013, 10:27:16
Post #10





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


zrób export bazy danych i wstaw tutaj:)
Go to the top of the page
+Quote Post
flaq1991
post 4.01.2013, 10:31:22
Post #11





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 11.12.2012

Ostrzeżenie: (0%)
-----


w bazie danych tabela wygląda tak :

ID,login,TEST2,TEST3,TEST4

na stronie która wyswietla te dane jest tak :

login,TEST2,TEST3,TEST4

funkcję dałem w ten sposób :

  1. if(isset($_GET['usun']) and !empty($_GET['usun'])) {
  2. $login = (int)$_GET['usun'];
  3. //sprawdzamy czy jest w bazie
  4. $q = mysql_query("SELECT login FROM konta WHERE login='$login' LIMIT 1--");
  5. if(mysql_num_rows($q)==1) {
  6. //usuwanie
  7. if(mysql_query("DELETE FROM konta WHERE login='$login' LIMIT 1--")) {
  8. echo('Usunięto!');
  9. } else echo('Błąd 2');
  10. }else echo('Błąd 1');
  11. }


Więc zrobiłem to dobrze tak ?

Ten post edytował flaq1991 4.01.2013, 10:32:31
Go to the top of the page
+Quote Post
aras785
post 4.01.2013, 10:36:31
Post #12





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


  1. if(isset($_GET['usun']) and !empty($_GET['usun'])) {
  2. $id = (int)$_GET['usun'];
  3. //sprawdzamy czy jest w bazie
  4. $q = mysql_query("SELECT id FROM konta WHERE id='$id' LIMIT 1--");
  5. if(mysql_num_rows($q)==1) {
  6. //usuwanie
  7. if(mysql_query("DELETE FROM konta WHERE id='$id' LIMIT 1--")) {
  8. echo('Usunięto!');
  9. } else echo('Błąd 2');
  10. }else echo('Błąd 1');
  11. }



ps. rób wcięcia

Ten post edytował aras785 4.01.2013, 10:37:28
Go to the top of the page
+Quote Post
flaq1991
post 4.01.2013, 10:42:45
Post #13





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 11.12.2012

Ostrzeżenie: (0%)
-----


znów wywala bład 1 zaraz sprawdze jeszcze jedną możliwość
Go to the top of the page
+Quote Post
viking
post 4.01.2013, 10:44:36
Post #14





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Po co robisz selecta żeby zaraz potem to samo zapytanie posłać do delete? Delete zwróci false jeżeli nie zostanie wykonane.


--------------------
Go to the top of the page
+Quote Post
aras785
post 4.01.2013, 10:47:04
Post #15





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


Masz racje smile.gif

  1. if(isset($_GET['usun']) and !empty($_GET['usun'])) {
  2. $id = (int)$_GET['usun'];
  3. if(mysql_query("DELETE FROM konta WHERE id='$id' LIMIT 1--")) {
  4. echo('Usunięto!');
  5. }else echo('Błąd 2');
  6. }
Go to the top of the page
+Quote Post
flaq1991
post 4.01.2013, 10:54:12
Post #16





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 11.12.2012

Ostrzeżenie: (0%)
-----


Niby pokazuje że usunięto ale nie usuwa nic biggrin.gif hah coraz bliżej
Go to the top of the page
+Quote Post
aras785
post 4.01.2013, 10:57:32
Post #17





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


zrób eksport tabeli konta i wrzuć cały plik php
Go to the top of the page
+Quote Post
viking
post 4.01.2013, 10:59:51
Post #18





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Spróbuj jeszcze wyrzucić '' wokół id bo aktualnie id jest u ciebie stringiem.


--------------------
Go to the top of the page
+Quote Post
flaq1991
post 4.01.2013, 11:01:03
Post #19





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 11.12.2012

Ostrzeżenie: (0%)
-----


Nie ma sensu jednak wpadłem na coś dziwnego właśnie zmieniłem aby kasował po ID i skasował a loginu nie chce kasować ponieważ nie jest INT'em
  1. $id= (int)$_GET['usun'];

tutaj prawdopodobnie przez tego INT nie kasuje zapisów słownych, mogę sie mylić ? może zmienić to tylko na co najlepiej ?
Go to the top of the page
+Quote Post
aras785
post 4.01.2013, 11:03:55
Post #20





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


Chcesz kasować po ID czy po loginie?
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:28