Foros del Web » Programando para Internet » PHP »

Arrays y base de datos

Estas en el tema de Arrays y base de datos en el foro de PHP en Foros del Web. Hola comunidad sigo intentando aprender PHP, hoy quise hacer un script que jalará datos de una base datos para posteriormente publicarlos, por así decirlo ver ...
  #1 (permalink)  
Antiguo 23/09/2010, 21:56
Avatar de BaByRoDrI  
Fecha de Ingreso: julio-2009
Ubicación: Mexico
Mensajes: 60
Antigüedad: 14 años, 9 meses
Puntos: 1
Pregunta Arrays y base de datos

Hola comunidad sigo intentando aprender PHP, hoy quise hacer un script que jalará datos de una base datos para posteriormente publicarlos, por así decirlo ver la información de un usuario registrado en la web, por lo que hice el archivo perfil.php con el siguiente código:

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_GET['id']) AND $_GET['id'] != "'") {
  4.  
  5. ver_perfil();
  6.  
  7. }
  8.  
  9. function ver_perfil() {
  10.  
  11.     include("3li.inc"); //Aqui incluyo la configuracion de la BD
  12.  
  13.     $id = mysql_real_escape_string($_GET['id'], $conexion);
  14.     $sql = mysql_query("SELECT nom, edad, gustos, mail FROM usuarios WHERE id='{$id}'");
  15.  
  16. $datos=array();
  17.  
  18. while($v = mysql_fetch_object($sql)){
  19.     $datos[] = array(
  20.         'nombre'=>$v->nom,
  21.         'edad'=>$v->edad,
  22.         'gustis'=>$v->gustos,
  23.         'mail'=>$v->mail
  24.         );
  25.     }
  26.  
  27. echo "El es: ".$datos["nombre"]." de ".$datos["edad"]." le gusta: ".$datos["gustos"]." y su correo es: ".$datos["mail"];
  28.  
  29. }
  30.  
  31. ?>

El problema es que no me devuelve nada :S que estoy haciendo mal :S ?
  #2 (permalink)  
Antiguo 23/09/2010, 22:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Arrays y base de datos

¿te sale algún mensaje de error o nada?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/09/2010, 22:16
Avatar de BaByRoDrI  
Fecha de Ingreso: julio-2009
Ubicación: Mexico
Mensajes: 60
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Arrays y base de datos

Ningún errror, solamente no imprime...
  #4 (permalink)  
Antiguo 23/09/2010, 22:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Arrays y base de datos

¿sabes depurar código linea por linea?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/09/2010, 22:26
Avatar de BaByRoDrI  
Fecha de Ingreso: julio-2009
Ubicación: Mexico
Mensajes: 60
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Arrays y base de datos

Cita:
Iniciado por pateketrueke Ver Mensaje
¿sabes depurar código linea por linea?
No :S apenas ando aprendiendo :(
  #6 (permalink)  
Antiguo 23/09/2010, 22:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Arrays y base de datos

bueno, se le puede decir depurar a imprimir alguna instrucción mostrando información del curso de ejecución del script...

Código PHP:
echo 'inicio';

if (
/* algo */)
{
  echo 
'entramos';

etc, etc... bueno, la técnica radica en comprobar por medio de impresiones, o die() cualquier parte del código... si se muestra, quiere decir que se ejecuta hasta dicha linea, y eventualmente podría dejar de funcionar....

justo ahí es donde debes poner énfasis... ¿si se entiende?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 23/09/2010, 22:39
Avatar de BaByRoDrI  
Fecha de Ingreso: julio-2009
Ubicación: Mexico
Mensajes: 60
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Arrays y base de datos

A lo que te entiendo algo así:

Código PHP:
Ver original
  1. $id = mysql_real_escape_string($_GET['id'], $conexion) or die("Error en linea 17");
  #8 (permalink)  
Antiguo 23/09/2010, 22:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Arrays y base de datos

Cita:
Iniciado por BaByRoDrI Ver Mensaje
A lo que te entiendo algo así:

Código PHP:
Ver original
  1. $id = mysql_real_escape_string($_GET['id'], $conexion) or die("Error en linea 17");
bueno, eso puede servir... sin embargo la idea es esta:
Código PHP:
<?php 
 
echo 'inicio<br />';
if(isset(
$_GET['id']) AND $_GET['id'] != "'") {
  echo 
'hay GET<br />';
ver_perfil();
 
}
 
function 
ver_perfil() {
  echo 
'perfil<br />';
    include(
"3li.inc"); //Aqui incluyo la configuracion de la BD
 
    
$id mysql_real_escape_string($_GET['id'], $conexion);
    
$sql mysql_query("SELECT nom, edad, gustos, mail FROM usuarios WHERE id='{$id}'");
  echo 
'posible error de mysql: ' mysql_error() . '<br />';
$datos=array();
  echo 
'antes del while<br />';
while(
$v mysql_fetch_object($sql)){
 echo 
'dentro del while<br />';    
$datos[] = array(
        
'nombre'=>$v->nom,
        
'edad'=>$v->edad,
        
'gustis'=>$v->gustos,
        
'mail'=>$v->mail
        
);
    }

 echo 
'datos:<br />';
print_r($datos); 
echo 
"El es: ".$datos["nombre"]." de ".$datos["edad"]." le gusta: ".$datos["gustos"]." y su correo es: ".$datos["mail"];
 
}
  echo 
'fin<br />';
?>
¿en que parte se queda?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 23/09/2010, 23:38
Avatar de BaByRoDrI  
Fecha de Ingreso: julio-2009
Ubicación: Mexico
Mensajes: 60
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Arrays y base de datos

Ok, ejecutandolo así salio:

inicio
perfil
posible error de mysql:
antes del while
dentro del while
datos:
Array ( [0] => Array ( [nombre] => Rodrigo [edad] => 17 [gustos] => computacion [mail] => [email protected]) ) El es: de le gusta: y su correo es: .hay GET
fin

Última edición por BaByRoDrI; 23/09/2010 a las 23:43
  #10 (permalink)  
Antiguo 23/09/2010, 23:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Arrays y base de datos

bueno, si lo piensas... dentro del while estas creando un arreglo de dos dimensiones....

y es por eso que no obtienes los datos como imaginabas...
Código PHP:
// MAL
#
$datos[] = array(
        
'nombre'=>$v->nom,
        
'edad'=>$v->edad,
        
'gustis'=>$v->gustos,
        
'mail'=>$v->mail
        
);

// BIEN
$datos = array(
        
'nombre'=>$v->nom,
        
'edad'=>$v->edad,
        
'gustis'=>$v->gustos,
        
'mail'=>$v->mail
        
); 
(:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: arrays
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 04:11.