Foros del Web » Programando para Internet » PHP »

marquesina con ultimos usuarios registados

Estas en el tema de marquesina con ultimos usuarios registados en el foro de PHP en Foros del Web. como puedo hacer para ke se muestren los ultimos usuarios ke se han registrado en mi pagina web ?, tengo este codigo: Código PHP: <? ...
  #1 (permalink)  
Antiguo 16/05/2005, 19:28
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
marquesina con ultimos usuarios registados

como puedo hacer para ke se muestren los ultimos usuarios ke se han registrado en mi pagina web ?, tengo este codigo:

Código PHP:
<?
session_start
();
function 
ver_ultimos()
{
include(
"config.php");
$num=0;
$query=mysql_query("SELECT nick FROM users WHERE fecha=NOW()");
$num=mysql_num_rows($query);
echo 
"Hoy se han registrado ".$num." usuarios:";

while(
$row=mysql_fetch_array($query))
{
echo 
'$row[nick].","';
}

mysql_free_result($query);

}

?>
y esta es la marquezina ke incluyo en todas las secciones de mi web

Código HTML:
<MARQUEE SCROLLDELAY=150><?php include("ultimosusers.php"); ver_ultimos();?></MARQUEE> 
pero cuando lo pruebo registrando un nick no actualiza, ke es lo ke esta mal ?

un saludo :)
  #2 (permalink)  
Antiguo 16/05/2005, 19:34
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Bueno este query:
$query=mysql_query("SELECT nick FROM users WHERE fecha=NOW()");
se lee como la cuenta que especificamente fue registrada con el formato datatime que devuelve NOW() lo cual sera imposible resivir resultados ya que ese formato datetime trae fecha , hora, minuto y segundo y no obtendras gente que concuerde exactamente a eso.

Lo que te propongo es que uses las funciones de mysql
DATE_ADD(NOW(),interval 1 HOUR) aqui dice que muestre los que se han registrados en un periodo de una hora o puedes poner los ultimos 3 dias o 1 dia
SATE_ADD(NOW(),interval 1 day)

entra aqui y ampliaras.
http://dev.mysql.com/doc/mysql/en/da...functions.html
  #3 (permalink)  
Antiguo 16/05/2005, 19:43
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
ok, vere eso, pero haber el campo de mi tabla es tipo date para ke solo coja la fecha, como haria en ese caso??
  #4 (permalink)  
Antiguo 16/05/2005, 20:22
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:
Iniciado por dwaks
Bueno este query:
$query=mysql_query("SELECT nick FROM users WHERE fecha=NOW()");
se lee como la cuenta que especificamente fue registrada con el formato datatime que devuelve NOW() lo cual sera imposible resivir resultados ya que ese formato datetime trae fecha , hora, minuto y segundo y no obtendras gente que concuerde exactamente a eso.
Claro que se puede!!!...
Funciones para tal caso:
YEAR(), MONTH(), DAY(), DAYOFMONTH(), DAYOFWEEK(), DATE_FORMAT() .. sí! Puedes hacer un date format extrayendo año, mes y día y compararlos...

Yo ocuparía las funciones LEFT() ó RIGTH(). y quedaría masomenos así:
Código:
SELECT campos FROM tabla WHERE LEFT(campo_datetime, 10)=CURDATE()
Lo que haríamos ahí es extraer los 10 carácteres de la izquierda de un campo DATETIME(), dichos carácteres serán año, mes y día (YYYY-MM-DD) y serán comparados con curdate en el mismo formato... .

No seguí el tema.. no sé en qué pueda servir esto... solo no me gustó la palabra "imposible".

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 17/05/2005, 08:35
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Bueno jam1138:
SELECT campos FROM tabla WHERE LEFT(campo_datetime, 10)=CURDATE()
eso es posible, ya que devolvera los resultados que concuerden con el dia de hoy.

ESTO:
$query=mysql_query("SELECT nick FROM users WHERE fecha=NOW()");
es imposible ya que se piden datos especificos de una fecha exacta con segundo y todo. Como era la consulta que el hacia preguntando que estaba mal, por eso le explique y le di la opcion de las funciones de mysql.
  #6 (permalink)  
Antiguo 17/05/2005, 16:04
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:
Iniciado por dwaks
ESTO:
$query=mysql_query("SELECT nick FROM users WHERE fecha=NOW()");
es imposible ya que se piden datos especificos de una fecha exacta con segundo y todo. Como era la consulta que el hacia preguntando que estaba mal, por eso le explique y le di la opcion de las funciones de mysql.
Eso es cierto y hasta cierto punto obvio... como dije, no sigo el tema, pero ¿qué es lo que se quiere comparar?? ¿qué datos se quieren recuperar??.... Al usar LEFT() se pueden extraer hasta los datos que se han hecho en "este minuto"...

Si la busqueda es de recuperar datos "hacia un tiempo atrás", ha de ocuparse DATE_SUB(NOW(), INTERVAL lapso TIEMPO)... DONDE "lapso" debe ser un número entero y TIEMPO será las unidades de "lapso". Las oopciones para "TIEMPO" pueden ser MINUTE, HOUR, DAY, MONHT, YEAR... la que me sé, ignoro si un SECOND será válido.. ó haya otras unidades más grandes.

Cita:
Iniciado por ZydRick
como puedo hacer para ke se muestren los ultimos usuarios ke se han registrado en mi pagina web ?,
Contestando concretamente a eso... supongo que se ha de referir hacia un "cierto número" de usuarios a recuperar... entonces ninguna de las dos opciones que mensiné antes serviria.. pués en un lapso de tiempo puede haber menos de los registros que se quieren recuperar.. así como puede haber ninguno. Entonces la opción para eso ería:
Código:
SELECT campos FROM tabla ORDER BY campo_fecha DESC LIMIT 0, 10
donde 10 serán los datos recuperados. Esta query trabaja así:
- Consulta todos los campos pedidos
- Los coloca en orden incverso, quedando el último al incio
- En ese orden se recuperar "n" (en el ejemplo 10) campos... que por "voltearlos" serán los últimos.


Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 07:58.