DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > DevProTalk > Sva početnička pitanja
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

Sva početnička pitanja Sva početnička pitanja bi trebala da se postavljaju u ovom forumu, a ako se pretvori u kvalitetnu diskusiju interesantnu svima - prebacićemo je u odgovarajući forum. Molimo "znalce" da ne omalovažavaju početnike, ako žele da pomognu svi ćemo biti zahvalni, ako ne žele, neka preskoče ovaj forum.

Odgovori
 
Alati teme Način prikaza
Staro 05. 02. 2008.   #1
PeTkO
član
Na probnom radu
 
Datum učlanjenja: 04.02.2008
Poruke: 41
Hvala: 13
512 "Hvala" u 1 poruci
PeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished road
Default ID za dve tabele

Pocetnik sam u PHP-u i do sada sve je islo, pa moglo bi se reci, glatko.Ali dosao sam do jednog dela koji nikako nemogu resiti.

Naime hocu da napravim naprimer skriptu za registraciju, ali takvu da username i password upisuje u tabelu "podaci", a email i lokaciju u tabeli "razno".Ja mogu da napravim upis (normalno), ali ne znam kako da napravim da id iz prve tabele bude isti kao id iz druge tabele, da bi posle mogao posle logovanja da napravim ispis iz obe tabele

Nadam se da ste razumeli sta hocu da kazem
PeTkO je offline   Odgovorite uz citat
Staro 05. 02. 2008.   #2
JovanT
profesionalac
Qualified
 
Datum učlanjenja: 11.01.2006
Lokacija: Niš
Poruke: 100
Hvala: 66
11 "Hvala" u 9 poruka
JovanT is on a distinguished road
Default

Ако свака табеле креће од нуле, односно, раније није имала података, ID-еви ће ти бити исти уколико истовремено уписујеш податке у табелу.

Мада, далеко боље решење је да прво упишеш податке у табелу "podaci", нађеш ID последње уписаног слога па затим урадиш упис података у "razno" и ручно поставиш ID који си претходно сазнао.
JovanT je offline   Odgovorite uz citat
Staro 05. 02. 2008.   #3
dootzky
profesionalac
Professional
 
Avatar dootzky
 
Datum učlanjenja: 11.10.2006
Lokacija: beograd, srbija
Poruke: 271
Hvala: 32
10 "Hvala" u 7 poruka
dootzky is on a distinguished road
Default

takav 'match' primarnih kljuceva uopste nije preporucljiv za rad.
ako to vec hoces da uradis, u tabeli "razno" dodaj jedno polje koje ti je ustvari spoljasnji kljuc za ovu bitniju tabelu. evo konkretno na sta mislim:

tabela PODACI:
user_id | int, PK, autoincrement
username | varchar(32)
password | varchar(32)


tabela RAZNO:
item_id | int, PK, autoincrement
user_id | int
email | varchar(32)
lokacija | varchar(32)

i ti sada uvek mozes da vezujes sve 'razne' podatke za usera kojeg god oces, nepogresivo. ovo ti je mnogo bolji koncept, nego da prosto pokusavas da matchujes primarne kljuceve, razni hororicni scenariji bi mogli da se dese. :|

a ako oces da vidis kako najlakse da izvuces last-mysql-inserted-ID, pogledaj ovu komandu: "mysql_insert_id()"
link: http://www.php.net/mysql_insert_id

znaci cim ubacis nekog novog baticu na svoj sajt, samo mazni poslednji ID, npr:
Kôd:
$query = "INSERT INTO users (username, password) VALUES ('dule', 'sifra')";
mysql_query($query);

$last_user_id = mysql_insert();
i to bi trebalo da ti radi posao.
poz
dootzky je offline   Odgovorite uz citat
"Hvala" dootzky za poruku:
Staro 05. 02. 2008.   #4
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

uzgred ne postoji valjani razlog da pravis ovakvu 1:1 relaciju, sem eventualno vezbe radi.. u prakticnoj primeni stavi sve u istu tabelu i uzivaj...
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 05. 02. 2008.   #5
PeTkO
član
Na probnom radu
 
Datum učlanjenja: 04.02.2008
Poruke: 41
Hvala: 13
512 "Hvala" u 1 poruci
PeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished road
Default

Citat:
Originalno napisao ivanhoe Pogledajte poruku
uzgred ne postoji valjani razlog da pravis ovakvu 1:1 relaciju, sem eventualno vezbe radi.. u prakticnoj primeni stavi sve u istu tabelu i uzivaj...
Ali posto pravim sajt sa vise od 50 upisa u bazu, mislim da je najbolje da se ovako organizuje, po tabelama...jeste da je lakse da se radi u jednoj tabeli, ali mislim da je ovako preglednije


P.S. Dobro si me podsetio ivanhoe sta da pitam.Znaci, da li je bolje kad imas dosta podataka koji se cuvaju u bazu staviti sve u jednoj tabeli ili rasporediti po vise tabela
PeTkO je offline   Odgovorite uz citat
Staro 05. 02. 2008.   #6
kodi
133t
Master
 
Avatar kodi
 
Datum učlanjenja: 08.01.2006
Lokacija: Beograd
Poruke: 714
Hvala: 16
37 "Hvala" u 28 poruka
kodi is on a distinguished road
Pošaljite ICQ poruku za kodi
Default

Citat:
Originalno napisao PeTkO Pogledajte poruku
Ali posto pravim sajt sa vise od 50 upisa u bazu, mislim da je najbolje da se ovako organizuje, po tabelama...jeste da je lakse da se radi u jednoj tabeli, ali mislim da je ovako preglednije
preglednost je APSOLUTNO poslednja stvar koja te zanima kod rada sa bazama.

Citat:
P.S. Dobro si me podsetio ivanhoe sta da pitam.Znaci, da li je bolje kad imas dosta podataka koji se cuvaju u bazu staviti sve u jednoj tabeli ili rasporediti po vise tabela
to apsolutno zavisi od slucaja, performansi sistema itd.
Ne vredi ovako, jednostavno moras da procitas neko stivo o normalizaciji i denormalizaciji podataka u bazi

http://en.wikipedia.org/wiki/Database_normalization
http://dev.mysql.com/tech-resources/...alization.html
__________________
kodi je offline   Odgovorite uz citat
Staro 05. 02. 2008.   #7
PeTkO
član
Na probnom radu
 
Datum učlanjenja: 04.02.2008
Poruke: 41
Hvala: 13
512 "Hvala" u 1 poruci
PeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished roadPeTkO is on a distinguished road
Default

Znaci neam pojma gde sam ziveo


Ja se vec par dana mucim kako da organizujem bazu, i na kraju ukapiram (tacnije vi mi kazete) da je to apsolutno nebitno...Hvala puno
PeTkO je offline   Odgovorite uz citat
Staro 06. 02. 2008.   #8
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

nije nebitno, veoma je bitno kako ces organizovati bazu, ali ne optimizujes strukturu baze za ljude, nego za software. Zanima te iskljucivo da ubrzas i pojednostavis rad sa podacima (querije, joinove, i ostale operacije na bazi), a da pritom izbegnes svako dupliranje podataka (taj se proces zove normalizacija). Postoje tu neke razne normalne forme, odnosno nivoi optimizacije, mada je u praksi sasvim dovoljno malo logicnog (programerskog) razmisljanja i malkice iskustva da dodjes do istog (ali poznavanje teorije svakako ne skodi).
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Pomoc oko tabele akki (X)HTML, JavaScript, DHTML, XML, CSS 1 22. 07. 2010. 18:24
Crawler i tabele Mitrović Srđan Marketing i SEO 4 25. 05. 2008. 14:10
ime tabele ivanhoe SQL baze podataka - Sponzor: Baze-Podataka.net 4 21. 05. 2007. 17:20
Prikaz tabele sa mnostvom slogova Pedja Web aplikacije, web servisi i software 7 21. 07. 2006. 03:24


Vreme je GMT +2. Trenutno vreme je 21:46.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.