Foros del Web » Programando para Internet » PHP »

Obtener el ultimo dato y el resto en otra tabla

Estas en el tema de Obtener el ultimo dato y el resto en otra tabla en el foro de PHP en Foros del Web. Hola que tal, Bueno tengo una tabla llamada Noticias su estructura es: Código PHP: CREATE TABLE  ` noticias ` (   ` id `  int ( 11 )  ...
  #1 (permalink)  
Antiguo 06/05/2005, 16:36
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 16 años, 1 mes
Puntos: 0
Obtener el ultimo dato y el resto en otra tabla

Hola que tal,
Bueno tengo una tabla llamada Noticias su estructura es:

Código PHP:
CREATE TABLE `noticias` (
  `
idint(11NOT NULL auto_increment,
  `
categoriavarchar(250NOT NULL default '',
  `
titulovarchar(250NOT NULL default '',
  `
introducciontext NOT NULL,
  `
lqsavarchar(250NOT NULL default '',
  `
noticiatext NOT NULL,
  `
fechavarchar(250NOT NULL default '',
  
PRIMARY KEY  (`id`)
TYPE=MyISAM AUTO_INCREMENT=0

Ok, dentro de ella tengo una cantidad X de noticias pero deseo hacer un llamado no normal a la base de datos ya que deseo obtener el ultimo ingreso junto a los demas pero ordenarlos asi

Ultimo Ingreso
NOTICIA DESTACADA

Resto
1.-
2.-
3..
.....


Mi idea es obtener el ultimo ingreso y ponerlo como destacado y luego bajo ese el resto de las noticias pero solamente mostrar el titulo...
Si hago un query normal me mostraria todas iguales y no me permitiria mostrar el ultimo como destacado...

Espero explicarme bien muchas gracias....
__________________
ChilenoCesar Looking for something new...
  #2 (permalink)  
Antiguo 06/05/2005, 17:10
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Para el ultimo ingreso usa el sql:

Select * from noticias order by id desc limit 0,1

Saludos,

Última edición por dwaks; 07/05/2005 a las 14:27
  #3 (permalink)  
Antiguo 06/05/2005, 17:34
 
Fecha de Ingreso: diciembre-2004
Mensajes: 128
Antigüedad: 13 años
Puntos: 0
Me quedan dudas, pero para los demas haria:
$consulta=("Select * from noticias");
$cant_resto=mysql_num_rows($consulta) - 1; //descuento la noticia destacada
$Cons_resto=("Select * from noticias order by id desc limit 1,$cant_resto");
  #4 (permalink)  
Antiguo 06/05/2005, 17:37
 
Fecha de Ingreso: diciembre-2004
Mensajes: 128
Antigüedad: 13 años
Puntos: 0
perdon, no se puede descontar, ya que no me mostraria el primer registro.
Rearmo la respuesta:
$cant_resto=mysql_num_rows($consulta);
$cons_resto=("Select * from noticias order by id desc limit 1,$cant_resto"); aca si no muestro el primer registro.
  #5 (permalink)  
Antiguo 06/05/2005, 17:39
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Cita:
Iniciado por matigro
Me quedan dudas, pero para los demas haria:
$consulta=("Select * from noticias");
$cant_resto=mysql_num_rows($consulta) - 1; //descuento la noticia destacada
$Cons_resto=("Select * from noticias order by id desc limit 1,$cant_resto");
Ya que la consulta anterior te dio el id de la ultima noticia puedes poner que te muestre todos menos esa noticia:
$consulta=("Select * from noticias where id <> $idnoticia_ultima");

Saludos,

Última edición por dwaks; 07/05/2005 a las 14:26
  #6 (permalink)  
Antiguo 06/05/2005, 18:06
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 12 años, 8 meses
Puntos: 2
Hola

necesitas un campo donde te guarda los accesos, y basado en ese campo haces un orderSeq, y realmente los conceptos los estas manejando masl:

Destacada = Una noticia que tu quieres que aparezca primero que otra, esto lo logras con un campo como "Orden"

Mas Visitada = La noticia que mas personas han visto, lo logras por un campo como "ContadorVisitas"

Mas nuevas = El campo fecha que tienes ya.

Ultima vez que se leyo = Cual visita fue la ultima que se leyo, esto lo logras por otro campo como "UltimaFechaAcceso"

Entonces, bueno, si quieres poder manejar esos casos realmente tienes que cambiar mucha la estructura de tus tablas.

Suerte!!
  #7 (permalink)  
Antiguo 06/05/2005, 20:19
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 16 años, 1 mes
Puntos: 0
http://www.vamoschile.com/archivo.php?IDS=7

En esa url pueden ver un poco lo que deseo hacer...
__________________
ChilenoCesar Looking for something new...
  #8 (permalink)  
Antiguo 07/05/2005, 05:43
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
Pues como q dwaks te dio la respuesta, en el primer query sacas el último ID, este lo metes en la variables q quieras (por ej.: $ultimaid = $row['id']), luego realizas el segundo query para mostrar solo el título de las demás consultas
Código PHP:
mysql_db_query($conexion'SELECT id,titulo FROM noticias WHERE id <> '.$ultimaid.'') or die(mysql_error()); 
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #9 (permalink)  
Antiguo 07/05/2005, 14:17
 
Fecha de Ingreso: diciembre-2004
Mensajes: 128
Antigüedad: 13 años
Puntos: 0
Es que ya tienes todo para hacerlo:
-Tienes como sacar la ultima noticia ingresada.
-Como obtener las demas noticias
-Como mostrar la mas leida
-Como mostrar otro tipo de noticias.
Lo que te mostramos es como hacer las consultas, lo que te queda es armar en la pagina e ir mostrando, con el formato que tu quieras las distintas noticias, por ejemplo: Para mostrar la ultima noticia ingresada:
Supongamos que usas el id, entonces:
$cons_destacada=mysql_query("Select * from noticias order by id desc limit 0,1");
print ($cons_desdtacada['titulo']);
lo que tendrias que hacer es ponerla en un link para que cuando pinchen muestre la noticia completa, y se pueda, por ejemplo contar la cantidad de veces que se clickeo en esa noticia.
  #10 (permalink)  
Antiguo 07/05/2005, 16:23
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 16 años, 1 mes
Puntos: 0
Ok tengo el código asi:

$sql = mysql_query("SELECT * FROM noticias");
$cuantos = mysql_num_rows($sql);

$cons_resto=("Select * from noticias order by id desc limit 1,$cuantos");

Cual seria la correcta forma de hacer la llama por ejemplo al titulo de la ultima noticia ya que intente varias formas y no me mostró nada

Saludos.
__________________
ChilenoCesar Looking for something new...
  #11 (permalink)  
Antiguo 07/05/2005, 19:12
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
Código PHP:
$cons_resto=($conexion,'SELECT * FROM noticias ORDER BY id DESC LIMIT 1') or die(mysql_error()); 
__________________
Dios dira que esto no es justo, pero lo sera...
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 08:22.