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

zasto mi ovo neradi

[es] :: Baze podataka :: zasto mi ovo neradi

[ Pregleda: 4301 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

emperor
Bojan Aleksic

Član broj: 26
Poruke: 327
*.ppp-bg.sezampro.yu

ICQ: 30370501


Profil

icon zasto mi ovo neradi18.12.2001. u 23:20 - pre 271 meseci
dakle ovako imam bazu sa nekoliko kolona i uradio sam search za nju
i ovako jedna od kolona je date ( i format datuma je npr: 1999.12.24 )
e sada sve to radi savrseno sem u slucaju kada stavim any date u
search odnosno neodredim mu vrednost ....... on ispise ( izbroji
koliko je nasao rezultata pomocu count(*) pa upit) broj rezultat ali
nece da prikaze nijedan ... ispis sam radio pomocu mysql_fetch_row
komande ne znam zasto to nece da mi prikaze sve rezultate koje nadje


ako neko ima ideju zasto je to tako neka kaze
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
212.120.11.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: zasto mi ovo neradi18.12.2001. u 23:57 - pre 271 meseci
bilo bi fino kad bi znali kako ti izgleda query ?


People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

dwarf
Beograd, Srbija

Član broj: 1328
Poruke: 336
*.yubc.net



Profil

icon Re: zasto mi ovo neradi19.12.2001. u 00:03 - pre 271 meseci
Posalji kod, posto ovako ne mogu nsita da ti kazem. Takodje, posalji i upit koji generises prilikom pretrage, cisto da vidimo...
 
Odgovor na temu

emperor
Bojan Aleksic

Član broj: 26
Poruke: 327
*.ppp-bg.sezampro.yu

ICQ: 30370501


Profil

icon Re: zasto mi ovo neradi19.12.2001. u 13:14 - pre 271 meseci
evo koda

$rezultat1=mysql_query("select count(*) from baza where date like '%$godina.$mesec%' and name like '%$name%' and city like '%$grad%' and sname like '%$sname%'");
$myrow = mysql_result($rezultat1,'');
$provera = $myrow;

if ($provera == 0){
echo "nista nije nadjeno";
} else {
if ($provera == 1){
echo "<b>Ukupno nadjeno $provera rezultat</b></font>";
} else {
echo "<b>Ukupno nadjeno $provera rezultata</b></font>";
}

$rezultat2 = mysql_query("select * from party where date like '$godina.$mesec%' and name like '%$name%' and city like '%$grad%' and sname like '%$sname%' order by date");
while ($myrow = mysql_fetch_row($rezultat2)){
$id1 = $myrow[0];
$date1 = $myrow[1];
$name1 = $myrow[2];
$city1 = $myrow[3];
$sname1 = $myrow[4];
echo "ovde prikaze rezultate";
}
}

dakle to je kod e sta se desava kada u celoj formi nista neupisem i stisnem submit ili
upisem samo jednu vrednost ( naravno u slucaju da postoji ) gornji upit(rezultat1) izbroji
koliko je nasao takvih rezultata i onda ih spise i kada treba REZULTAT2 upit da ispise rezultate
onda jednostavno nece , to se isto desava ako izaberem samo mesec ali ukoliko izabreme godinu
onda sve radi bez problem izbroji npr za 96 kaze ima 185 upisa i lepo ih prikaze sortirane po datumu
ali samo u tom slicaju prokazuje ....... dake da skratim pricu ako je selektovana godina sve
radi kao zmaj ukoliko stavim za godinu any odnosno joj nedodelim vrednost on pronadje sve rezultate
ali ih jednostavno neprikaze ........

da li neko zna u cemu je ovde problem
 
Odgovor na temu

dwarf
Beograd, Srbija

Član broj: 1328
Poruke: 336
*.verat.net



Profil

icon Re: zasto mi ovo neradi19.12.2001. u 14:00 - pre 271 meseci
Inace, samo da ti kazem da je ovo ubedljivo najgori kod koji sam imao prilike do sada da vidim u svom malom zivotu. :((( Elem, mozda je problem u liniji '$godina.$mesec' a mozda i ne...To jest, zaboravio si jedan "%" ispred $godina u drugom upitu. Probaj da ga stavis...

I zasto koristis dva upita za nesto za sta mozes da koristis mysql_num_rows() f-ju???
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
212.120.11.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: zasto mi ovo neradi19.12.2001. u 14:18 - pre 271 meseci
Ovo je definitivno jedan od najlosijih kodova ...
ali taj '%' ce ti resiti problem ...

u cemu je frka valjda si shvatio ...
ali losa je praksa da stavljas wild card chars na pocetku
onda mysql radi neverovatno sporo ..

bolje ti je da jednostavno ispred dodas 19 ili 20 pa da onda izvrsis query
u buducnosti ... izbegavaj % ispred trazenog stringa
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

alex
Aleksandar Radulovic
Senior Software Engineer, Spotify
Stockholm, Sweden

Član broj: 71
Poruke: 2194
194.144.223.*

Jabber: alex@a13x.info
ICQ: -1
Sajt: www.a13x.info


+1 Profil

icon Re: zasto mi ovo neradi19.12.2001. u 14:47 - pre 271 meseci
Citat:
emperor:
evo koda


Sedi, JEDAN! Knjigu u sake pa se bolje spremi za sledeci put!

Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
 
Odgovor na temu

emperor
Bojan Aleksic

Član broj: 26
Poruke: 327
*.ppp-bg.sezampro.yu

ICQ: 30370501


Profil

icon Re: zasto mi ovo neradi19.12.2001. u 16:27 - pre 271 meseci
ok jeste stvar je u % pre godina ..... jer u prosloj verziji sam imao ... a ovde sam zaboravio da dopisem ... tu ej bila greska


elem samo bih jos zeleo da znam zasto je ovo najgori kod i kako to treba da izgleda NAJOLJI KOD

da vidim kako bi to moglo na drugi nacin da se napise
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.ppp-bg.sezampro.yu



Profil

icon Re: zasto mi ovo neradi19.12.2001. u 17:45 - pre 271 meseci
Kao prvo mnogi sa tabovima razdvajaju loopove ... nested i tako to, tako da mozda nekima to smeta. Ja lichno nikako da se naviknem to da radim, ali moracu uskoro jer se chesto pogubim.
A kao prvo shto se tiche samog koda, kao shto ti je neko vec rekao koristio si dva mysql upita kada si prosto mogao jedan. Umesto ovog prvog upita si mogao da iskoristish funkciju mysql_num_rows().
Onda nije mi jasno zashto stavljash npr ono $provera = $myrow ??? Samo bezveze ubacujesh josh jednu varijablu. Gde god si stavio $provera bez problema je moglo da stoji $myrow.
Onda onaj echo koliko rezultata je nadjeno je malo bezveze. Prvo, mogao si to skroz drugachije da uradish, mogao si sa switch() [funkcija koju si mi prvi put TI rekao], mogao si i da ubacish to u ovaj while loop koji ispisuje rezultate ... bilo shta bi bilo, da kazem lepsheod ovoga ... uglavnom i ako si ovako uradio opet, prvo je greshka shto ti ide if - else - else umesto if - elseif - else, al' ok. Onda, ovo zavisi od sluchaja do sluchaja, kako ko vec stavlja, ali znajuci tebe chudi me da nisi stavio samo jedan else i da u njemu pishe "Ukupno nadjeno $provera rezultat(a)" tako da si miran i za jedninu i za mnozinu .
Onda u onom while loopu, opet bespotrebno ubacujesh 5 novih varijabli. Ne znam kako ti izgleda echo u tom while loopu, ali kakav god da je, one varijable su suvishne [$id1, $date1, $name1, $city1, $sname1].
Shto se tiche ovih mysql upita tu nisam bash upucen koji se brze izvrshava od kog, tako da ne znam koliko su brzi i "lepi". Evo sad prvi put chujem da onaj % na pochetku upita usporava dosta upit - svaki dan se poneshto nauchi.

i sada sve ove komentare da pretvorim u neki prepravljeni kod [mada opet moglo je i drugachije pogotovu zbog ovog if - else, al dobro]. Ostavio sam mysql deo takav kakav je.

$rezultat2 = mysql_query("select * from party where date like '%$godina.$mesec%' and name like '%$name%' and city like '%$grad%' and sname like '%$sname%' order by date" );

if (mysql_num_rows($rezultat2)) {
echo "Ukupno nadjeno " . mysql_num_rows($rezultat2) . " rezultat(a)";

while ($myrow = mysql_fetch_row($rezultat2)){
echo "ovde prikazesh za datum $myrow[1] za ime $myrow[2] itd, a mogao si i da koristish umesto mysql_fetch_row() mysql_fetch_array() ako ti je tako lakshe i onda za datum da ti bude $myrow['date'] za ime $myrow['name'] itd itd ";
}

} else {
echo "nishta nije nadjeno";
}

Eto to je to. Ja ne znam, mozda ni ovaj moj kod nije neka lepota, mozda je gori od tvog [bar je kraci ako nishta ] ja sebe smatram nekim pochetnikom [vechitim] ali mislim da si ove stvari shto sam napisao pogreshio. Toliko.
 
Odgovor na temu

dwarf
Beograd, Srbija

Član broj: 1328
Poruke: 336
*.yubc.net



Profil

icon Re: zasto mi ovo neradi19.12.2001. u 23:10 - pre 271 meseci
Zasto je ovo najgori kod??

Prvo i prvo, osnovno pravilo je da se baza ne sili nikada. Dakle, radis dvaupita sa istim, ali POTPUNO istim uslovima, gde prvi sluzi samo da izbaci broj rezultata. Koristis, kao sto ti je vec RAZZLEDAZZLER rekao, mysql_num_rows() koji radi isto to, samo sto imas samo jedan upit.

Dalje, koristis wildcards i tamo gde mozda za njima nema potrebe. Takodje, ako vec hoces da dozvolis da covek ima maksimalnu slobodu prilikom pretrage, potrudi se da u samom aplikativnom sloju, dakle PHP skriptovima, sredis konacni query koji ce otici bazi.

Potpuno bezrazlozno uvodis vise varijabli kada jednom izvuces podatke za jedan slog u niz. Cemu to??? Niz je upravo tu da ti poomogne i nema potrebe da ga dalje lokalizujes. Ako imas problem sa indeksima, koristi mysql_fetch_array() i sve radi kako bi trebalo...

Mislim, ovo je ukratko, ali ako ovako pises kod...'de ce ti kraj???
 
Odgovor na temu

emperor
Bojan Aleksic

Član broj: 26
Poruke: 327
*.ppp-bg.sezampro.yu

ICQ: 30370501


Profil

icon Re: zasto mi ovo neradi20.12.2001. u 01:24 - pre 271 meseci
dva upita sam koristio zato sto se na ovaj drugi upit nadovezuje i limit
pa ako korisim num_rows onda nema tacan broj nadjenih rezultata ......
takoda mi je potrebno 2 upita a sto se tice onih uvedjenja nepotrebnih variabli e to ej vec ozbiljan prestup ali sta da radim to je nesto sto sam medju prvim stvarima pokupio iz nekog tutora i to mi je ostalo pokusavam da se oslobodim tok 'tika' ali mi bas i neide neko mi je lepse kada to radim ...... znam da nevalja ali nemogu da ti opisem to je kao .........

ali radim na tome da to izbacim

aj pozdrav .......
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.ppp-bg.sezampro.yu



Profil

icon Re: zasto mi ovo neradi20.12.2001. u 02:07 - pre 271 meseci
joj bre .. preduhitri me
ma moze i bez dva upita to da izlistava recimo 10 rezultata po strani i da ispishe ono prethodna strana, sledeca strana ... imash mail od mene
..ako nekoga sluchajno interesuje neka nadje na netu [znachi google pa shibaj] tutorial

Beginners guide to PHP MySQL - simple guestbook

tu ima izmedju ostalog objashnjeno to za prethodnu/sledecu stranu
 
Odgovor na temu

dukenukem
Nemanja Nikolic
Beograd

Član broj: 970
Poruke: 99
*.184.EUnet.yu

ICQ: 35310908


Profil

icon Re: zasto mi ovo neradi23.12.2001. u 02:27 - pre 271 meseci
ljudi su u pravu, za kod. a evo i jednog edit-a:

Citat:
RAZZLEDAZZLER:
echo "Ukupno nadjeno " . mysql_num_rows($rezultat2) . " rezultat(a)";


dakle:
echo "Ukupno nadjeno: " . mysql_num_rows($rezultat2) . " rezultat";
if (mysql_num_rows($rezultat2) % 10 != 1) echo "a";

zasto bi imitirali glupe papirne form-ove?

= come get some =
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.ppp-bg.sezampro.yu



Profil

icon Re: zasto mi ovo neradi23.12.2001. u 02:44 - pre 271 meseci
Citat:
dukenukem:
dakle:
echo "Ukupno nadjeno: " . mysql_num_rows($rezultat2) . " rezultat";
if (mysql_num_rows($rezultat2) % 10 != 1) echo "a";

zasto bi imitirali glupe papirne form-ove?


da ne bi zvuchali josh gluplje
... jer ovo tvoje ce da izbaci

Ukupno nadjeno: 11 rezultat

... malo glupo zvuchi?

Al' nije bitno... nemojte vishe, poludece emperor od vas
 
Odgovor na temu

dukenukem
Nemanja Nikolic
Beograd

Član broj: 970
Poruke: 99
*.231.EUnet.yu

ICQ: 35310908


Profil

icon Re: zasto mi ovo neradi24.12.2001. u 22:37 - pre 271 meseci
Citat:
RAZZLEDAZZLER:
Citat:
dukenukem:
dakle:
echo "Ukupno nadjeno: " . mysql_num_rows($rezultat2) . " rezultat";
if (mysql_num_rows($rezultat2) % 10 != 1) echo "a";

zasto bi imitirali glupe papirne form-ove?


da ne bi zvuchali josh gluplje :D
... jer ovo tvoje ce da izbaci

Ukupno nadjeno: 11 rezultat

... malo glupo zvuchi?

Al' nije bitno... nemojte vishe, poludece emperor od vas :D:D:D


a, jes, imas pravo... samo si mogao da popravis umesto sto zakeras :)
dakle:

if (mysql_num_rows($rezultat2) % 10 != 1 ||
mysql_num_rows($rezultat2) % 100 != 1) echo "a";

pismenost nikad nije na odmet! :)


= come get some =
 
Odgovor na temu

dukenukem
Nemanja Nikolic
Beograd

Član broj: 970
Poruke: 99
*.231.EUnet.yu

ICQ: 35310908


Profil

icon Re: zasto mi ovo neradi24.12.2001. u 22:42 - pre 271 meseci
oh, btw, kad smo kod pismenosti:
emperor, bre,
KAZE SE "NE RADI"! ODVOJENO!!!!
= come get some =
 
Odgovor na temu

[es] :: Baze podataka :: zasto mi ovo neradi

[ Pregleda: 4301 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

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