Foros del Web » Programando para Internet » PHP »

como hacer esto http://www.incalandperu.com/test/

Estas en el tema de como hacer esto http://www.incalandperu.com/test/ en el foro de PHP en Foros del Web. Estoy haciendo una web (en php y mysql) donde se publicaran noticias. Quiero poner en portada las ultimas 4 noticias registradas, pero quiero que la ...
  #1 (permalink)  
Antiguo 14/12/2005, 20:59
 
Fecha de Ingreso: enero-2002
Mensajes: 22
Antigüedad: 15 años, 10 meses
Puntos: 0
como hacer esto http://www.incalandperu.com/test/

Estoy haciendo una web (en php y mysql) donde se publicaran noticias. Quiero poner en portada las ultimas 4 noticias registradas, pero quiero que la ultima noticia (publicada) aparesca ocupando mayor espacio en la portada , y las otras tres ocupando cada una un tercio del espacio asignado. Asi seria: http://www.incalandperu.com/test/

He intentado hacerlo pero no resulta, alguien puede ayudarme.

mARCO
__________________
!!!!
() ()
-
  #2 (permalink)  
Antiguo 15/12/2005, 03:15
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
He intentado hacerlo pero no resulta, alguien puede ayudarme.
¿y qué es eso que has intentado?.

Cita:
Quiero poner en portada las ultimas 4 noticias registradas
Para recuperar los "X" registros ejecuta una query ordenando los datos al reves y limitando a esos "X" registros:
Código:
SELECT campos FROM tabla ORDER BY campo_que_establece_el_orden DESC LIMIT 0, X
Cita:
pero quiero que la ultima noticia (publicada) aparesca ocupando mayor espacio en la portada
Haciendo lo que dije anteriormente esa "última noticia" será tu primer dato recibido... con usa información puedes modificar el formato a ser impreso:
Código PHP:
$consmysql_query("SELECT campos FROM tabla ORDER BY campo_que_establece_el_orden DESC LIMIT 0, X");

while(
$rowmysql_fetch_assoc($cons)) {
    if(isset(
$auxiliar)) { // la variable "auxiliar" te servirá de bandera
        
echo "<b>".$row['campo']."</b><br>"// un formato particular
        
$auxiliar1// Para la próxima vuelta ya estará definida y no entrarás aquí
    
} else {
        echo 
$row['campo']."<br>"// un formato general
    
}

... solo una idea, puedes emplear esa "variable bandera" como un contador ó cualquier otra variante.

Espero te ayude.. suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 15/12/2005, 09:22
 
Fecha de Ingreso: enero-2002
Mensajes: 22
Antigüedad: 15 años, 10 meses
Puntos: 0
gracias jam1138

Bueno ya esta, gracias, me señalaste el camino. partiendo de lo que me indicaste, hice esto (asi el primer query me lanza la ultima noticia, y el segundo query me lanza las 3 penultimas noticias):

$noti1 = mysql_query("SELECT * from noticia order by artid DESC limit 1")
or die(mysql_error());

$i = 1;
while($row = mysql_fetch_array($noti1)) {
extract($row);

$id = $row["artid"];
$autor = $row["autor"];
$nombre = $row["titulo"];
$sinopsis = $row["sinopsis"];


echo "<table cellspacing=3 cellpadding=2>
<tr><td align=center>
<img src=fotos/$foto height=66></td><td align=center><a style='text-decoration: none' href=articulo.php?artid=$id>
<font color=#000000 face='Verdana' style='font-size: 9px'>$nombre </font></a></td></tr>

</table>";


$noti2= mysql_query("SELECT * from noticia order by artid DESC limit 1,3")
or die(mysql_error());

echo "<table><tr>";
$i = 1;
while($row = mysql_fetch_array($noti2)) {
extract($row);

$id = $row["artid"];
$autor = $row["autor"];
$nombre = $row["titulo"];
$sinopsis = $row["sinopsis"];
echo "<td width=3></td><td align=center><table cellspacing=0 cellpadding=0>
<tr><td align=center>
<img src=fotos/$foto height=44></td></tr>
<tr><td align=center><a style='text-decoration: none' href=articulo.php?artid=$id>
<font color=#000000 face='Verdana' style='font-size: 9px'>$nombre </font></a></td></tr>

</table>";

echo "</td><td background=graficoso/linea1.gif></td>";

if (is_int($i / 3))
echo "</tr>";

$i++;
}
echo "</table>";

?>
__________________
!!!!
() ()
-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:35.