AddoN
4.11.2012, 22:32:05
Witajcie,
mam mały problem ze skonstruowaniem zapytania do bazy.
<?
{
echo $rekord['UserTresc']; }
?>
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ś?
Ulysess
4.11.2012, 22:36:11
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.
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
AddoN
4.11.2012, 22:42:02
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
czyli zalozmy ze id przechowywane jest w sesji (a jakze inaczej)
to robisz takie cos:
$id = $_SESSION['id'];
mysql_query("SELECT login,msg,czy,co,tam,ci,potrzeba FROM uzytkownicy WHERE id='$id'"); // i juz ;))
AddoN
4.11.2012, 23:12:39
Męcze się cały czas, ale w żaden sposób nie idzie
<?
$id = $_SESSION['Id'];
$go = mysql_query("SELECT UserTresc FROM serwis__users WHERE Id = '$Id'"); ?>
abort
4.11.2012, 23:18:14
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
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
AddoN
4.11.2012, 23:34:41
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...
hm no wiesz nie wejde Ci na serwer i nie zobacze co tam masz napisane

jesli mam Ci pomoc (ja lub ktos inny) musisz wstawic skrypt w ktorym wystepuje blad
Ulysess
4.11.2012, 23:48:51
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.
Ulysess
5.11.2012, 00:08:16
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.
viking
5.11.2012, 07:08:16
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.
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.