Delfins
-
Posts
3,746 -
Joined
-
Last visited
Posts posted by Delfins
-
-
-
Hei, vai kaads var palidzeet meegjinu uzprogrammet info atlasi
2 liimenjos galvenais un pakaartotais, kas izskataas kaa 2 kombo selecti un to visu piesaistiit DB
Atradu netaa javascriptu vai to var paarveidot un piesleegt mysql?
http://simplythebest.net/scripts/DHTML_scr...ascript_15.html
Scriptu iekopeeju paste
Pielietojums ka Nvidias lapaa:
XML-RPC ...
piemeers te... http://developer.apple.com/internet/webcon...le/example.html
-
Probleema sekojosha:
Man ir divi mainiigie, es meeginu vinjus ieraxtiit txt failaa (dati.txt), bet man nekaadiigi nesanaak! Lapu kodi:
Kas man tur ir nepareizi, ideaali buutu ja kaads arii paraadiitu kaa to kodu padariit iisaaku - eertaaku(ja iespeejams) ! :rolleyes:
Ak jaa un veel vajadzeetu kautkaa vinjus peec tam izdabuut no *.txt failiem aaraa tip paraadiitos piemeeram index.php lapaa ikreiz kaa vinjaa ieieshu ieksaa! Ceru ka saprataat
Nebariet mani bargi par liiko kodu bet esmu iesaaceejs PHP, paldies par atsauciibu!
$name = trim( $_POST['name'] );
-
-
tu kad kodē arī mēģini saprast ko dari ?
parasti kodējot ir arī zemapziņā jānoimpretē kas notiks ko tu tur sarakstīji :)
for ($i=$start; $i<$end; $i++ ) { $dir=opendir("pic/auto/"); while(($fails=readdir($dir)) !=false){ if ( !eregi('(jpg|jpeg)$',$fails) ) continue; if ($i<$start) continue; if ($i>$end) break;{ print("<img src=pic/auto/$fails width=120 height=81 border=1><b>$fails</b> ");} if(!($i % 3)) { echo "<br/><br/>"; } $i++; }
aizstajam ar
$dir=opendir("pic/auto/"); $i = 0; while(($fails=readdir($dir)) !=false){ if ( !eregi('(jpg|jpeg)$',$fails) ) continue; if ($i<$start) continue; if ($i>$end) break; print("<img src=pic/auto/$fails width=120 height=81 border=1><b>$fails</b> "); if( $i % 3 == 0 ) echo "<br/><br/>"; $i++; }
-
-
1.) nu tad noindeksējam un glabājam iekš DB.
nekas jau nemainās... vienīgais ka tikai iegūsi, ka SQL-am var norādīt OFFSET ($start, $end)
2.) indeksējam _tikai_ bilžu skaitu.
un tad
$i = 0; while ( $file ... ) { // pārbaudes if ($i<$start) continue; if ($i>$end) break; print "... $file ..."; $i++; }
PS: 2. nav optimālāks... bet ja nav DB...
-
nu aptuveni taa... simple crap :)
-
tas kas izvada bildes...
indeksatoru taisi atsevišķā failā.. un saglabā images masīvu kā serializētu stringu (cerams tev tur nav daudz bildes)
indexdir.php
$dh = opendir($dir); while ( $file = readdir($dh) ... ) { .... $images[] = $file; } fwrite( fopen($dir.'/images.cache',w), serialize($images) );
images.php?page=xx
$images = unserialize( file_get_contents($dir.'/images.cache') ); // .. tas pats kas iepriekšējā postā..
-
nu visprastaakaa matemaatika
$imagesCount = @ file_get_contents('images.count'); // labāk noindeksēt direktoriju un glabāt failā bilžu skaitu kā arī nosaukumus $page = (int) $_GET['page']; $perPage = 10; $pages = ceil( $imagesCount / $perPage ); if ($page<1 || $page>$pages) $page = 1; $start = $perPage * ( $page - 1 ); $end = ($start+$perPage<$imagesCount) ? $start+$perPage : $imagesCount-1; for ($i=$start; $i<$end; $i++ ) { // $img = $images[$i]['name']; ... }
pages linkus domaju pats uztaisiisi
-
Kā shim kodam noraadiit lai raada tikai jpg failus?
Un kaa sadaliit lai raada pa noteiktam rindu sakaitam?
$dir=opendir("pic/auto/");
$i = 1;
while(($fails=readdir($dir)) !=false){
if($fails!='.' && $fails!='..') {
print("<img src=pic/auto/$fails width=120 height=81 border=1> ");
if(!($i % 4)) { echo "<br/><br/>"; }
$i++;
}
}
Shodien ir tikai otraa diena kad ko meeginu uztaisiit taapeec luudzu neraaties :unsure:
if ( !eregi('(jpg|jpeg)$',$fails) ) continue;
PS : par rindu skaitam nesapratu... tipa pa lappaspusēm ?
-
-
kliks (hits) - 1 refreshs
hosts - 1 sessija apmeklējums
uniq hosts - unikāls hosts pa periodu
$cnt = @ (int) file_get_contents( 'counter.txt' ) + 1; fwrite( fopen('counter.txt','w'), $cnt );
-
diff:
-- for ($i = $end; $i>=($start-1); $i--)
++ for ($i = $end; $i>=$start; $i--)
-
vai tiešam tu pats neredzi ?
10,9,8,7,6,5 = 6 elementi, bet tev vajag 5...
nepareizi $start tiek aprēķināts
PS: drausmīgs kods.. protams nav brīnums ka pats neko nevari atrast... (un droši vien arī citi :))
-
Kavacky, menu baru ērti taisīt ar ul/li tagiem. Paskaties šeit:
pirmais example ir pat ljoti OK... tikai nav sub-menues
es izmantoju sho... http://www.brainjar.com/
-
un rezultāts ar fetch_assoc()
Rows: 85794 DCs: 42439 SIDECARs: 644 MaxSM: 1095703 Time taken: 1.7660069465637
Līdz ar to "ranks" ir sekojošs (100k ieraksti)
_row() (0)
_assoc() (+100ms)
_object() (+50ms)
_array() (+200ms)
PS: iekavās - nobīde no iepriekšējā
-
lai nestrīdētos
delfins@mandalay:~$ ./bench.php -- With Arrays -- Rows: 85794 DCs: 42439 SIDECARs: 644 MaxSM: 1095703 Time taken: 2.0215020179749 -- With Object -- Rows: 85794 DCs: 42439 SIDECARs: 644 MaxSM: 1095703 Time taken: 1.8180799484253 -- With Rows -- Rows: 85794 DCs: 42439 SIDECARs: 644 MaxSM: 1095703 Time taken: 1.6233339309692 Apgrieztaa seciibaa :) -- With Rows -- Rows: 85794 DCs: 42439 SIDECARs: 644 MaxSM: 1095703 Time taken: 1.6263220310211 -- With Object -- Rows: 85794 DCs: 42439 SIDECARs: 644 MaxSM: 1095703 Time taken: 1.821604013443 -- With Arrays -- Rows: 85794 DCs: 42439 SIDECARs: 644 MaxSM: 1095703 Time taken: 2.0186769962311
Kods ir sekojošs
#### With ARRAYS ############################################### function doWithArrays($dbConn,$sql) { print "-- With Arrays --\n"; $res = mysql_query($sql,$dbConn); $dcCount = $sidecarsCount = $maxSM = $rows = 0; $startTime = getmicrotime(); while ( $row = mysql_fetch_array($res) ) { $rows++; if ($row['point_id']==1) $dcCount++; if ($row['sidecar']) $sidecarsCount++; $maxSM = max( $maxSM, $row['sm'] ); } $time = (getmicrotime()-$startTime); print "Rows: $rows DCs: $dcCount SIDECARs: $sidecarsCount MaxSM: $maxSM\n"; print "Time taken: $time\n"; mysql_free_result($res); } #### With ROWS ############################################### function doWithRows($dbConn,$sql) { print "-- With Rows --\n"; $res = mysql_query($sql,$dbConn); $dcCount = $sidecarsCount = $maxSM = $rows = 0; $startTime = getmicrotime(); while ( $row = mysql_fetch_row($res) ) { $rows++; if ($row[0]==1) $dcCount++; if ($row[2]) $sidecarsCount++; $maxSM = max( $maxSM, $row[1] ); } $time = (getmicrotime()-$startTime); print "Rows: $rows DCs: $dcCount SIDECARs: $sidecarsCount MaxSM: $maxSM\n"; print "Time taken: $time\n"; mysql_free_result($res); } #### With OBJECTS ############################################### function doWithObjects($dbConn,$sql) { print "-- With Object --\n"; $res = mysql_query($sql,$dbConn); if (!$res) die('Query failed'); $dcCount = $sidecarsCount = $maxSM = $rows = 0; $startTime = getmicrotime(); while ( $row = mysql_fetch_object($res) ) { $rows++; if ($row->point_id==1) $dcCount++; if ($row->sidecar) $sidecarsCount++; $maxSM = max( $maxSM, $row->sm ); } $time = (getmicrotime()-$startTime); print "Rows: $rows DCs: $dcCount SIDECARs: $sidecarsCount MaxSM: $maxSM\n"; print "Time taken: $time\n"; mysql_free_result($res); }
$sql = "SELECT point_id, sm, sidecar FROM rimi_delivers_data";
Secinājums... ja vajag apstrādāt 100k ieraksti on-line, tad gan 200ms vinēt uz fetch_row() ir jēga (nezinu vai kāds vispār on-line fetcho 100k ierakstus :))
bet kaa jau minēju, $row->fieldName (no xxx_fetch_object() ) pieraksts gan stipri palielina koda lasāmību
un uz maziem fetch-iem starpības jau nav... nedzīvojam takš Pentium-1 laikos...
-
padalies kur ir kljuudas?
pasham slinkums buutu testeeties tik traki, taadelej panjeemu no itejienes - http://www.codenet.ru/webmast/php/speed/
tāpēc ka mākslīgi un statiski.
Ieliec kādu benchmark esošajam projektam vai vienkāršam alogritmam, kas kaut ko rēķina.
domāju rezultāti stipri atškirsies (kā arī realizācija šad-tad) :)
-
Delfins
> davai iegaumē 100 tabulas ar vidēji 20 kolonnaam - katru pozīciju un jēgu
Da par ko ir runa? Ja datu bāzi nav taisījis pilnīgs dibencaurums, tad tabulu un kolonnu nosaukumiem vajadzētu būt informatīviem. Nevaru gan iedomāties, kādam risinājumam varētu būt vajadzīgs 100 tabulas ar vidēji 20 kolonnām... Kas attiecas uz kolonnu numuriem, tie ir kārtas numuri pieprasījuma rezultātā, vai ne? Kas notiek, ja es select'ā piemetu sākumā vēl vienu kolonnu klāt?
tieši par to i runa, ka pieliekot query-jā vienu kolonnu (sākumā vai vidū)... dabūsi pārkodēt visu kas dependojās :)
tāpēc es ar "visiem 4-iem" par mysql_fetch_obj()
PS: protams ja projektā ir tikai 2 tabulas ar vidēji 3 laukiem, tad šitās runas var uzskatīt par bezjēdzīgu laika tērēšanu.
-
1.) davai iegaumē 100 tabulas ar vidēji 20 kolonnaam - katru pozīciju un jēgu...
Nu ?! ko teiksi...
2.) neaizmirsti to ka MYSQL ir fīča ka kolonnas var alter-ot pēc pozicijas...
protams tas neko nemaina, ja tev ir SELECT field_list...
3.) pēc pieredzes saku (reportiem), ka ātruma pieaugumu nejūt - izmanto tu _obj() vai _array()
-
interesanti, kad tev ir ~10 vertibas no SQL querija,.. un ja kaut kas pēkšņi pamainās...
tev ērtāk griezties pie [x] ? vai pie $row->name / $row->count ??
turklāt ja padod mainīgo citai funkcijai (ko es parasti daru)... man nav jāzin indekss kolonnai, bet gan tās nosaukumu :)
[ērtumu jūti?]
-
-
taatad divas fcijas:
mysql_fetch_array
mysql_fetch_row
kura no shiim f-cijaam ir aatraaka?
P.S kaadam nav kaads labs MySQL manuaalis CHM formaataa?
neesmu nekur redzeejis manuaali (MySQL) CHM formaa. ja kaadam ir tad varbut vareetu man uz mailu atmest. imojams{@}gmail{.}com
man tas MySQL manuaalis, kas ir MySQL palaa bik taac nesaprotam. varbuut kaadam ir kas saprotamaax :)
paldies jau iepriex.
1.) ja tu nolasi kādus 100 ierakstus, nav nozīmes kādu tu funkc. pielieto.
es visu laiku izmantoju mysql_fetch_obj()
2.) ar ko PDF nepatīk ?
Tkal lamerisms :)
in PHP skripti
Posted
sapratu kur kļūda
nomaini šo :
ar šo
beigās $i++ izdzēs