Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie danych z MSQL
Forum PHP.pl > Forum > Przedszkole
Kaluza
Mam w bazie danych 3 tabele: ID, LOGIN i IMIE.
Jak zrobić aby po zalogowaniu się przez użytkownika wyświetlało się jego imię które jest w tabeli IMIE.

  1. <?php
  2.  
  3.  
  4. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  5.  
  6.  
  7. {
  8.  
  9. echo "Jestes zalogowany. ";
  10.  
  11. echo "Twój login to: ";
  12.  
  13. echo $_SESSION['login'];
  14.  
  15.  
  16. }
  17.  
  18. else
  19.  
  20. {
  21.  
  22. echo "Nie jestes zalogowany";
  23.  
  24.  
  25.  
  26. }

blade-mrn
Musisz stworzyć zapytanie wybierające imię za pomocą np. loginu a potem dostać się do danych zwróconych przez bazę za pomocą fetch_assoc()
  1. SELECT imie FROM tabela WHER login= login podany przez użytkowniak

Tylko nie wiem po co ci oddzielne tabele dla ID, LOGIN, IMIE kiedy to można trzymać w jednej tabeli.
Kaluza
Mój błąd. Wszystko mam w jednej tabeli o nazwie USERS
Czyli będzie:
  1. $imie = "SELECT imie FROM users WHERE login=$login"

  1. if ($result = $mysqli->imie($imie)) {
  2.  
  3. /* fetch associative array */
  4. while ($row = $result->fetch_assoc()) {
  5. printf ("$row["imie"]);
  6. }


Czy to tak będzie wyglądało ?



Webmasterr
Cytat(Kaluza @ 4.12.2010, 11:14:31 ) *
Mój błąd. Wszystko mam w jednej tabeli o nazwie USERS
Czyli będzie:
  1. $imie = "SELECT imie FROM users WHERE login=$login"

  1. if ($result = $mysqli->imie($imie)) {
  2.  
  3. /* fetch associative array */
  4. while ($row = $result->fetch_assoc()) {
  5. printf ("$row["imie"]);
  6. }


Czy to tak będzie wyglądało ?


A nie

  1. printf ($row["imie"]);
?
Kaluza
  1. <?php
  2.  
  3. $imie = "SELECT imie FROM users WHERE login=$login"
  4.  
  5.  
  6. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  7.  
  8. if ($result = $mysqli->imie($imie)) {
  9.  
  10. /* fetch associative array */
  11. while ($row = $result->fetch_assoc()) {
  12. printf ($row["imie"]);
  13. }
  14.  
  15. {
  16.  
  17. echo "Jestes zalogowany. ";
  18.  
  19. echo "Twój login to: ";
  20.  
  21. echo $_SESSION['login'];
  22.  
  23. echo $POST['imie'];
  24.  
  25.  
  26. }
  27.  
  28. else
  29.  
  30. {
  31.  
  32. echo "Nie jestes zalogowany";
  33.  
  34.  
  35.  
  36. }


Coś nie działa.
blade-mrn
Masz dużo błędów w kodzie.
Tu $imie = "SELECT imie FROM users WHERE login=$login" brakuje średnika, no i ja radziłbym umieścić to po tym jak sprawdzasz czy sesja trwa bo jeśli nie trwa to nic nie robisz. A już na pewno nie może to być przed start_session(). Brakuje paru klamerek od instrukcji warunkowych.
Skąd bierzesz ten login bo jeśli z formularza to brakuje $login = $_POST['login'] a jeśli z sesji to brakuje $login = $_SESSION['login']. Nie widzę tu połączenia z bazą danych.
A samo zapytanie łącznie z połączeniem może wyglądać mniej więcej tak:
  1. $polaczenie = mysql_connect('serwer', 'nazwa użytkownika', 'haslo uzytkownika');
  2. $baza = mysql_select_db('nazwa bazy',$polaczenie);
  3. $zapytanie = "SELECT imie FROM USERS WHERE login='$login'";
  4. $wynik = mysql_query($zapytanie, $polaczenie);
  5. $rekord = mysql_fetch_assoc($wynik);
  6. echo $rekord;


Jeśli jest tu gdzieś błąd to sorry ale jechałem z pamięci.
Kaluza
Połączenie z bazą mam w innym pliku.
Login pobieram z sesji.
Niestety gdzie bym nie wstawił $imie to wywala errory.
blade-mrn
Może byś tak podał treść tych błędów, to by znacznie ułatwiło sprawę bo o ile wiem jasnowidzów tu nie ma.
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.