Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MSSQL] Submit i przekazywanie zmiennej
DerekDX
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 23.04.2010

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


Witam,
jako ze dopiero zaczynam swoja zabawe z php i mysql przejzalem wiekszosc stron z kursami, a ze nic tak nie cementuje wiedzy teoretycznej jak praktyczne jej wykrzystanie to zabralem sie za pisanie strony i nie dlugo po tym pojawil sie problem.


Otoz mam tabele zamierajaca pole Id i kilka pol co teraz nie jest istotne, napisalem skrypt wyswietlajacy wszystkie rekordy tabeli a obok kazdego rekordu jest przycisk ktory usuwac bedzie dany rekord. Moze jestem malo doswiadoczony w te klocki ale chce to zrobic w ten sposob ze po przycisnieciu butona usun zmienna ktora jest ID rekordu powedruja za pomoca $_POST do drugiego pliku gdzie kwerenda mysql usunie rekord o podanym id. Problem polega na tym ze zmienna ID ktora oznacza liczbe pozadkowa rekordu nie chce sie przeslac do pliku usuwajacego.

Mam nadzieje ze zrozumielisci o co mi chodzi, na dole zamieszczam kod odpowiedzialny za przesylanie tej zmiennej do pliku suswajacego





  1. while ($tab=mysql_fetch_array($wynik))
  2. {
  3. $id=$tab['id'];
  4. $tytul=$tab['tytul'];
  5. $autor=$tab['autor'];
  6. $utworzono=$tab['data'];
  7. echo '<tr><td>';
  8. echo $id;
  9. echo '</td><td>';
  10. echo $tytul;
  11. echo '</td><td>';
  12. echo $autor;
  13. echo '</td><td>';
  14. echo $utworzono;
  15. echo '</td><td>';
  16. echo '<form action="usun_artykul.php" method="post">
  17. <input type="submit" name="$id" value="usun"></form>';
  18. echo '</td></tr>';
  19. }
  20. echo '</table>';
Go to the top of the page
+Quote Post
lukasz_matysek
post
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 25.03.2010

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


Cytat(DerekDX @ 23.04.2010, 18:49:07 ) *
  1. echo '<form action="usun_artykul.php" method="post">
  2. <input type="submit" name="$id" value="usun"></form>';


Problem leży w miejscu, które pogrubiłem. "name" oznacza nazwę tego inputa, którą wykorzystujesz do innych celów, chociażby do sprawdzania później za pomocą isset czy dany przycisk rzeczywiście został wciśnięty, czy też może ktoś wcisnął F5(reload).

Ale do rzeczy. Moim zdaniem, można to zrobić tak:

  1. echo '<form action="usun_artykul.php" method="post">
  2. <input type="submit" name="submit" value="usun">
  3. <input type="hidden" name="id_do_usuniecia" value="$id" />
  4. </form>';


a po stronie php zebrać ID za pomocą $_POST['id_do_usuniecia']

Tak ja to widzę, jednak czuję się jeszcze mało kompetentny aby doradzać komukolwiek (IMG:style_emoticons/default/smile.gif)

Ten post edytował lukasz_matysek 23.04.2010, 18:37:54
Go to the top of the page
+Quote Post
minolone
post
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 24
Dołączył: 21.06.2008

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


zamień to
  1. <input type="submit" name="$id" value="usun"></form>';

na to
  1. <input type="submit" name="'.$id.'" value="usun"></form>';



Ten post edytował minolone 23.04.2010, 18:03:56
Go to the top of the page
+Quote Post
lukasz_matysek
post
Post #4





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 25.03.2010

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


hmm teraz to ja nie rozumiem, ale ponieważ to "przedszkole" to mogę zadać pytanie:

jak Kolego z Twojej metody wyciągnąć potem w php numer ID do usunięcia?

Go to the top of the page
+Quote Post
korey
post
Post #5





Grupa: Zarejestrowani
Postów: 122
Pomógł: 2
Dołączył: 14.08.2009
Skąd: Łódź

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


mógł bys podać zawartość pliku usun_artykul.php..?
Go to the top of the page
+Quote Post
DerekDX
post
Post #6





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 23.04.2010

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


Cytat(korey @ 23.04.2010, 19:23:39 ) *
mógł bys podać zawartość pliku usun_artykul.php..?


zawartosc pliku usun_artykul.php nie jest imponujaca, nie rozwijalem go powniewaz nie moglem uporac sie z przeslaniem tej zmiennej. Plik ten sprawdza tylko czy zmienna zostala przeslana

  1. <?php
  2. $id=$_POST[$id];
  3. echo $id;
  4. ?>

Go to the top of the page
+Quote Post
korey
post
Post #7





Grupa: Zarejestrowani
Postów: 122
Pomógł: 2
Dołączył: 14.08.2009
Skąd: Łódź

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


ja pozbyłbym sie <form> i użył IF() i $_GET[];

napisałem coś takiego ale nie wiem czy będzie u ciebie na pewno działać.

  1. <table>
  2. <?php
  3. while ($tab=mysql_fetch_array($wynik))
  4. {
  5. $id=$tab['id'];
  6. $tytul=$tab['tytul'];
  7. $autor=$tab['autor'];
  8. $utworzono=$tab['data'];
  9. ?>
  10. <tr>
  11. <td><?php echo $id; ?></td>
  12. <td><?php echo $tytul; ?></td>
  13. <td><?php echo $autor; ?></td>
  14. <td><?php echo $utworzono; ?></td>
  15. <td><a href="jakis_plik.php?usun_id=<?php echo $id; ?>">Usuń</a></td>
  16. </tr>
  17. <?php
  18. }
  19. if($_GET['usun_id']){
  20. $usuwam = $_GET['usun'];
  21. $zapytanie = "DELETE FROM `tabela` WHERE `id`= $usuwam ";
  22. echo 'Artykuł został usunięty (IMG:style_emoticons/default/biggrin.gif) ';
  23. }else{}
  24. ?>
  25. </table>
  26.  
Go to the top of the page
+Quote Post
lukasz_matysek
post
Post #8





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 25.03.2010

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


kolego Korey, oczywiście że można tak zrobić, jednak on chciał wykorzystać buttony a nie linki.
Go to the top of the page
+Quote Post
korey
post
Post #9





Grupa: Zarejestrowani
Postów: 122
Pomógł: 2
Dołączył: 14.08.2009
Skąd: Łódź

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


może zrobić <img> zamiast buttona (IMG:style_emoticons/default/biggrin.gif)
To byla tylko moja propozycja rozwiązania tego problemu prostszym sposobem.
Go to the top of the page
+Quote Post
lukasz_matysek
post
Post #10





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 25.03.2010

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


a no rzeczywiście, img też fajnie w sumie, tylko trzeba kombinować z css i js żeby uzyskać graficzny efekt wciśnięcia.

Ten post edytował lukasz_matysek 23.04.2010, 18:43:16
Go to the top of the page
+Quote Post
korey
post
Post #11





Grupa: Zarejestrowani
Postów: 122
Pomógł: 2
Dołączył: 14.08.2009
Skąd: Łódź

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


ech.. js nie koniecznie (IMG:style_emoticons/default/biggrin.gif)

np w css tajesz

img.usun:hover{ //np
background-image:url(usun_bg.gif);
//albo
border: bla bla ;
}

tak czy owak teraz style CSS to standard na stronkach www
Go to the top of the page
+Quote Post
lukasz_matysek
post
Post #12





Grupa: Zarejestrowani
Postów: 33
Pomógł: 2
Dołączył: 25.03.2010

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


a to ciekawe z hover dla czegoś innego niż <a>, w sumie nigdy mi to do głowy nie przyszło:) muszę koniecznie popróbować (IMG:style_emoticons/default/smile.gif) dzięki za pokierowanie (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
korey
post
Post #13





Grupa: Zarejestrowani
Postów: 122
Pomógł: 2
Dołączył: 14.08.2009
Skąd: Łódź

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


No cieszę sie ze byłem w stanie jakoś pomóc.
Go to the top of the page
+Quote Post
DerekDX
post
Post #14





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 23.04.2010

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


Dzieki chlopaki za pomoc wszystko dziala jak nalezy
Go to the top of the page
+Quote Post
korey
post
Post #15





Grupa: Zarejestrowani
Postów: 122
Pomógł: 2
Dołączył: 14.08.2009
Skąd: Łódź

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


Hmm.. tylko powiedz mi jeszcze z którego kodu skorzystałeś. (IMG:style_emoticons/default/smile.gif) To tak z Ciekawości
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 15:26