Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Wyświetlanie wybranych rekordów
Forum PHP.pl > Forum > Przedszkole
tymusss
Potrzebuję wyświetlić rekordy należące tylko i wyłącznie do zalogowanego użytkownika. Rozróżniane jest to dzięki ID usera dodawanemu z każdym dodawanym rekordem (po nim można oddzielić swoje od cudzych). Jednakże mam problem i z tą selekcją i z wyglądem ....

  1. <?php
  2. mysql_connect("", "", "") or
  3. die("Could not connect: " . mysql_error());
  4.  
  5. $result = mysql_query("SELECT nick, imie, nazwisko, email, telefon, kierunek, semestr, grupa, indeks, informacje FROM ProKontaker");
  6.  
  7. while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  8. printf("Imie: %s Nazwisko: %s E-Mail: %s Telefon: %s", $row["imie"], $row["nazwisko"], $row["email"], $row["telefon"]);
  9. printf("Kierunek: %s Semestr: %s Grupa: %s Indeks: %s ", $row["kierunek"], $row["semestr"], $row["grupa"], $row["indeks"]);
  10. printf("Informacje: %s", $row["informacje"]);
  11. }
  12.  
  13. ?>

Zmienna nick (z bazy sql) zawiera ID usera.

Wyświetlać wyświetla jednakże są to wszystkie rekordy w bazie i dodatkowo wszystko jest w jednej kupie:

Imie: asdfas Nazwisko: asdfasdf E-Mail: Telefon: 0000000Kierunek: Informatyka Semestr: 5 Grupa: 1 Indeks: 32340 Informacje: Imie: asdfa Nazwisko: gwawge E-Mail: tasdf@gmail.com Telefon:2341341Kierunek: Informatyka Semestr: 5 Grupa: 1 Indeks: 32340 Informacje: Pseudonim Imie: wgegr Nazwisko: dwergwr E-Mail: Telefon: 0Kierunek: Semestr: 0 Grupa: 0 Indeks: 0 Informacje: Imie: 1 Nazwisko: 1 E-Mail: kjhkjh Telefon: 0Kierunek: 1 Semestr: 1 Grupa: 1 Indeks: 1 Informacje: kjhkjh

Próbowałem wstawić \n <br> itp ale niechcą się porostawiać do nowych linii sad.gif Ktoś mógłby coś poradzić?
Kshyhoo
"Włóż" dane w komórki tabeli albo DIVy stylowane na tabele.
tymusss
Cytat(Kshyhoo @ 12.01.2014, 00:25:03 ) *
"Włóż" dane w komórki tabeli albo DIVy stylowane na tabele.

zapomniałem dodać ze php to dla mnie czarna magia ... :/
Kshyhoo
Nie dla Ciebie jednego smile.gif Poszukaj na Forum, było poruszane wiele razy.
tymusss
Cytat(Kshyhoo @ 12.01.2014, 00:28:44 ) *
Nie dla Ciebie jednego smile.gif Poszukaj na Forum, było poruszane wiele razy.

juz druga godzine szukam i kilka bylo na temat jednakze niedzialaja
Kshyhoo
Używaj wyszukiwarki Google do szukania fraz, lepiej sobie radzi. A oto przykład.
tymusss
Tylko w jaki sposob, wyciagnac ID zalogowanego usera i podstawic go pod sql aby wyswietlalo tylko i wylacznie rekordy dodane przez aktualnie zalogowanego usera?
Kshyhoo
A to Cię boli smile.gif A słyszał o WHERE w zapytaniu?
tymusss
sprecyzuje dokladniej tongue.gif
W jaki sposob wyciagnac ID aktualnie zalogowanego, przypisac go do jakiejs zmiennej i wg tej zmiennej wyczytac rekordy z bazy? biggrin.gif
Kshyhoo
Cytat(tymusss @ 12.01.2014, 00:21:50 ) *
Zmienna nick (z bazy sql) zawiera ID usera.

Cytat(tymusss @ 12.01.2014, 12:19:52 ) *
W jaki sposob wyciagnac ID aktualnie zalogowanego, przypisac go do jakiejs zmiennej i wg tej zmiennej wyczytac rekordy z bazy? biggrin.gif

Cytat(Kshyhoo @ 12.01.2014, 12:17:32 ) *
A słyszał o WHERE w zapytaniu?

Już powinieneś wiedzieć:
  1. WHERE nick=$wróżka_Ci_powie_jak_przechowujesz_ID_zalogowanego
tymusss
  1. $result = mysql_query("SELECT * FROM ProKontaker WHERE nick=$_SESSION[user_id]");


Jezeli tak to niestety niedziala sad.gif

za pomoca
  1. print_r($_SESSION);

sprawdzilem i jestem zalogowany jakos user_id 1
Kshyhoo
Brak ciapków. Sprawdź sobie w phpMyAdmin, czy działa.
  1. $result = mysql_query("SELECT * FROM ProKontaker WHERE nick=' ".$_SESSION['user_id']." ' ");
tymusss
Tabela dalej pusta, niewylapuje cos tego user_id :/

Wrzuce caly kod tego wyswietlania moze tam cos naknocilem

  1. <?php
  2. $con = mysql_connect("mysql.cba.pl","nick","pass");
  3. if (!$con)
  4. {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7. mysql_select_db("horacy_cba_pl", $con);
  8.  
  9. $result = mysql_query("SELECT * FROM ProKontaker WHERE nick=' ".$_SESSION['user_id']." ' ");
  10.  
  11. echo '<table border="1"><tr><th>Imię</th><th>Nazwisko</th><th>Indeks</th><th>Telefon</th><th>E-Mail</th><th>Kierunek</th><th>Semestr</th><th>Grupa</th><th>Informacje</th></tr>';
  12. while($row = mysql_fetch_array($result)) {
  13. echo "<tr><td>{$row['imie']}</td><td>{$row['nazwisko']}</td><td>{$row['indeks']}</td><td>{$row['telefon']}</td><td>{$row['email']}</td><td>{$row['kierunek']}</td><td>{$row['semestr']}</td><td>{$row['grupa']}</td><td>{$row['informacje']}</td></tr>";
  14. }
  15. echo '</table>';
  16.  
  17. mysql_close($con);
  18. ?>
Kshyhoo
1. Pokaż zrzut bazy danych, bo coś Ci nie wierzę, że nie masz ID na userach.
2. Wyechuj sobie zapytanie, zobaczysz, o co pytasz bazę w PHP.
3. Nigdy, przenigdy nie pokazuj nigdzie loginu a tym bardziej hasła na forach.
tymusss
Mam tabele users gdzie jest przechowywany login, haslo, user_id. Dodatkowo mam tabele z danymi tymi ktore chce wprowadzac i wyswietlac. Przy kazdym wprowadzeniu danych, z automatu dodawany jest do kolumny nick w tejze tabeli, id wrzucajacego uzytkownika.

Tabela users: http://i.imgur.com/3lm1xf2.jpg

Tabela ProKontaker (z niej chce wyciagnac dane ale odpowiadajace tylko okreslonemu "nick"): http://i.imgur.com/aNFamyj.jpg

Zapomnialem wymazac tych danych sad.gif

A chodzi mi o porownanie w zapytaniu, ID aktualnie zalogowanego $_SESSION[user_id] do wartosci w kolumnie "nick"
Kshyhoo
No i fajnie, teraz jeszcze pokaż, jak wrzucasz dane usera do sesji, ale moim zdaniem, powinieneś w tabeli z danymi przechowywać ID usera, bo przecież, jak mówi powiedzenie: nie jednemu psu Burek na imię... I wtedy zapytanie powinno wyglądać tak:
  1. $result = mysql_query("SELECT * FROM ProKontaker WHERE id_autor=' ".$_SESSION['user_id']." ' ");

gdzie id_autor to właśnie ID autora (a nie nick, który nie jest dobrym rozwiązaniem).
tymusss
Znalazlem blad i dziala. Wersja serwera mysql podobno nie obsluguje zapytania WHILE. Zmiast niego dalem WHERE i dziala
Kshyhoo
Sorry, to moja wina. Chodziło mi o WHERE a napisałem WHILE. Mój błąd.
tymusss
Ale i tak duzo pomogles dzieki wielkie smile.gif Gdyby nie to to praktycznie i tak bym sam nie doszedl biggrin.gif
Kshyhoo
Poprawiłem w postach, bo ktoś może skopiować błędny kod smile.gif
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.