Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con bucles y base de datos

Estas en el tema de Problema con bucles y base de datos en el foro de PHP en Foros del Web. Hola muy buen dia a todos, este es la primera vez que posteo algo, debido a que apenas estoy iniciando en todo lo de la ...
  #1 (permalink)  
Antiguo 09/11/2012, 13:36
 
Fecha de Ingreso: noviembre-2012
Ubicación: Puerto Vallarta
Mensajes: 16
Antigüedad: 12 años
Puntos: 0
Problema con bucles y base de datos

Hola muy buen dia a todos, este es la primera vez que posteo algo, debido a que apenas estoy iniciando en todo lo de la programacion, solo que me salió una duda, algo que hasta podria ser absurda, pero no le encuentro manera de realizar;

Tengo una base de datos con nombre usuario, email y password, lo normal, pero necesito por medio de un bucle que me muestre x Cantidad de los ultimos usuarios registrados.

Obviamente no busco el codigo ya en bandeja, solo queria ver si alguien podria indicarme por donde buscar y como realizarlo, muchas gracias!
  #2 (permalink)  
Antiguo 09/11/2012, 13:44
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años, 6 meses
Puntos: 38
Respuesta: Problema con bucles y base de datos

Código PHP:
$sql mysql_query("
   SELECT usuario 
   FROM usuario
   ORDER BY id DESC
   LIMIT X -- donde X es la cantidad ke kieres limitar tus registros
"
$conn);

if ( 
mysql_num_rows($sql) > )
{
   while ( 
$row mysql_fetch_assoc($sql))
   {
      echo 
$row['usuario'] . '<br />';
   }

  #3 (permalink)  
Antiguo 12/11/2012, 10:58
 
Fecha de Ingreso: noviembre-2012
Ubicación: Puerto Vallarta
Mensajes: 16
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema con bucles y base de datos

Hola, disculpa por tantas molestias, probe el codigo, cambiando por los nombres de mis tablas, queda así:

Cita:
<?php
$sql = mysql_query("
SELECT idUsuario
FROM users
ORDER BY id DESC LIMIT 5", $conn);

if ( mysql_num_rows($sql) > 5 )
{
while ( $row = mysql_fetch_assoc($sql))
{
echo $row['idUsuario'] . '<br />';
}
}

?>
El nombre de mi base de datos es database, y mi tabla es users, mientras que el usuario, que quiero que muestre es idUsuario, sin embargo, me sigue saliendo error, intente modificar los parametros, pero sigue sin salirme D:
  #4 (permalink)  
Antiguo 12/11/2012, 11:14
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años, 6 meses
Puntos: 38
Respuesta: Problema con bucles y base de datos

en la variable $conn tienes tu coneccion cierto ?? en donde selecionas la base de datos database

en tu tabla users tienes un campo ke se llame id ?? Si no cambia esta linea

ORDER BY id DESC LIMIT 5", $conn);

Por

ORDER BY idUsuario DESC LIMIT 5", $conn);

if ( mysql_num_rows($sql) > 5 )

porke preguntas mas de 5 ?? y si hay solamente 3 no kieres mostrarlo ?? en caso ke tu repsuesta sea afirmatavia y kiereas mostrarlo aunke sea solo 1 valor cambia esta linea

if ( mysql_num_rows($sql) > 5 )

Por

if ( mysql_num_rows($sql) > 0 )

por lo demas tienes ke funcionarte al no ser ke tengas probmeas en la conecion de tu base de datos.
  #5 (permalink)  
Antiguo 12/11/2012, 12:16
 
Fecha de Ingreso: noviembre-2012
Ubicación: Puerto Vallarta
Mensajes: 16
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema con bucles y base de datos

Pues ya probe con los datos, si fue error respecto lo que queria mostrar, y tengo mi $conn la tengo deifnida, ya no me da error, pero no me tira nada D:, asi es como quedó:
Cita:
Código PHP:
Ver original
  1. <?php include('db.php'); ?>
  2.       <?php
  3.      
  4.           $conn = mysql_connect("mysql16.000webhost.com","a4470942_user","elpassword","a4470942_alta") or die("Error en la conexión con el Servidor.");
  5.       $sql = mysql_query("
  6.        SELECT idUsuario
  7.        FROM users
  8.        ORDER BY idUsuario DESC LIMIT 5", $conn);
  9.  
  10. if ( @mysql_num_rows($sql) > 0 )
  11. {
  12.    while ( $row = mysql_fetch_assoc($sql))
  13.    {
  14.       echo $row['idusuario'] . '<br />';
  15.    }
  16. }  
  17.  
  18. ?>
Estuve buscando en los post ya creados, y mencionaron que se necesitaba agregar el @ antes del mysql_num_rows, y me dejo de tirar error con eso, pero como menciono, no muestra nada, sera error al conectar con labase de datos? muchas gracias por la ayuda y perdon si soy muy redundante
  #6 (permalink)  
Antiguo 12/11/2012, 12:23
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: Problema con bucles y base de datos

http://php.net/manual/en/function.mysql-select-db.php
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #7 (permalink)  
Antiguo 12/11/2012, 13:03
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años, 6 meses
Puntos: 38
Respuesta: Problema con bucles y base de datos

lo ke haces con la @ es ocultar si ahi algun error en la linea donde la colocas, en produccin puede ke tenga algun sentido, pero en entornos de developer no tiene para nada sentido ke la uses, te recomiendo ke la kites hasta ke tu codigo este correctamente y luego si deseas usarla la colokes de nuevo, pero por ahora es conveniente ver si hay algun error

ke tienes en el script db.php ke incluyes ??

intenta esto
Código PHP:

function connect()
{
   
$conn mysql_connect'mysql16.000webhost.com''a4470942_user''elpassword' );
   
mysql_query("SET NAMES 'utf8'");
   
   if ( !
$conn )
   {
      return 
false;
   }

   if ( !
mysql_select_db'database' ) )
   {
      return 
false;
   }

   return 
$conn;
}   

$conn connect();

$sql mysql_query("
       SELECT idUsuario 
       FROM users
       ORDER BY idUsuario DESC LIMIT 5"
$conn);

if ( 
mysql_num_rows$sql ) > )
{
   while ( 
$row mysql_fetch_assoc$sql ) )
   {
      echo 
$row['idUsuario'] . '<br />';
   }

  #8 (permalink)  
Antiguo 12/11/2012, 15:01
 
Fecha de Ingreso: noviembre-2012
Ubicación: Puerto Vallarta
Mensajes: 16
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema con bucles y base de datos

Vaya, por fin he podido, hice algunas alteraciones al codigo y me quedó de esta manera:

Cita:
Código PHP:
Ver original
  1. <?php
  2.  
  3. $dbhost='mysql16.000webhost.com';
  4. $dbusername='a4470942_user';
  5. $dbuserpass='password';
  6. $dbname='a4470942_alta';
  7.  
  8.  
  9. mysql_connect("mysql16.000webhost.com","a4470942_user","password") or die(mysql_error());
  10. mysql_select_db("a4470942_alta" ) or die(mysql_error());
  11.  
  12.  
  13.  
  14.  
  15. $sql = mysql_query("
  16.       SELECT username
  17.       FROM users
  18.       ORDER BY idUsuario DESC LIMIT 5");
  19.        
  20.        
  21.  
  22. if ( mysql_num_rows( $sql ) > 0 )
  23. {
  24.    while ( $row = mysql_fetch_assoc( $sql ) )
  25.    {
  26.       echo   $row['username'] . '<br />';
  27.    }
  28.    
  29.  
  30. }  
  31.  
  32. ?>

Me estaba dando problemillas lo de la variable $conn, lo mas seguro es que no la se aplicar bien, de cualquier manera mil gracias, se que probablemente esto sea muy basico, pero para mi fue como una montaña a escalar, gracias!
  #9 (permalink)  
Antiguo 12/11/2012, 15:15
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años, 6 meses
Puntos: 38
Respuesta: Problema con bucles y base de datos

la idea es ke puedas escalar la montanna pero para eso solo debes poner en practicas lo ke estudias.

un consejo para ke guardas en variables el host user y password de la base de datos si no las usas, eso esta de mas en tu codigo.

$dbhost='mysql16.000webhost.com';
$dbusername='a4470942_user';
$dbuserpass='password';
$dbname='a4470942_alta';

borralo si no vas a usar las variables en tu mysql_connect

Etiquetas: bucles, usuarios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:38.