Ispis iz vise tabela

2

Ispis iz vise tabela

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Predlog: Istrazi malo baze podataka, pisi testove iskreno.. Dobices cistiji i kvalitetniji kod... U vecim projektima prvo se radi sema baze pa tek onda skript...
Baza podataka kakav problem ti moze napraviti da nisi ni svestan i uvek pazljivo sa njima. Opet ti kazem radi vise sa bazama, uradi brdo primera pa ce samo da ti dodje u glavi i znaces da je to ono pravo...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

@Ikac pa ja imam modela baze, 10-ak tabela odatle i pisem ove nazive tabela i kolona.
E pa evo vidim koliko problema moze baza da mi napravi a imam kao 10 tabela sta li je tek sa nekolike desetine tabela gde sve zavisi od svega.



offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Pazi JOIN si spominjao, kao sto je kolega vec rekao to se koristi za ogromne stvari.... Malo je teze za nekog pocetnika da ukapira ali dobro vremenom...
Radi samo testove, i testove i opet testove i onda tek kad dodjes do pravog resenja onda radi pravu stvar u app...
Elem: Uci OOP ako planiras da se bavis php-om, ako te zanima cisti, sigurni i kvalitetni upiti i sve ostalo za rad sa bazama. Pocni da koristis ORM Doctrine... To je nesto predobro a besplatno, ja nemogu da se nacudim da je neko tako nesto dobro napravio a da je dzabe.... Ali ako oces to onda skini 1.2 verziju ona je ogranicena osta na Active Records sto tebi i treba za pocetak...

Ovaj tvoj problem bi resio u 3 linje koda..
SelecT:
$q = Doctrine_Query::create()     ->select('name')     ->from('Ram'); echo $q->getSqlQuery();

Join:
$q = Doctrine_Query::create()     ->select('u.username, p.*')     ->from('User u')     ->leftJoin('u.Phonenumbers p') echo $q->getSqlQuery();
Ovo je fantasticno cisto a i kvalitetno... Pa ti se odluci, zbog znanja ovog doctrina ja sam dosta para zaradio preko Elance. Samo zbog njega. I nemogu da zamislim vise nesto da radim bez njega...

offline
  • Pridružio: 13 Mar 2009
  • Poruke: 229

Napisano: 26 Sep 2011 21:55

Da li je to neki framework ili sta? Da li je zasnovano na MVC?

Dopuna: 27 Sep 2011 0:16

Uspeo sam donekle, tj uspeo sam da izlistam proizvode iz jedne kategorije koristeci sve tri tabele. Jeste da nisam sam dosao do resenje ali sam sad konacno malo bolje shvatio JOIN. Ako neko hoce da postavim pa da nastavimo diskusiju nije problem.

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Procitaj malo.... Nije FW a ni MVC to je ORM

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Nadovezujem se na temu...sa ovim dobijem kategorije..

<?php require 'connect.php'; $query = mysql_query("SELECT * FROM kategorije "); echo   '<select> '; while($rezultat = mysql_fetch_array($query)) { echo ' <option value="">'.$rezultat['naziv_kat'].'</option>';  } echo   '</select> '; ?>

Ako imam 2 tabele ,kategorije i proizvodi

tabela kategorije


tabela proizvodi


kako sad klikom na kategoriju dobiti sve njene proizvode i detalje.

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Treba ti jedna strana koja preko npr. get metoda hvata iz adress bara podatak koja je kategorija, i onda samo to stavis u klauzu.
A u link ubacujes link.ph?&kategorija=".$row['cat']."....
Negde sam to skoro pisao...

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

nisam te baš skroz razumeo...znam da ću kategorije izlistati npr index.php?id=1,2,3 itd

jel možeš da napišeš kako preko get ...ako već imam ovaj gore option putem kog izlistavam kategorije. Zagrljaj

offline
  • Software developer
  • Pridružio: 06 Sep 2005
  • Poruke: 3800
  • Gde živiš: Beograd

Prvo moras u ovome option da stavis value na vrednost iz baze.
Dakle,
echo ' <option value="'.$rezultat['naziv_kat'].'">'.$rezultat['naziv_kat'].'</option>';  }
pod uslovom da ti je naziv_kat jedinstven.

Dalje, ako imas stranicu npr.
prikazi_kategoriju.php
Onda u ove gde listas kategorije stavljas link oblika:
<a href="prikazi_kategoriju.php?kategorija=".$rezultat['naziv_kat']." >".$rezultat['naziv_kat']."</a>
cime ce ti se svaka kategorija izcitati a imaces link oblika
prikazi_kategoriju.php?kategorija=naziv_kategorije.

Na stranici prikazi_kategoriju.php
kad pocnes da obradjujes php skript stavis
$kategorija = $_GET['kategorija'];
to ce ti uhvatiti ono sto si poslao preko linka, i smestiti u promenljivu kategorija.
Posle toga u where uslov stavis samo da je jednako toj promenljivoj.
Kad ti to proradi mozes da filtriras taj unos zbog sql injectiona Wink cisto zbog zastite Smile

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Napisano: 30 Sep 2011 20:07

Drugar si ,nema šta....Hvala puno. Wink Zagrljaj

Dopuna: 07 Jun 2012 17:45

Malo sam zaglavio oko ispisa proizvoda za svaku sub cat.

Napravio sam prikaz kategorija na jednoj strani npr. računari,televizori itd.
Na klik svake od kategorija na sledećoj strani dobijem sub kategorije i to je ok.
Na trećoj strani prikazujem proizvode za dotičnu subcat.
Sad kad kliknem na subkategoriju CRT televizori, dobijem proizvode i za LCD televizore, umesto samo za CRT.
Ne valja mi upit.

evo tabela i kod,ako može malo pomoći/sugestije.
tabela subcats i tabela products



kod
$query = mysql_query( "select * from products where sub_cat_id = parent_id   "); while ($row = mysql_fetch_array($query)) {     $data[] = $row;        //echo $row['naziv'];        foreach ($data as $naziv) {     echo '<a href="show_regular.php?&sub_cat_id=' . $naziv['sub_cat_id'] . '">' . $naziv['naziv'] .'<br>'.$naziv['desc'].'<br>'.'<hr />'. '</a>'.'<br/>'; }               }

Ko je trenutno na forumu
 

Ukupno su 1120 korisnika na forumu :: 30 registrovanih, 3 sakrivenih i 1087 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Arsenije, BlekMen, bokisha253, Bubimir, Centauro, doloress, draganl, Frunze, Gargantua, HogarStrashni, Kibice, LUDI, marera, Milan A. Nikolic, milenko crazy north, Milometer, Milos ZA, milutin134, moldway, Nikola00, Sir Budimir, Snorks, theNedjeljko, User98, vathra, Vlada78, VP6919, vrag81, zastavnik, ZetaMan