scroll
7.12.2013, 21:46:07
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
8.12.2013, 11:06:47
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
8.12.2013, 12:12:20
czyli jak mam 6 tabel to do każdej dodać jeszcze id z tabeli uzytkowników?
NetBeans
8.12.2013, 12:16:55
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:
SELECT * FROM nazwa_tabeli WHERE user_id = "id uzytkownika"
scroll
9.12.2013, 21:26:05
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
9.12.2013, 23:09:43
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ć
scroll
10.12.2013, 21:12:35
a co z insertem? kurde sory ale jakoś sobie nie moge poradzić z tym problemem ://
ctom
10.12.2013, 21:25:55
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
11.12.2013, 18:35:28
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
11.12.2013, 19:37:40
pytasz o zapytanie do tego co wstawiasz

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