Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2013, 14:45
luisko
 
Fecha de Ingreso: enero-2012
Mensajes: 13
Antigüedad: 12 años, 3 meses
Puntos: 0
Script PHP para cambiar el orden de los posts.

Hola a todos. Les agradecería mucho que me ayudaran con esto: Tengo el siguiente script que es para entradas (originalmente era de un directorio) pero le hice muchos cambios y ya me esta funcionando para que sirva para publicar datos de obras de teatro. Todo funciona ya ok, pero lo único que necesito es que las entradas que aparecen una vez publicadas, van en orden del más antiguo al principio y al final aparecen las más recientes y quiero que sea al revés. Estuve cambiando números y parte del codigo pero no lo consigo, incluso intente poniendo un codigo de reverse y tampoco... no se bien que debo de moverle en los $start o si es en el //outtputing , //pagination , get récords o listing part... y si debo de cambiar algo de + por - o al reves o en su defecto algo de 0 a 1 o -1 o algo así. intente varias cosas que supuse y otras que encontre en la web, pero no lo he logrado!!! alguien me echa por favor una mano? GRACIAS!!!!!
El codigo tal como funciona bien y sin los cambios que he intentado es:

...

//====================================
//This function will add one line to
//the end of file
//====================================
function add($str){
global $gbfile;
$tmp = trim($str);
$fp=fopen($gbfile,'a+');
flock($fp, LOCK_EX);
fwrite($fp, $tmp. "\n");
flock($fp, LOCK_UN);
fclose($fp);
}

//====================================
//Function below gets specified number
//of lines and returns an array
//====================================
function get($start, $end){
global $gbfile;
$records=array();
$filename="links.txt";
$fp=fopen($gbfile,'r');
flock($fp, LOCK_SH);
$i=1;
$tmp=TRUE;
while($i<$start && !feof($fp)) {
$tmp=fgets($fp);
$i++;
}
while($i<=$end && !feof($fp)) {
$tmp=trim(fgets($fp));
if ($tmp) { array_push($records, $tmp); }
$i++;
}

flock($fp, LOCK_UN);
fclose($fp);
return($records);
}



//Listing part

$start=$_GET['start'];
$end=$_GET['end'];

if (!$end || $start<=0) { $start=1; }
if (!$end) { $end=$linkspage; }
if ($end<$start) { $end=$start+1; }
$show=$end - $start;

//Get records from file into array
$records = get($start, $end);

//For each record get each field
foreach ($records as $rec) {
$tmp = explode($separator, $rec);
$titulo = $tmp[0];
$reparto = $tmp[1];
$sinopsis = $tmp[2];
$teatro = $tmp[3];
$direccion = $tmp[4];
$horarios = $tmp[5];
$nombre = $tmp[6];
$email = $tmp[7];
$ciudad = $tmp[8];

//=================================
//Outputting
?>
<div style="padding-left: 10">
<div style="FONT-SIZE:8pt; color:#000000; background-color: #FFD986; border: 1px solid #4277C1; width:910; height:95">
<b>T&iacute;tulo: <?=$titulo?></b><br>
Reparto: <?=$reparto?><br>
Sinopsis: <?=$sinopsis?><br>
Teatro: <?=$teatro?><br>
Dir: <?=$direccion?><br>
Horarios: <?=$horarios?><br>
Obra subida por <a href="mailto:<?=$email?>"><?=$nombre?></a> de <?=$ciudad?>
</div>
</div><br>
<?
}
//Pagination
if ($start>$show) {
$start-=$show;
$end-=$show;
$start--;
$end--;
print "<div style=\"padding-left: 10\"><a href=index.php?start=$start&end=$end><img src=../images/previous.jpg border=0></a>&nbsp;&nbsp;";
if (count($records)!=0) {
$start+=$show*2;
$end+=$show*2;
$start=$start+2;
$end=$end+2;
print "<a href=index.php?start=$start&end=$end><img src=../images/next.jpg border=0></a></div>";
$start--;
$end--;
}
else {
print "No hay más resultados";
}
}
else {
$start+=$show;
$end+=$show;
$start++;
$end++;
print "<div style=\"padding-left: 10\"><a href=index.php?start=$start&end=$end><img src=../images/next.jpg border=0></a></div>";
$start--;
$end--;
}

...