Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Formularz pobierający dane z bazy wg ID
Forum PHP.pl > Forum > Przedszkole
musiek86
Witam mam taki oto plik php:
  1. <?php
  2. //Parametry bazy i serwera
  3. $ip = 'localhost';
  4. $nazwa_bazy = 'www;
  5. $login = 'zzz';
  6. $pass = 'xxx';
  7.  
  8. //Ustanawiamy połączenie z serwerem mysql
  9. if ( !mysql_connect($ip, $login, $pass) ) {
  10. echo 'Nie moge polaczyc sie z baza danych';
  11. exit (0);
  12. }
  13. //Wybieramy baze danych
  14. if ( !mysql_select_db($nazwa_bazy) ) {
  15. echo 'Blad otwarcia bazy danych';
  16. exit (0);
  17. }
  18. //Zapytanie do bazy celem pobrania danych z odpowiednich komórek
  19. $zapytanie = mysql_query("SELECT id,login, email, haselko, data, status FROM sg_zamowienia ORDER BY data")
  20. or die('Błąd zapytania');
  21.  
  22. //wyświetlamy wyniki, sprawdzamy, czy zapytanie zwróciło wartość większą od 0
  23. if(mysql_num_rows($zapytanie) > 0) {
  24. /* jeżeli $zapytanie jest pozytywne, to wyświetlamy dane */
  25. echo "<table cellpadding=\"2\" border=1>";
  26. echo '<tr><td><b>Lp.</b></td><td><b>Login</b></td><td><b>Hasło</b></td><td><b>E-mail</b></td><td><b>Dara rejestracji</b></td><td><b>Status konta</b></td><td><b>Akcja</b></td></tr>';
  27. while($r = mysql_fetch_assoc($zapytanie)) {
  28. echo "<tr>";
  29. echo "<td>".$r['id']."</td>";
  30. echo "<td>".$r['login']."</td>";
  31. echo "<td>".$r['haselko']."</td>";
  32. echo "<td>".$r['email']."</td>";
  33. echo "<td>".$r['data']."</td>";
  34. echo "<td>".$r['status']."</td>";
  35. if ($r['status'] != 'aktywne') {
  36. echo '<td><FORM NAME="aktywacja" METHOD="post" ACTION="aktywacja.php"><button type="submit">Aktywuj</button></td>';
  37. echo "</tr>";
  38. }
  39. else
  40. echo '<td><FORM NAME="aktywacja" METHOD="post" ACTION="aktywacja.php"><button type="text" disabled="disabled">Aktywne</button></td>';
  41. echo "</tr>";
  42. }
  43. echo "</center></table>";
  44. }
  45.  
  46.  
  47. ?>

Dokładniej wygląd jest tu http://www.kmus.pl/pliki/konta.php

Jak widać dane są pobierane z bazy w której rekordy są auto numerowane dzięki ID, przy wyświetlaniu tabeli z danymi widać ze dla statusu rożnego od 'aktywne' uaktywnia się przycisk Aktywuj, chciałbym aby po jego wciśnięciu przesłane zostały dane (np login) do innego pliku (w tym przypadku aktywacja.php) za pomocą np zmiennej $login ale dla konkretnego ID, w tym przypadku miałby pobierać wartość login dla ID=2. Kto pomoże?
sliwa007
zamiast przycisku aktywuj w formie formularza zrób link:

  1. echo '<a href="aktywacja.php?login='.$r['login'].'">Aktywuj</a>';


I potem w pliku aktywacja.php. Odczytujesz zmienną GET w której jest parametr:

  1. $_GET['login']
musiek86
No dobrze wszystko działa tak ja kbyć powinno i odpowiednie dane jak login, haslo i mail przechodza do pliku aktywacja.php ale chciałbym jeszcze by po kliknięciu na ten link w bazie odpowiedni rekord w kolumnie status konta zmieniał sie z 'nieaktywne' na 'aktywne'. Nie wiem czy dobrze myslę ale przy kliknięciu mozna by było dodac opcje onmouseclick i tu zapytanie do bazy zmieniające wartość z nieaktywne na aktywne dla odpowiedniego ID
abort
Jak masz login (czyli coś unikalnego), to co za problem w pliku aktywacja.php wywołać mysql_query? A co w query do bazy? Zainteresuj się poleceniem UPDATE. http://dev.mysql.com/doc/refman/5.5/en/update.html

musiek86
  1. echo '<td><a href="aktywacja.php?login='.$r['login'].'&haselko='.$r['haselko'].'&email='.$r['email'].' onmouseclick='mysql_query("UPDATE `sg_zamowienia` SET `status` = 'aktywny' WHERE `login`='.$r['login']'")'">Aktywuj</a></td>';

Zrobiłem tak ale cos pomieszałem bo mi wywala błąd
  1. Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in D:\xampp\htdocs\pliki\konta.php on line 39
linia 39 to własnie to co wyżej
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.