Foros del Web » Programando para Internet » PHP »

Traer datos de una tabla

Estas en el tema de Traer datos de una tabla en el foro de PHP en Foros del Web. Hola nuevamente muchachos, estoy modificando nuevamente un script, necesito que me imprima los datos que estoy pidiendo de la base de datos: Código PHP: <?php ...
  #1 (permalink)  
Antiguo 04/07/2011, 19:13
Avatar de luismarcos  
Fecha de Ingreso: mayo-2007
Ubicación: Mérida, VE
Mensajes: 48
Antigüedad: 17 años, 6 meses
Puntos: 1
Pregunta Traer datos de una tabla

Hola nuevamente muchachos, estoy modificando nuevamente un script, necesito que me imprima los datos que estoy pidiendo de la base de datos:
Código PHP:
<?php
$dbhost
='localhost'
$dbusername='root'
$dbuserpass='root'
$dbname='sistema'
$conexion=mysql_connect ($dbhost$dbuserpass$dbuserpass); 
mysql_select_db($dbname$conexion) or die('Error seleccionando la base de datos'); 
$cedula=$_POST['cedula']; 
$password=$_POST['password']; 
if (
$password==NULL) { 
echo 
"El password no fue enviado"
}else{ 
$query mysql_query("SELECT cedula,password FROM usuarios WHERE cedula = '$cedula'"$conexion) or die(mysql_error()); 
$data mysql_fetch_array($query); 
if(
$data['password'] != $password) { 
echo 
"Login incorrecto"
}else{ 
$query "SELECT cedula,nombre,apellido,email,telefono,email,m1,m2,m3,m4,m5 FROM usuarios WHERE cedula = '$cedula'"$conexion) or die(mysql_error());
$data mysql_fetch_array($query);
echo(
$data['nombre'];
}
}
En este caso pedí que me imprimiera el campo nombre, pero me gustaría imprimir todos los que están en la consulta al MySQL, no se que estoy haciendo mal...
¿Pueden ser las llaves? {}
  #2 (permalink)  
Antiguo 04/07/2011, 19:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Traer datos de una tabla

No. Lo que pasa es que no estás recorriendo el array, sino leyendo el primer registro del arrray devuelto por MySQL.
Busca en las FAQs de PHP, hay ejemplos claros de cómo se hace.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 04/07/2011, 19:30
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Traer datos de una tabla

Cita:
Iniciado por luismarcos Ver Mensaje
Hola nuevamente muchachos, estoy modificando nuevamente un script, necesito que me imprima los datos que estoy pidiendo de la base de datos:
Código PHP:
<?php
$dbhost
='localhost'
$dbusername='root'
$dbuserpass='root'
$dbname='sistema'
$conexion=mysql_connect ($dbhost$dbuserpass$dbuserpass); 
mysql_select_db($dbname$conexion) or die('Error seleccionando la base de datos'); 
$cedula=$_POST['cedula']; 
$password=$_POST['password']; 
if (
$password==NULL) { 
echo 
"El password no fue enviado"
}else{ 
$query mysql_query("SELECT cedula,password FROM usuarios WHERE cedula = '$cedula'"$conexion) or die(mysql_error()); 
$data mysql_fetch_array($query); 
if(
$data['password'] != $password) { 
echo 
"Login incorrecto"
}else{ 
$query "SELECT cedula,nombre,apellido,email,telefono,email,m1,m2,m3,m4,m5 FROM usuarios WHERE cedula = '$cedula'"$conexion) or die(mysql_error());
$data mysql_fetch_array($query);
echo(
$data['nombre'];
}
}
En este caso pedí que me imprimiera el campo nombre, pero me gustaría imprimir todos los que están en la consulta al MySQL, no se que estoy haciendo mal...
¿Pueden ser las llaves? {}
Hola, puedes imprimirlos con un while y un for
Código PHP:
$i=0;
while(
$data mysql_fetch_array($query))

for(
$i=0$i<=11;$i++){ 
echo 
$data[$i];
}

  #4 (permalink)  
Antiguo 04/07/2011, 19:52
Avatar de luismarcos  
Fecha de Ingreso: mayo-2007
Ubicación: Mérida, VE
Mensajes: 48
Antigüedad: 17 años, 6 meses
Puntos: 1
Pregunta Respuesta: Traer datos de una tabla

Tome un ejemplo de [URL="http://www.forosdelweb.com/wiki/Manual_de_PHP:_MySQL#Realizar_consultas"]aqui[/URL], pero al parecer sigue habiendo algo mal ya que me sigue dando la pantalla en blanco, porque no me saca siquiera error y me dice en que linea esta el problema? Cuando uno piensa que script está correcto aparece algo más. Me gusto mucho la cita de tu firma gnzsoloyo!
Nuevo Script:
Código PHP:
<?php
$dbhost
='localhost'
$dbusername='root'
$dbuserpass='root'
$dbname='sistema'
$conexion=mysql_connect ($dbhost$dbuserpass$dbuserpass); 
mysql_select_db($dbname$conexion) or die('Error seleccionando la base de datos'); 
$cedula=$_POST['cedula']; 
$password=$_POST['password']; 
if (
$password==NULL) { 
echo 
"El password no fue enviado"
}
else

$query mysql_query("SELECT cedula,password FROM usuarios WHERE cedula = '$cedula'"$conexion) or die(mysql_error()); 
$data mysql_fetch_array($query); 
if(
$data['password'] != $password)

echo 
"Login incorrecto"
}
else
    { 
$consulta "SELECT cedula,nombre,apellido,email,telefono,email,m1,m2,m3,m4,m5 FROM usuarios WHERE cedula = '$cedula'"$conexion) or die(mysql_error());
$datos mysql_fetch_array($consulta);
echo 
mysql_result($datos0'nombre');
}
}
  #5 (permalink)  
Antiguo 04/07/2011, 19:59
Avatar de luismarcos  
Fecha de Ingreso: mayo-2007
Ubicación: Mérida, VE
Mensajes: 48
Antigüedad: 17 años, 6 meses
Puntos: 1
Pregunta Respuesta: Traer datos de una tabla

Cita:
Iniciado por ignacio350 Ver Mensaje
Hola, puedes imprimirlos con un while y un for
Código PHP:
$i=0;
while(
$data mysql_fetch_array($query))

for(
$i=0$i<=11;$i++){ 
echo 
$data[$i];
}

Gracias Ignacio!, Acabo de intentar y nada, creo que hay otro error en el script, sigo buscando a ver si lo hallo, tendré en cuenta tu recomendación.
  #6 (permalink)  
Antiguo 04/07/2011, 20:18
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Traer datos de una tabla

Cita:
Iniciado por luismarcos Ver Mensaje
Gracias Ignacio!, Acabo de intentar y nada, creo que hay otro error en el script, sigo buscando a ver si lo hallo, tendré en cuenta tu recomendación.
Luego de releer tu codigo me fije de un detalle aqui te dejo el codigo
Código PHP:
<?php
$dbhost
='localhost'
$dbusername='root'
$dbuserpass='root'
$dbname='sistema'
$conexion=mysql_connect ($dbhost$dbuserpass$dbuserpass); 
mysql_select_db($dbname$conexion) or die('Error seleccionando la base de datos'); 
$cedula=$_POST['cedula']; 
$password=$_POST['password']; 
if (
$password==NULL) { 
echo 
"El password no fue enviado"
}else{ 
$query mysql_query("SELECT cedula,password FROM usuarios WHERE cedula = '$cedula'"$conexion) or die(mysql_error()); 
$data mysql_fetch_array($query); 
if(
$data['password'] != $password) { 
echo 
"Login incorrecto"
}else{ 
$query "SELECT cedula,nombre,apellido,email,telefono,email,m1,m2,m3,m4,m5 FROM usuarios WHERE cedula = '$cedula'"
$consulta=mysql_query($query); // Faltaba Esto 
$data mysql_fetch_array($consulta);
$i=0
while(
$data mysql_fetch_array($consulta)) 
{  
for(
$i=0$i<=11;$i++){  
echo 
$data[$i]; 

}  
}
}
No estabas procesando la consulta. Ahi te deberia correr. Salu2s.
  #7 (permalink)  
Antiguo 04/07/2011, 20:25
Avatar de luismarcos  
Fecha de Ingreso: mayo-2007
Ubicación: Mérida, VE
Mensajes: 48
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Traer datos de una tabla

Nada, está más complicado de lo que pensé, sigo leyendo tutos, si resuelvo, pongo el script aquí para que alguien más resuelva, estoy impresionado de cuanta gente de Venezuela hay aquí! donde aprendieron de PHP?
  #8 (permalink)  
Antiguo 04/07/2011, 20:31
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Traer datos de una tabla

Cita:
Iniciado por luismarcos Ver Mensaje
Nada, está más complicado de lo que pensé, sigo leyendo tutos, si resuelvo, pongo el script aquí para que alguien más resuelva, estoy impresionado de cuanta gente de Venezuela hay aquí! donde aprendieron de PHP?
Bueno antes has lo siguiente has un echo de la ultima consulta es decir
Código PHP:
$query="SELECT cedula,nombre,apellido,email,telefono,email,m1,m2,m3,m4,m5 FROM usuarios WHERE cedula = '$cedula'"
echo $query
Coje los datos que te imprimira y procesalos con la consola o sino tamb te recomiendo un manejador de base de datos muy bueno WorkBench.

Esto es para descartar que estes recibiendo los valores correctos.

Yo no es que sepa mucho, estoy estudiando Ing de Sistemas y ya he visto lenguaje C/C++, con esto tengo como la base.
  #9 (permalink)  
Antiguo 04/07/2011, 21:16
Avatar de luismarcos  
Fecha de Ingreso: mayo-2007
Ubicación: Mérida, VE
Mensajes: 48
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Traer datos de una tabla

Gracias por la idea! lo resolví:
Código PHP:
<?php 
$conexion
=mysql_connect ('localhost','root','root');  
mysql_select_db('sistema'$conexion) or die('Error seleccionando la base de datos');  
$username=$_POST['cedula']; 
$password=$_POST['password']; 
if (
$password==NULL)

echo 
"El password no fue enviado"
}
else

$query mysql_query("SELECT cedula,password FROM usuarios WHERE cedula = '$cedula'") or die(mysql_error()); 
$data mysql_fetch_array($query); 
$contra $data['password'];
if(
$contra != $password)

echo 
"Login incorrecto"
}
else
{  
$consulta=mysql_query("SELECT cedula,nombre,apellido,email,telefono,email,m1,m2,m3,m4,m5 FROM usuarios WHERE cedula = '$cedula'") or die(mysql_error());
while(
$fila mysql_fetch_assoc($consulta))
{
echo 
'Su nombre es:' $fila['nombre'] . $fila['apellido']. ' escrito por ' $fila['nombre'] . ' ( ' $fila['email'] . ') es spam<br>';
}

}
?>
Jajajajajaja el problema es que me dice que el password está siempre mal y estoy 100% seguro de que está bien
  #10 (permalink)  
Antiguo 04/07/2011, 21:29
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Traer datos de una tabla

Cita:
Iniciado por luismarcos Ver Mensaje
Gracias por la idea! lo resolví:
Código PHP:
<?php 
$conexion
=mysql_connect ('localhost','root','root');  
mysql_select_db('sistema'$conexion) or die('Error seleccionando la base de datos');  
$username=$_POST['cedula']; 
$password=$_POST['password']; 
if (
$password==NULL)

echo 
"El password no fue enviado"
}
else

$query mysql_query("SELECT cedula,password FROM usuarios WHERE cedula = '$cedula'") or die(mysql_error()); 
$data mysql_fetch_array($query); 
$contra $data['password'];
if(
$contra != $password)

echo 
"Login incorrecto"
}
else
{  
$consulta=mysql_query("SELECT cedula,nombre,apellido,email,telefono,email,m1,m2,m3,m4,m5 FROM usuarios WHERE cedula = '$cedula'") or die(mysql_error());
while(
$fila mysql_fetch_assoc($consulta))
{
echo 
'Su nombre es:' $fila['nombre'] . $fila['apellido']. ' escrito por ' $fila['nombre'] . ' ( ' $fila['email'] . ') es spam<br>';
}

}
?>
Jajajajajaja el problema es que me dice que el password está siempre mal y estoy 100% seguro de que está bien
Jejeje, no nos podiamos rendir tan facil. Puedes poner el codigo como insertas a los usuarios? asi podemos ver porque dice que esta mal.
  #11 (permalink)  
Antiguo 04/07/2011, 21:35
Avatar de luismarcos  
Fecha de Ingreso: mayo-2007
Ubicación: Mérida, VE
Mensajes: 48
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Traer datos de una tabla

Este es el codigo:
Código PHP:
<?
$dbhost
='localhost'
$dbusername='root'
$dbuserpass='root'
$dbname='sistema'
mysql_connect ($dbhost$dbusername$dbuserpass); 
mysql_select_db($dbname) or die("No se puede seleccionar la base de datos"); 
if (isset(
$_POST["cedula"])) { 
$cedula $_POST["cedula"];
$nombre $_POST["nombre"]; 
$apellido $_POST["apellido"]; 
$password $_POST["password"]; 
$cpassword $_POST["cpassword"]; 
$email $_POST["email"]; 
$telefono $_POST["telefono"]; 
$m1 $_POST["m1"]; 
$m2 $_POST["m2"]; 
$m3 $_POST["m3"]; 
$m4 $_POST["m4"]; 
$m5 $_POST["m5"]; 
$obs $_POST["obs"]; 
if(
$cedula==NULL|$nombre==NULL|$apellido==NULL|$password==NULL|$cpassword==NULL|$email==NULL|$telefono==NULL|$m1==NULL|$m2==NULL|$m3==NULL|$m4==NULL|$m5==NULL) { 
echo 
"Uno de los campos obligatorios est&aacute; vac&iacute;o."
}else{ 
if(
$password!=$cpassword) { 
echo 
"Las contrase&ntilde;as no coinciden"
}else{ 
$checkuser mysql_query("SELECT cedula FROM usuarios WHERE cedula='$cedula'"); 
$username_exist mysql_num_rows($checkuser); 

$checkemail mysql_query("SELECT email FROM usuarios WHERE email='$email'"); 
$email_exist mysql_num_rows($checkemail); 

if (
$email_exist>0|$username_exist>0) { 
echo 
"EL n&uacute;mero de cedula o la cuenta de correo estan ya en uso"
}else{ 
$query "INSERT INTO usuarios (cedula, nombre, apellido, password, email, telefono, m1, m2, m3, m4, m5, obs) VALUES('$cedula','$nombre','$apellido','$password','$email','$telefono','$m1','$m2','$m3','$m4','$m5','$obs')"
mysql_query($query) or die(mysql_error()); 
echo 
"El usuario con cedula $cedula bajo el nombre $nombre $apellido ha sido registrado en el sistema de manera satisfactoria."



}
?>
Estoy casi seguro de que no es, ya que cuando reviso la tabla desde PHP My Admin copio la cedula y el password pa no pelarme
  #12 (permalink)  
Antiguo 04/07/2011, 22:13
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Traer datos de una tabla

Cita:
Iniciado por luismarcos Ver Mensaje
Este es el codigo:
Código PHP:
<?
$dbhost
='localhost'
$dbusername='root'
$dbuserpass='root'
$dbname='sistema'
mysql_connect ($dbhost$dbusername$dbuserpass); 
mysql_select_db($dbname) or die("No se puede seleccionar la base de datos"); 
if (isset(
$_POST["cedula"])) { 
$cedula $_POST["cedula"];
$nombre $_POST["nombre"]; 
$apellido $_POST["apellido"]; 
$password $_POST["password"]; 
$cpassword $_POST["cpassword"]; 
$email $_POST["email"]; 
$telefono $_POST["telefono"]; 
$m1 $_POST["m1"]; 
$m2 $_POST["m2"]; 
$m3 $_POST["m3"]; 
$m4 $_POST["m4"]; 
$m5 $_POST["m5"]; 
$obs $_POST["obs"]; 
if(
$cedula==NULL|$nombre==NULL|$apellido==NULL|$password==NULL|$cpassword==NULL|$email==NULL|$telefono==NULL|$m1==NULL|$m2==NULL|$m3==NULL|$m4==NULL|$m5==NULL) { 
echo 
"Uno de los campos obligatorios est&aacute; vac&iacute;o."
}else{ 
if(
$password!=$cpassword) { 
echo 
"Las contrase&ntilde;as no coinciden"
}else{ 
$checkuser mysql_query("SELECT cedula FROM usuarios WHERE cedula='$cedula'"); 
$username_exist mysql_num_rows($checkuser); 

$checkemail mysql_query("SELECT email FROM usuarios WHERE email='$email'"); 
$email_exist mysql_num_rows($checkemail); 

if (
$email_exist>0|$username_exist>0) { 
echo 
"EL n&uacute;mero de cedula o la cuenta de correo estan ya en uso"
}else{ 
$query "INSERT INTO usuarios (cedula, nombre, apellido, password, email, telefono, m1, m2, m3, m4, m5, obs) VALUES('$cedula','$nombre','$apellido','$password','$email','$telefono','$m1','$m2','$m3','$m4','$m5','$obs')"
mysql_query($query) or die(mysql_error()); 
echo 
"El usuario con cedula $cedula bajo el nombre $nombre $apellido ha sido registrado en el sistema de manera satisfactoria."



}
?>
Estoy casi seguro de que no es, ya que cuando reviso la tabla desde PHP My Admin copio la cedula y el password pa no pelarme
Te lo pedi solo para revisar que no hayas encriptado la clave y se te haya olvidado esa partesita :D. Revisare el codigo de nuevo.
  #13 (permalink)  
Antiguo 05/07/2011, 13:21
Avatar de luismarcos  
Fecha de Ingreso: mayo-2007
Ubicación: Mérida, VE
Mensajes: 48
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Traer datos de una tabla

Nada, todavía. Pudiste ver alguna falla Ignacio?
  #14 (permalink)  
Antiguo 05/07/2011, 20:38
 
Fecha de Ingreso: junio-2011
Ubicación: Ccs
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Traer datos de una tabla

Cita:
Iniciado por luismarcos Ver Mensaje
Nada, todavía. Pudiste ver alguna falla Ignacio?
No man, no he visto nada raro. :( cuando tengo un poquito de tiempo la reviso de nuevo estoy un poco ocupado con mi proyecto :D

Etiquetas: echo, mysql, tabla
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:22.