Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

Vakara sveiciens ! :)

Ir Cs serveris uz kura nonstopā rakstās demkas (no hltv) un protams tiek automātiski krāmētas konkrētā folderī. Tagad ir vēlēšanās to visu smuki ielikt webā - itkā viss ir +/- ok, sadalās smuki pa datumiem (katram datumam savs tabs u.t.t.), bet problēma rodas pie izkārtojuma pēc laikiem, kad demo ir ierakstīts.. respektīvi atverot piemēram šodienas datumu ir redzami visi šodienas demo, bet viņi ir izmētāti jauktā secībā - gribās lai būtu pēc laikiem..

Daļa no koda:

<?

if ($handle = opendir($demodir)) {
while (false !== ($file = readdir($handle))) {
	$text="$file\n";

	if(stristr($text, $shodienaa4) !== FALSE) {
	$dat = strstr($text, '-');
	$dat1 = substr($dat, 3);
	$laiks = substr($dat1, 5, 4);
	$karte = substr($dat1, 10, -5);

	$st = substr($laiks, 0, 2);
	$min = substr($laiks, 2, 2);

	echo "<tr><td>".$st.":".$min."</td><td style='text-transform:lowercase'>".$karte."</td>";
	echo"<td><a href='http://example.lv/demos/".$text."'>Novilkt</a></td></tr>";
	}
	}
}
?>

 

Kā notiek tā sort'ošana cilvēku valodā? :P Pēc manuāļiem īsti nevarēju iebraukt :(

Edited by Gustins
Posted

Uzreiz nedrukā ārā failu sarakstu, bet uztaisi masīvu, kur indekss (key) būs datums, bet vērtība faila nosaukums. Tad ar ksort sakārto. Un tad skrien cauri masīvam un izdrukā. Tas ir viens variants.

Posted

Izskatās pēc "Iedod gatavu kodu" tēmas.

Bet kas tev nepatīk sortēšanā izmantojot masīvu, turklāt tu sortē tikai pēc viena parametra - datuma.

Nezinu pat citu variantu, jo failus nolasi no direktorijas.

 

$arrFiles = array();
if ($handle = opendir($demodir)) {
while (false !== ($file = readdir($handle))) 
{
 if(stristr($file, $shodienaa4) !== FALSE)
   {
	$dat = strstr($file , '-');
	$datums = substr($dat, 3); // taa, kaa nepacenties iedot failu nosaukumus, pieņemu ka datums ir kaut kur te plus ar vel kaut kaadu drazu gala
	$arrFiles[$datums] = $file;
  }
}
closedir($handle);
if(!empty($arrFiles))
{
 ksort($arrFiles);
 foreach($arrFiles AS $dat1 => $text)
 {
	$laiks = substr($dat1, 5, 4);
	$karte = substr($dat1, 10, -5);

	$st = substr($laiks, 0, 2);
	$min = substr($laiks, 2, 2);

	echo "<tr><td>".$st.":".$min."</td><td style='text-transform:lowercase'>".$karte."</td>";
	echo"<td><a href='http://clan.lv/demos/".$text."'>Novilkt</a></td></tr>";
 }
}

 

Nu tāds ir mans ķep-ļep ātrais variants.

Ideja skaidra??

Posted (edited)

nu var sainsertot tabulā un izselektēt ar order by datums :D ja nepatīk masīvi.

Edited by NiTrino
×
×
  • Create New...