Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Wyświetlanie wybranych rekordów
tymusss
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


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ć?

Ten post edytował tymusss 12.01.2014, 00:23:04
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




"Włóż" dane w komórki tabeli albo DIVy stylowane na tabele.


--------------------
Go to the top of the page
+Quote Post
tymusss
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


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 ... :/
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Nie dla Ciebie jednego smile.gif Poszukaj na Forum, było poruszane wiele razy.


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





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


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
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #6





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Używaj wyszukiwarki Google do szukania fraz, lepiej sobie radzi. A oto przykład.


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





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


Tylko w jaki sposob, wyciagnac ID zalogowanego usera i podstawic go pod sql aby wyswietlalo tylko i wylacznie rekordy dodane przez aktualnie zalogowanego usera?
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #8





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A to Cię boli smile.gif A słyszał o WHERE w zapytaniu?


--------------------
Go to the top of the page
+Quote Post
tymusss
post
Post #9





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


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
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #10





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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


--------------------
Go to the top of the page
+Quote Post
tymusss
post
Post #11





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


  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
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #12





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Brak ciapków. Sprawdź sobie w phpMyAdmin, czy działa.
  1. $result = mysql_query("SELECT * FROM ProKontaker WHERE nick=' ".$_SESSION['user_id']." ' ");


--------------------
Go to the top of the page
+Quote Post
tymusss
post
Post #13





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


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. ?>
Powód edycji: [Kshyhoo]: [Kshyhoo]: usunąłem dane do logowania
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #14





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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.


--------------------
Go to the top of the page
+Quote Post
tymusss
post
Post #15





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


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"
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #16





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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).


--------------------
Go to the top of the page
+Quote Post
tymusss
post
Post #17





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


Znalazlem blad i dziala. Wersja serwera mysql podobno nie obsluguje zapytania WHILE. Zmiast niego dalem WHERE i dziala
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #18





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Sorry, to moja wina. Chodziło mi o WHERE a napisałem WHILE. Mój błąd.


--------------------
Go to the top of the page
+Quote Post
tymusss
post
Post #19





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 11.01.2014

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


Ale i tak duzo pomogles dzieki wielkie smile.gif Gdyby nie to to praktycznie i tak bym sam nie doszedl biggrin.gif
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #20





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Poprawiłem w postach, bo ktoś może skopiować błędny kod smile.gif


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 03:49