Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie rekordu z bazy i wyświetlenie go
Forum PHP.pl > Forum > Przedszkole
maylomoneycash
Witam. Mam problem z utworzemiem zapytania do bazy danych by użytkownikowi o ID=1 wyświetlał się jego rekord punkty, użytkownikowi o ID=2 jego itd..

Zrobiłem tak:

  1.  
  2.  
  3. <?php
  4.  
  5. $serwer = "localhost"; // nazwa serwera mysql
  6. $login = "root"; // login do bazy
  7. $haslo = "xyz"; // haslo do bazy
  8. $baza = "xyz"; // nazwa bazy
  9. $tabela = "uzytkownicy"; // nazwa tabeli
  10.  
  11. $punkty = $_POST['points'];
  12.  
  13. if($punkty) {
  14.  
  15. // łączymy się z bazą danych
  16. if (mysql_connect($serwer, $login, $haslo) and mysql_select_db($baza)) {
  17.  
  18. // zapytanie do bazy danych
  19. $wynik = mysql_query("SELECT * FROM uzytkownicy WHERE dzial='$punkty'")
  20. or die("Błąd w zapytaniu!");
  21.  
  22. }
  23. else echo "Nie mogę połączyć się z bazą danych!";
  24.  
  25. // wyświetlany wyniki zapytania
  26. while($rek = mysql_fetch_array($wynik)) {
  27. echo $rek['points']."<br />";
  28. }
  29. }
  30.  
  31. ?>


Proszę o pomoc smile.gif
nospor
Zakladaj swoje tematy w dziale przedszkole. Tam tez teraz przenosze.

Zas co do tematu:
to gdzie niby tutaj probujesz pobrac punkty danego uzytkownika?
YourFrog
1. Jeżeli nie połączysz się z bazą danych to i skrypt się rozłoży jak długi i będzie walić notkami (tak to błąd nospor opisał to na blogu)
2. Nie piszemy zmiennych/tabel/klas po polsku
3. or die (mysql_error()). Twój die nic nie mówi w momencie błędnego zapytania. Dla hejterów że takiego czegoś nie puszcza się na produkcję. To sobie zróbcie klasę do debug'owania i ustawiajcie jej stan tongue.gif
4. mysql_fetch_assoc zwraca tablice z kluczami o nazwie kolumn.
5. mysql_query oznaczony w dokumentacji jest jako przestarzały. Użyj PDO.
6. Tak nie wstawiamy zmiennej do zapytania brakuje ci walidacji


A tak po za tym to jaki masz błąd / problem tongue.gif. Bo zapytanie wygląda na poprawne. Możesz nie mieć tabeli czy coś.

rel
punkty masz napewno przechowywane w tabeli XYZ, wiec dlaczego nie zrobić tego: where nazwa kolumny tabeli= np. 1

zamiast tego:

WHERE dzial='$punkty'
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.