PERL - Sortare nereusita
Last Updated: Oct 30 2002 13:17, Started by
saschart
, Oct 30 2002 12:52
·
0
#1
Posted 30 October 2002 - 12:52
Pentru sortarea datelor dintr-un tabel in excel am creat in cgi
#####################Sortarea in functie de pret sub in_functie_de_pret { $de_la = $form{'de_la'}; $pana_la = $form{'pana_la'}; open (FE, "$database")|| die "not found"; @lines = ............................. foreach (@lines){ ($zona,$suprafata,$descriere,$pret,$ID,$img) = split('[;]',$_); $from_dig = "$de_la"; $to_dig = "$pana_la"; $dig = "$pret"; if ($from_dig le $dig & $to_dig ge $dig){ ............................. Rezultatul este ca-mi sorteaza corect doar dupa primele doua cifre, zecimalele nu le ia in calcul |
#2
Posted 30 October 2002 - 13:00
Pai le si gt si altele asemanatoare se folosesc pentru comparatie de string-uri, dar tu ai valori integer, si atunci trebuie sa folosesti banalele >, >=, <=, etc.
Cam asta mi-a sarit in ochi prima oara cand m-am uitat pe script. Sortarea insa eu o fac altfel. |
#3
Posted 30 October 2002 - 13:05
spune-mi si mie te rog care este varianta ta prin care faci sortarea
|
#4
Posted 30 October 2002 - 13:11
@SB = sort{$a->[1] cmp $b->[1]} @SHOWBASE;
Nu se potriveste din prima pentru ce ai tu, dar asta merge sigur pentru ca o folosesc de zi cu zi intr-un script pentru web. @SHOWBASE e ceva de forma: nume1`valoare1 nume2`valoare2 nume3`valoare3 In cazul de mai sus, sortarea se face dupa coloana valoare. |
#5
Posted 30 October 2002 - 13:15
intr-adevar varianta clasica pe care ai dat-o este buna, pentru ca vad ca nu-mi mai incurca rezulatele
multumesc mult |
#6
Posted 30 October 2002 - 13:16
Iar asa "umplu" baza de date SHOWBASE cu valori din fisier:
open(DB,"+<$fisier") || die "eroare"; flock(DB,2); # Locking file seek(DB,0,0); @DATA = $SIZE = @DATA; $i = 0;$j = 0; while ($i <= $SIZE) { ($exe,$pro,$catbase,$data) = split(/`/,$DATA[$i]); #` $SHOWBASE[$j][0] = $nume; $SHOWBASE[$j][1] = $valoare; $SHOWBASE[$j][2] = $ceva_a; $SHOWBASE[$j][3] = $ceva_b; $j++; }} $i++; } Dupa care sortezi cum ti-am aratat mai sus. Hope it helps and serves your purpose. |
#7
Posted 30 October 2002 - 13:17
Quote Originally posted by saschart varianta clasica pe care ai dat-o este buna, pentru ca vad ca nu-mi mai incurca rezulatele |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users