Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/08/2010, 14:31
kirst
 
Fecha de Ingreso: septiembre-2009
Mensajes: 230
Antigüedad: 14 años, 7 meses
Puntos: 2
[Problema] Sistema de noticias - Ultima noticia

Bueno, como dice el título, pensé que lo había arreglado, pero no fue así... Tengo una columna con 40 filas(ordenado por ID del 1 al 40), lo que quiero hacer, es listar 10 articulos, y uno aparte asi le doy un header mas grande, etc(esa seria la ultima noticia), lo que me sugerieron fue lo siguiente:

Hacer una consulta limit 0,11 asi tengo 11 articulos(los ultimos digamos), hacer un array_Shift, y ahi tener impreso: el titular, y despues el resto abajo, lo que hice fue lo siguiente:

query.php
Código PHP:
// traemos listado de todas las noticias del cabezal
$arrNoticiasEndeavour = array();
$query "SELECT * FROM `endeavour_news` ORDER BY id DESC LIMIT 0,11";
$resultado mysql_query ($query$dbConn);
while ( 
$row mysql_fetch_assoc ($resultado)) {
    
array_push$arrNoticiasEndeavour,$row );

print.php
Código PHP:
<table width="100%" border="0" cellspacing="5" cellpadding="0">
    <tr>
      <td class="BODYcont">
      <div class="BODYcontPRE">
      <? foreach ($arrNoticiasEndeavour as $noticia) {
$title        =    strlen($noticia['title']);
// Reemplazamos ahora:
if( $title 27 ) {
$title_str    =    substr($noticia['title'], 026);    
$title        =    $title_str.'...';
} else {
$title        =    $noticia['title'];
}
$titler array_shift($noticia);
      
?>
      <h1><? if ( $titler == ) { echo $noticia['title']; } ?></h1>
      <h2><? if ( $titler == ) { echo $noticia['subtitle']; }  ?></h2>
      <? ?>
      </div>
      </td>
      <td width="660" rowspan="2">Proximamente</td>
    </tr>
    <tr>
      <td class="BODYcont">
      <? foreach ($arrNoticiasEndeavour as $noticia) {
$title        =    strlen($noticia['title']);
$link        =    $noticia['id'];
// Reemplazamos ahora:
if( $title 27 ) {
$title_str    =    substr($noticia['title'], 026);    
$title        =    $title_str.'...';
} else {
$title        =    $noticia['title'];
}
$titler array_shift($noticia);    
      
?>
      <? if ( $titler >= && $titler <= 11 ) { ?>
      <div id="bodyULTIMATEnotices">
      <a href="<?= $mainpage ?>?m=read&clasification=endeavour_news&id=<?= $link ?>"><?= $title ?></a>
      </div>
      <? }//for titler2 ?>
      <? ?>
      <div id="bodyULTIMATEnotices2" align="right"><a href="<?= $mainpage ?>?m=readmore&categories=endeavour_news">Leer Más</a></div>
      </td>
    </tr>
  </table>
Eso de sustituir, es por si el titulo es muy grande, lo reduzco para que pueda entrar bien en el td.. Después, el titler, vendría a ser el array, lo que hago es hacerle el shift... Me parece que no entendí bien la definición... Pero lo que quiero hacer es:

Meter los 11 resultados en un orden que no sea segun los IDs del MySQL, ya que, con esto no puedo ordenarlos, mostrar el ultimo titular(id 1 o 11.. lo que sea), y mostrar el resto, por eso pongo titler == 1, y despues titler >= 2 y <= 11, para que el resto se muestre, aunque no entendí bien la definición, que por ello no anda. Algién me ayudaría? Gracias de ante mano.