Parašė SofteriZ· 2007 Lie. 13 22:07:11
#1
Tai va,
ieskojau ir niekaip neradau tokio scripto.. (kodo
php)
kas kada ji buvau gaves kaip tw programai naudot.. lb geras buvo.
pwz:
Nustatai web ar faila kur yra ir kad rodytu Nuo kurios eilutes iki kurios,
ir cia per netycia pamaciau gan panasu she.. tik as nemoku persidaryt kad butu gritai toks..bet kiek pamenu gan panasus kodas !
gal kas galetu padet ir perdaryt kad pwz: butu nustatyt nuo kurios eilutes iki kurios skaitytu faila P.s. ne txt o
php ,
html ar pn.
Man lb svarbus sitas dalykas jai galit padekite.
Is anksto dekui.
Tas rastas panasus kodas, tik cia butu is txt failo skaitymas bet kiek pamenu gan panasus kodas.. tik gerokai ilgesnis. o tas buvo gal is 6 ar 7 eiluciu...
kodas:
<?php
//nurodome, duombazes failą
$DATA_FILE = "data/vardai.txt";
//nurodome, kiek rodyti įrašų
$irasai = 10;
//nuskaitome duomenys į masyvą $vardai
$vardai = file($DATA_FILE);
/*
tikriname ar įvestas $for, jeigu ne arba jis dydesnis už masyvo įrašų kiekį
count($vardai) arba neigiamas, tai for = 0, jei $for įvestas jam priskiriame
1 mažensę reikšmę
*/
if (!$for || $for > count($vardai) || $for <= 0) {
$for = 0;
} else {
$for = $for - 1;
}
/*
organizuojame ciklą išvedantį duomenis, skaitome masyvą nuo paskutinio įrašo
kas 10 įrašų. arba jeigu nurodytas $for skaitome nuo $for 10 įrašų.
*/
for ($i = count($vardai) - 1 - $for; $i >= count($vardai) - $for - $irasai; $i = $i - 1) {
//jeigu $i eilutė netuščia
if ($vardai[$i]) {
//skaidome ją į $vardas ir $email (pagal tabuliaciją "\t")
list ($vardas, $email) = split ("\t", $vardai[$i]);
//nusistatome įrašo numerį
$nr = count($vardai) - $i;
//išvedame duomenys
print "$nr. $vardas $email<br>";
}
}
/*
generuojame skaičių-nuorodų eilutę [nuo-iki] [nuo1-iki1] pvz.: [1-10] [11-20]
ir t.t., jeigu masyvo įrašai viršija nustatyta skaičių, t.y. 10
*/
for ($i = 0; $i <= count($vardai) - 1; $i = $i + $irasai) {
//nusistatome pirmą skaičių "nuo"
$nr = $i + 1;
//nusistatome antra skaičių "iki"
$nr2 = $nr + $irasai - 1;
//jeigu "iki" už masyvo įrašus
if ($nr2 > count($vardai)) {
//tai formuojame skaičių "nuo-masivo_įrašų_kiekis"
$nmr = "$nr-".count($vardai);
//priešingu atveju
} else {
//formuojame skaičių "nuo-iki"
$nmr = "$nr-$nr2";
}
//jeigu pirmas skaičius lygus masivo įrašų kiekiui
if ($nr == count($vardai)) {
//tai formuojame skaičių "nuo-masivo_įrašų_kiekis" arba "nuo"
$nmr = "$nr";
}
//jeigu pirmas skaičius neatitinka paspaustos nuorodos skaičiui įšvedame [skaičius]
if ($nr != $for + 1) {
print "<a href=$PHP_SELF&for=$nr>[$nmr]</a> ";
} else {
//jeigu pirmas skaičius atitinka paspaustos nuorodos skaičiui jį paryškiname
print "[<b>$nmr</b>] ";
}
}
?>
Dekui is anksto uz pastangas padeti.