![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 9.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
mam mały problem ze skonstruowaniem zapytania do bazy.
Przy konstrukcji tabel serwis_users
Zapytanie generalnie działa prawidłowo, ale przy takiej konstrukcji pokazuje mi zawartość wszystkich tabel UserTresc, a jest to wartość zastrzeżona tylko dla jednego użytkownika (zalogowanego). Nie wiem jak zapisać zapytanie, żeby wyświetlała się tylko tabela UserTresc zależna od Id Pomoże ktoś? Ten post edytował AddoN 4.11.2012, 22:33:13 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
Twoje zapytanie pobiera wszystkie pola z tabeli serwis_user a nastepnie w petli wyswietla UserTresc. Nie wiem czy dobrze zrozumiałem ale chcesz wyświetlać dane tylko te które spełniają odpowiedni warunek z polem ID ? jeśli tak to w zapytaniu dodaj na końcu where id = 1 , wtedy pobierze rekordy które w polu ID mają wartość 1 , oczywiście przerób to na własne potrzeby.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 75 Pomógł: 20 Dołączył: 8.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
dokładnie tak jak napisał kolega powyzej. od siebie dodam tylko zebys nie uzywał '*' tylko napisał wszystkie tabele recznie. zyskasz wtedy na wydajnosci bo mysql szybciej przetwarza takie zapytanie
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 9.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak, zależy mi żeby pobierało UserTresc w zależności od Id.
Id oznacza numer zarejestrowanego użytkownika. Więc jeżeli zalogowany jest user z Id = 5 to żeby wyświetlała się wartość UserTresc przypisana dla usera o tym Id (indywidualne strony użytkowników). Dlatego nie mogę tam zapisać konkretnego numeru, bo zapytanie musi być "dynamiczne" Nie wiem czy piszę logicznie, jestem grafikiem ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 75 Pomógł: 20 Dołączył: 8.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
czyli zalozmy ze id przechowywane jest w sesji (a jakze inaczej)
to robisz takie cos:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 9.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Męcze się cały czas, ale w żaden sposób nie idzie
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
W sesji masz 'Id', w kodzie php masz $id, zapytanie do SQL konstruujesz na podstawie $Id....
No pooglądaj te literki, wszystkie... I dopasuj ich wielkości ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 75 Pomógł: 20 Dołączył: 8.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
oj straszny bałagan w kodzie :/
pamietaj o dobrych praktykach: 1. pisz <?php zamiast <?, to drugie moze nie dzialac na niektorych serwerach 2. uzywaj jednego nazewnictwa dla wszystkich zmiennych czy rekordow, bo tak jak teraz, np masz ip, Ip to jak za jakis czas wrocisz do projektu to nie bedziesz wiedzial co w ogole zamierzales zrobic. albo jak bedziesz pisal wiekszy projekt to juz wgl chaos kompletny Ci sie porobi. <?php $id = $_SESSION['id']; $go = mysql_query("SELECT UserTresc FROM serwis__users WHERE Id = '$id'"); $row = mysql_fetch_array($go); echo $row['UserTresc']; ?> i pamietaj o tym co napisalem |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 9.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie za pomoc, ale to nadal nie działa. Wiem że wielkość liter ma znaczenie i pilnuje tego.
Może trzeba jakoś specjalnie wczytać dane z sesji? Chociaż ogólnie jestem zalogowany i wyświetla się imię i nazwisko... |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 75 Pomógł: 20 Dołączył: 8.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
hm no wiesz nie wejde Ci na serwer i nie zobacze co tam masz napisane
![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
użyj print_r($_SESSION)
powinno wydrukować całą tablice sesji wraz z wartoścami , jeżeli będzie sesja ID i dla niej wartośc następnie sprawdz w baza->tabela czy dla danego usera istnieje w ogole rekord spełniajacy warunek , przy okazji mozesz rowniez użyc mysql_error na koncu zapytania . jeśli rekord istnieje w bazie to ost deską pomocy jest wyświetlenie treści zapytania (czy jest poprawne) czyli w 3 linijce $go = mysql........ usuń i daj echo ..... a 4 usuń bądź wrzuć w komentarz. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
a na poczatku pliku masz start session ?
przy logowaniu powinieneś uzytkownikowi przydzielic ID tore powinno pochodzić z bazy , takie id najlepiej trzymać w sesji i poruszając się po stronie na podstawie tego id pobierać dane z bazy dla uzytkownika majacego dane id. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zabezpiecz to. Nigdy nie puszczaj do zapytania danych pobranych bezpośrednio od użytkownika. mysql_real_escape_sting().
2. Rozszerzenie mysql nie jest już rozwijane. Użyj mysqli albo PDO. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 10:25 |