Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]konto dla osobnego uzytkownika
Forum PHP.pl > Forum > Przedszkole
scroll
witam
niewiem jak rozwiązać tamat z kontem dla jednego użytkownika. w bazie mam tabele która przechowuje dane o uzytkownikach i kilka innym tabel. teraz jest tak że nie ważne kto sie zaloguje widzi wszystko co jest dodane w bazie przez wszyhstkich uzytkowników. jak to zrobić żeby każdy użytkownik po zalogowaniu miał swoje konto, widział to co on dodał?
nospor
Do tabel, w ktorych cos tam dodajesz, dopisz pole ID_USER i kazdemu rekordowi w to pole wkladaj id usera, ktory to dodal. A przy wyswietlaniu wyswietlaj danemu userowi tyko dane, w ktorych jest jest ID. To przeeciez dosc oczywiste.
scroll
czyli jak mam 6 tabel to do każdej dodać jeszcze id z tabeli uzytkowników?
NetBeans
Zależy z czym te tabele są. Jeżeli są to dane do wyświetlania, to tak, dodaj. Wtedy przy dodawaniu rekordu do takiej tabeli zapisuj w tym polu ID użytkownika, który dodaje. A przy wyświetlaniu wystarczy zwykły warunek WHERE w zapytaniu.

Wyświetlanie:
  1. SELECT * FROM nazwa_tabeli WHERE user_id = "id uzytkownika"
scroll
a nie da się jakoś tylko w jednym miejscu tego zrobić? żeby nie klepać tego id_uzytkownika w kazdym zapytaniu i żeby jakoś przez logowanie bylo to ustalone?
boro11
Na siłe zamiast ID możesz użyć czegoś co już masz np. loginu
Pewnie masz jakieś dane już zapisane w sesji skoro logowanie działa to dodaj warunek where w przypadku loginu np. login = S_SESSION['login'] do zapytania i powinno działać smile.gif
scroll
a co z insertem? kurde sory ale jakoś sobie nie moge poradzić z tym problemem ://
ctom
a co z nim ?

skoro chcesz robić SELECTy z jakimś warunkiem identyfikującym użytkownika to robiąc INSERT musisz dodawać ten identyfikator użytkownika do tabeli.
scroll
mam część skryptu:

if (isset($_POST['zatwierdz2']))
{
$nazwa = ($_POST['nazwa']);
$kwota = ($_POST['kwota']);
$data =($_POST['data']);
$ins = @mysql_query("INSERT INTO platnosc(nazwa, kwota, data, login) VALUES ('".$nazwa."', '".$kwota."', '".$data."', .'"$user[login]"');");

if($ins) echo "Rekord został dodany poprawnie";
else echo "Błąd nie udało się dodać nowego rekordu";
}

jak powinno wyglądać zapytanie? pole login jest polem z tabeli uzytkownikow tez o nazwie login. $user["login"] ta zmienna przechowuje login.
ctom
pytasz o zapytanie do tego co wstawiasz questionmark.gif
  1. $sql = 'SELECT * FROM platnosc WHERE login = \''. $user["login"].'\' ';
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.