Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Poredjenje ID-ova iz razlicitih tabela u php-u

[es] :: PostgreSQL :: Poredjenje ID-ova iz razlicitih tabela u php-u

[ Pregleda: 4129 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nemanjo
Administrator Baza podataka
Republički fond za zdravstveno
osiguranje
Beograd,Srbija

Član broj: 226546
Poruke: 8
*.dynamic.sbb.rs.

Sajt: www.intagsoft.com


Profil

icon Poredjenje ID-ova iz razlicitih tabela u php-u16.12.2010. u 17:47 - pre 161 meseci
Problem je sledeci:

Imamo tabelu korisnik(ime, prezime....) i tabelu korisnik_rola_korisnika (ID_rola_korisnik,IDkorisnik,IDrola) i tabelu rola_korisnika (IDrola, rola_korisnika)

Kada korisnik unese username i pasword, podaci se salju na php stranu gde se vrshi validacija, kao i redirekcija.
Redirekcija se obavlja na osnovu atributa IDrola iz tabele korisnik_rola_korisnika. Znaci trebalo bi da na osnovu username i passworda saznam koji je korisnik u pitanju,
a onda na osnovu IDkorisnika, da saznam koja je njegova rola, vadeci te informacije iz tabele korisnik_rola_korisnika.

U Mysql bazi bih to uradio pomocu 2 jednostavna upita:
SELECT * FROM korisnik WHERE username = '$username' AND password = '$password'

i onda na osnovu ID-a koji sam dobio iz prethodnog upita:
SELECT IDrola FROM korisnik_rola_korisnika WHERE IDkorisnik = IDkorisnik(iz prethodnog upita sto som saznali)...


Medjutim u postgresql bazi, to nije isti slucaj. Znam da se kod nje uporedjivanje ovih atributa obavlja na drugaciji nacin, ali ne mogu da provalim na koji nacin...

Jel ima neko ideju , da mi napise kako bi on to odradio, evo kako sam ja zamislio, ali nece pa nece. :(

1 admin
2 user
3 gest
4 worker

Code:
$pro = "SELECT * FROM korisnik WHERE username = '$username' AND password = '$password'";
            $result = pg_exec($dbconn,$pro);
            
            
            if (pg_num_rows($result)>0 ) 
            {
                $row = pg_fetch_row($result);                
                $bla = $row[0];                                                                                                                 //ovde dohvatam prvi element niza, a to je id korisnika
                    $query = "SELECT IDrola FROM korisnik_rola_korisnika WHERE IDkorisnik = '$bla' ";
                    $qrez = pg_exec($dbconn,$query);
                    $row1 = pg_fetch_row($qrez);
                    
                                                
                if($row1[1] == 2)
                {                

                    $_SESSION['acount']['id'] = $row[0];
                    $_SESSION['acount']['username']= $row[1];
                    $_SESSION['acount']['password']= $row[2];
                    $_SESSION['acount']['ime']= $row[3];
                    $_SESSION['poruka'] = "Uspesno ste ulogovani korisnice " . $row[1];    //atribut ime je na ovom mestu                
                    $_SESSION['acount']['IDrola']= $row1[1];                                         //atribut IDrola je na ovom mestu

                    header('Location: http://localhost/Index files/Registrovani korisnici/reg_korisnik.php');
                }
                else if($row1[1] == 4)
                {
                    $_SESSION['acount']['id'] = $row[0];
                    $_SESSION['acount']['username']= $row[1];
                    $_SESSION['acount']['password']= $row[2];
                    $_SESSION['acount']['ime']= $row[3];
                    $_SESSION['acount']['IDrola']= $row1[1];
                    $_SESSION['poruka'] = "Uspesno ste ulogovani zaposleni " . $row[1];
                                        $_SESSION['acount']['IDrola']= $row1[1];

                    header('Location: http://localhost/Index files/Zaposleni korisnici/zap_korisnik.php');
                }
            }    
            else
            {    
                $message = "Nema takvog korisnika u bazi";                

                header('Location: http://localhost/index.php');
            }    
 
Odgovor na temu

michaelk
Michael Kopljan
Software developer
Frankfurt am Main

Član broj: 85498
Poruke: 131
..106.109.adsl.dyn.beotel.net.



+26 Profil

icon Re: Poredjenje ID-ova iz razlicitih tabela u php-u17.12.2010. u 09:01 - pre 161 meseci
Nemam pojma sa PHP, ali mogu ti pomoci ovako. Prvo zasto dva upita kad moze jedan :
Code:

SELECT t2."IDrola" FROM korisnik t1
  INNER JOIN korisnik_rola_korisnika t2 ON t1."IDkorisnik" = t2."IDkorisnik"
WHERE t1.username = '$username' AND t1.password = '$password'";


Sad primetio si da IDrola i IDkorisnik su izmedu duplih navodnika jer PosgtreSQL je case sensitive
 
Odgovor na temu

[es] :: PostgreSQL :: Poredjenje ID-ova iz razlicitih tabela u php-u

[ Pregleda: 4129 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.