![]() |
![]() |
|
Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion... MySQL, PostgreSQL, MSQL, Oracle... |
![]() |
|
Alatke vezane za temu | Vrste prikaza |
![]() |
#1 |
Novi član
Član od: 25.1.2015.
Poruke: 12
Zahvalnice: 12
Zahvaljeno 0 puta na 0 poruka
|
![]()
Cao svima! Treba mi mala pomoc...
Pravim sajt i imam problem kako da iscitam iz baze komentare za odredjenu vest. U bazi imam dve tabele. U jednoj cuvam vesti a u drugoj komentare. U tabeli vesti nalaze mi se vesti_id, zemlja_id, naslov, opis vesti, image_name i vreme_vesti, a u komentarima komentari_id, vesti_id, korisnickoIme, komentar i vreme. Ne znam kako da izvucem iz baze komentare za odredjenu vest. |
![]() |
![]() |
![]() |
#2 |
V.I.P. Recenzent
Član od: 8.11.2008.
Lokacija: XV535
Poruke: 3.198
Zahvalnice: 765
Zahvaljeno 1.024 puta na 568 poruka
|
![]()
U prvu tabelu unosiš vesti. Svaka vest ima svoj id.
U drugu tabelu unosiš komentare. Svaki komentar ima svoj id i plus u zasebnu kolonu za svaki komentar unosiš i id od vesti. Pri listanju stranice vežeš za svaku vest komentare koji imaju id od te vesti i to je to. edit: Malo bolje sam pročitao tvoje pitanje. Ti koliko vidim sve te kolone imaš. Dakle, pri listanju stranice sa vestima, listaš vest sa vesti_id (recimo) 10 i u drugom upitu baze listaš komentare gde tražiš da se prikažu samo vesti gde je vesti_id isto 10. Poslednja ispravka: Dekip (12.5.2015 u 20:53) |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Dekip na korisnoj poruci: | ||
Mirina (13.5.2015) |
![]() |
#3 |
Veteran
Član od: 25.10.2005.
Lokacija: Beograd
Poruke: 1.186
Zahvalnice: 57
Zahvaljeno 283 puta na 191 poruka
|
![]()
select
k.komentari_id, k.komentar, k.korisnickoIme, k.vreme, v.vesti_id from vesti v inner join komentar k on k.vesti_id=v.vesti_id where v.vesti_id=id_vesti_za koju_zelis_da_vidis_komentare_po_redovima. Tabela vesti je tabela sa vestima, a komentar tabela sa komentarima. Znaci poenta je da odradis spajanje po parametru vesti_id, i onda ispises komentar, korisnika koji ga je ostavio i sve drugo sto ti je eventualno potrebno. Ovakvo funkcionise u postgresu, ali ces verovatno morati malo da izmenis kod za mysql. |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Ivan1981 na korisnoj poruci: | ||
Mirina (13.5.2015) |
![]() |
#4 |
Starosedelac
|
![]()
Ako vec imas vest prikazanu na stranici onda pretpostvljam da imas i ID_vest sto znaci da samo treba da uradis ovo:
Kod:
SELECT * FROM komentari WHERE vesti_id = var_koja_sadrzi_id_prikazane_vesti |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Game fever na korisnoj poruci: | ||
Mirina (13.5.2015) |
![]() |
#5 | |
Novi član
Član od: 25.1.2015.
Poruke: 12
Zahvalnice: 12
Zahvaljeno 0 puta na 0 poruka
|
![]()
Hvala Vam svima puno, divni ste.
![]() Citat:
![]() |
|
![]() |
![]() |
![]() |
#6 |
Veteran
Član od: 25.10.2005.
Lokacija: Beograd
Poruke: 1.186
Zahvalnice: 57
Zahvaljeno 283 puta na 191 poruka
|
![]()
Mozes za count upotrebiti sledece:
select count(*) from komentari where vesti_id=id_vesti ili select count(distinct komentari_id) from komentari where vesti_id=id_vesti |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Ivan1981 na korisnoj poruci: | ||
Mirina (14.5.2015) |
![]() |
#7 |
Novi član
Član od: 25.1.2015.
Poruke: 12
Zahvalnice: 12
Zahvaljeno 0 puta na 0 poruka
|
![]()
Hvala puno! Bilo je od pomoci!
![]() Nadam se da ce to biti to. |
![]() |
![]() |
![]() |
#8 |
Novi član
Član od: 25.1.2015.
Poruke: 12
Zahvalnice: 12
Zahvaljeno 0 puta na 0 poruka
|
![]()
Opet ja sa mojim problemima sa Mysql...
Evo pokusacu slikovito da objasnim novi problem sa kojim sam se susrela. Imam ovu tabelu u koju upisujem rezultate: ![]() ![]() Treba da kada izaberem zemlju iz baze mi prikaze rezultate za tu izabranu zemlju, ali samo rezultate poslednjeg kola. Kad izaberem zemlju, prikaze mi sve rezultate iz baze: ![]() Upit mi ide ovako: $q = "SELECT DISTINCT * FROM kola WHERE zemlja_id = " . $_GET['zemlja'] ." ORDER BY kolo DESC;"; Pomagajte, to mi je poslednja stvar koja mi je ostala da resim. ![]() Poslednja ispravka: Mirina (27.5.2015 u 22:40) |
![]() |
![]() |
![]() |
#9 |
Deo inventara foruma
Član od: 15.4.2006.
Lokacija: Srbija
Poruke: 4.037
Zahvalnice: 1.298
Zahvaljeno 1.396 puta na 948 poruka
|
![]()
Možeš valjda sa MAX(kolo) to da uradiš.
|
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku JohnnyNT na korisnoj poruci: | ||
Mirina (28.5.2015) |
![]() |
#10 |
Veteran
|
![]()
dobar ti je upit, dodaj samo na kraju "LIMIT 1".
Ovo znači da će ti iz celog seta povući samo prvi red. http://www.w3schools.com/php/php_mysql_select_limit.asp |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Ivan452 na korisnoj poruci: | ||
Mirina (28.5.2015) |
![]() |
#11 |
Novi član
Član od: 25.1.2015.
Poruke: 12
Zahvalnice: 12
Zahvaljeno 0 puta na 0 poruka
|
![]()
Izgleda da nisam lepo objasnila problem
![]() ![]() I meni je palo na pamet da stavim ,,limit", ali problem je to sto kad izaberem npr. Srbiju u jednom kolu ima 5 odigranih utakmica, a ako npr. obelezim Nemacku ona ima u jednom kolu 6 odigranih utakmica. Znaci ne mogu nikako sa ,,limit" to da odradim nego nekako da ga razvrstam po poslednjem odigranom kolu, kada korisnik izabere odredjenu zemlju. Baza mi nije popunjena, samo sam nalupala par utakmica da imam par primera dok pokusavam da lepo namestim upit. @JohnnyNT Sa ,,max" nisam nikako uspela da namestim... Jedino sam dobila zbir kola i nista vise. |
![]() |
![]() |
![]() |
#12 |
Starosedelac
|
![]()
Znaci treba ti sve utakmice odigrane u poslednjem kolu?
|
![]() |
![]() |
![]() |
#13 |
Novi član
Član od: 25.1.2015.
Poruke: 12
Zahvalnice: 12
Zahvaljeno 0 puta na 0 poruka
|
![]()
Da, to bi mi trebalo
![]() Poslednja ispravka: Mirina (28.5.2015 u 18:54) |
![]() |
![]() |
![]() |
#14 |
Veteran
|
![]()
Nije optimalan query, ali verujem da je jednostavniji da se razume i da će da odradi posao.
Kod:
SELECT DISTINCT * FROM kola WHERE zemlja_id = " . $_GET['zemlja'] ." and kolo = (SELECT MAX(KOLO) FROM kola where zemlja_id = " . $_GET['zemlja'] "; |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Ivan452 na korisnoj poruci: | ||
Mirina (28.5.2015) |
![]() |
#15 |
Novi član
Član od: 25.1.2015.
Poruke: 12
Zahvalnice: 12
Zahvaljeno 0 puta na 0 poruka
|
![]()
Nece ovako
![]() ![]() |
![]() |
![]() |
![]() |
#16 |
Veteran
Član od: 5.11.2005.
Poruke: 822
Zahvalnice: 177
Zahvaljeno 197 puta na 152 poruka
|
![]()
Pomozi ljudima koji pokusavaju da ti pomognu. Da li dobijas sql error, ili dobijas pogresan set rezultata (kakav)? Upit bi trebalo da je ok, osim sto nedostaje zagrada na kraju.
Poslednja ispravka: Remedy (28.5.2015 u 22:44) |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Remedy na korisnoj poruci: | ||
Mirina (29.5.2015) |
![]() |
#17 |
Novi član
Član od: 25.1.2015.
Poruke: 12
Zahvalnice: 12
Zahvaljeno 0 puta na 0 poruka
|
![]()
Ja se stvarno trudim da objasnim sto bolje u cemu je problem
![]() ![]() Elem, sto se upita tice koji je predlozio Ivan452, da problem je bio u zagradi. Kada sam nju ubacila proradilo je ali sam se susrela onda sa drugom vrsta problema ![]() Nemojte da mislite da samo kukam ovde po forumu, evo od jutros preko 6 sati googlam po netu i gledam razne primere ali ne uspavam da namestim i tek kad mi ponestane ideja dodjem i pitam. Pokusavala sam isto kao sto je Ivan dao sa MAX(godina), sa LAST(godina) i svasta nesto ali velika mi je greska sto na faxu nisam izabrala baze podataka vec sam uzela programiranje(i ako sam znala da sa tim necu nikada da se bavim) i sad pokusavam da to nadoknadim gledajuci razne tutorijale. Uspela sam da savladam neke osnove ali treba mi pomoc sa kompleksnijim upitama ![]() Stvarno se nadam da vas nisam smorila i jos jednom PUNO hvala svima. Poslednja ispravka: Mirina (29.5.2015 u 16:21) |
![]() |
![]() |
![]() |
#18 |
Veteran
Član od: 5.11.2005.
Poruke: 822
Zahvalnice: 177
Zahvaljeno 197 puta na 152 poruka
|
![]()
Vide ljudi da se trudiš, zato i pokušavaju da ti pomognu. Možeš da nastaviš da "kitiš" prethodni upit:
Kod:
SELECT DISTINCT * FROM kola WHERE zemlja_id = " . $_GET['zemlja'] ." and kolo = (SELECT MAX(KOLO) FROM kola where zemlja_id = " . $_GET['zemlja'] ") and godina=(SELECT MAX(godina) FROM kola WHERE zemlja_id=" . $_GET['zemlja'] . "); Kasnije ili pre moraćeš da proučiš dizajn relacionih baza (npr Beginning Database Design: From Novice to Professional - Clare Churcher). Za MySQL imaš MySQL Developers Library - Paul DuBois, koja ima i solidan odeljak za učenje osnova SQL-a. Da bi neko dizajnirao bazu, mora da zna kakvi podaci će se skladištiti i kakve zadatke treba da obavi ta baza. Pravila koja se pri tom koriste nisu sveta krava i mogu da se krše, ali moraš da zanaš kad možeš da ih prekršiš. Ako je dizajn loš, kasnije se muke samo uvećavaju. I nemoj da se vadiš na fakultet, ja sam studirao farmaciju ![]() |
![]() |
![]() |
Sledećih 2 korisnika se zahvaljuje korisniku Remedy na korisnoj poruci: | ||
Game fever (31.5.2015), Mirina (30.5.2015) |
![]() |
#19 |
Veteran
|
![]()
OK, deluje mi kao da će ovde biti još pitanja.
Mirina, ako išta želiš da budeš u IT-ju onda ćeš osnove SQL-a morati da znaš. Kao što ti je Remedy rekao, dizajn jeste malo naopak. Međutim, veći problem ja ovde vidim je to što ti ne znaš ni select da napišeš. Umesto što tako nasumično tražiš po internetu rešenje za svaki pojedinačni problem, moj predlog ti je da nađeš interaktivni SQL tutorijal na internetu. baš sam skoro video jedan gde ti kroz pretraživač zadaje zadatke i ti odmah kucaš upite. SELECT, UPDATE, DELETE i agregatne funkcije možeš da savladaš za sat-dva vremena rada. I onda ćeš jednostavnije upite znati i sama da napišeš, a za nešto kompleksnije ćeš znati šta i gde da tražiš. |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Ivan452 na korisnoj poruci: | ||
Mirina (30.5.2015) |
![]() |
#20 |
Veteran
Član od: 5.11.2005.
Poruke: 822
Zahvalnice: 177
Zahvaljeno 197 puta na 152 poruka
|
![]()
Da se nadovežem, nisam danas imao knigu pri ruci. MySQL Developers Library, 1. poglavlje, zaključno sa 1.4 MySQL Tutorial. Tu na 80 strana na primerima imaš objašnjeno ovo što je Ivan452 naveo, plus osnove rada sa datumima i selekciju podataka iz više tabela (join). Može da se pređe za nekoliko sati, nije to Rat i mir, ima tu listinga kodova i rezultata upita. Sigurno treba manje vremena nego što si danas potrošila tražeči rešenje za ovaj upit (knjiga je popularna i lako se nalazi u pdf formatu, za početak).
Što se tiče dizajna relacionih baza, te knjige su lagane za čitanje, jer nema puno koda (a i nije poenta u njemu). Principi su objašnjeni na primerima uz pomoć šema i dijagrama, Nije bitno da ih zapamtiš (neće te niko pitati da izdeklamuješ pravila za normalizaciju baze), nego da ih razumeš, da bi zanala kako da razmišljaš kada praviš bazu, odakle da kreneš, kako da formiraš tabele. |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku Remedy na korisnoj poruci: | ||
Mirina (30.5.2015) |
![]() |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
![]() |
||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Kako optimizovati plugin za Facebook komentare? | hallooo | Web razvoj | 0 | 23.10.2014 13:11 |
Kako da obrisem komentare sa YT? | PS mode | Zanimljive Web lokacije | 1 | 30.11.2012 19:49 |
MYSQL i PHP i Apache | vladakg | Programiranje | 18 | 25.6.2009 7:21 |
Kako uplodovati MYSQL na server | Boris Zegarac | Serverske aplikacije i baze podataka | 1 | 25.10.2007 0:58 |