Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error al mostrar datos de un arreglo php

Estas en el tema de Error al mostrar datos de un arreglo php en el foro de PHP en Foros del Web. Buenas tardes! Estoy tratando de mostrar los datos de un array, lo intente de esta forma pero nada: Código PHP: < li > < label  ...
  #1 (permalink)  
Antiguo 27/01/2015, 14:01
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Error al mostrar datos de un arreglo php

Buenas tardes! Estoy tratando de mostrar los datos de un array, lo intente de esta forma pero nada:
Código PHP:
<li>
<
label for="nombre_txt">Nombres:</label>
 <
input type="text" id="nombre_txt" name="nombre_txt" value='.$datos['Nombre'].'>//aqui me da error
 
<label class="error" for="nombre_txt" style="display: none;">El campo es obligatorio.</label>
</
li
el error me sale esto:
Código:
Notice: Undefined index: Nombre in C:\xampp\htdocs\editarhab.php on line 34
la manera como estoy llamando el arreglo es así:
Código PHP:
require_once('include/libreria.php');
        
$clase=new poo();
        
$datos=$clase->MostrarDatos(1,"censodemografico","Cedula",$_GET['Cedula']);
        if(!empty(
$datos))
        {
            
print_r($datos);//aqui si muestra los datos.
            
echo '<form action="include/funcionesHabitantes.php" class="contact_form" method="POST" id="contact_form">
<ul>
<li>
<label for="cedula_txt">Cédula:</label>
<input type="text" id="cedula_txt" name="cedula_txt" value='
.$_GET['Cedula'].'>
<label class="error" for="cedula_txt" style="display: none;">El campo es obligatorio.</label>
</li>
<li>
<label for="nombre_txt">Nombres:</label>
<input type="text" id="nombre_txt" name="nombre_txt" value='
.$datos['Nombre'].>
<
label class="error" for="nombre_txt" style="display: none;">El campo es obligatorio.</label>
</
li>... 
la función que estoy utilizando esta:
Código PHP:
public function MostrarDatos()
        {
            
$numargs=func_num_args();
            
$arg_list=func_get_args();
            
$num_campos=$arg_list[0];
            
$sql="SELECT * FROM $arg_list[1] WHERE ";
            for(
$i=2;$i<=$num_campos+2;$i++)
            {
                
$sql.="$arg_list[$i]=";
                
$i++;
                
$sql.="'$arg_list[$i]' AND ";
            }
            
$sql[strlen($sql)-1]=" ";
            
$sql[strlen($sql)-2]=" ";
            
$sql[strlen($sql)-3]=" ";
            
$sql[strlen($sql)-4]=" ";
            
$sql=trim($sql);
            
$sql.=";";
            
$consul=$this->conexion->query($sql);
             if(
$consul->num_rows>0)
                {
                    
$data = array();
        
                    while (
$res $consul->fetch_assoc()) {
                        
$data[] = $res;
                    }
                    
                    return 
$data;
                }
                else{
            return 
false;
        }
       } 
como hago para mostrar el nombre, apellido que contiene el arreglo para colocarlo en el input?
  #2 (permalink)  
Antiguo 27/01/2015, 14:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al mostrar datos de un arreglo php

¿Entonces $datos es un arreglo asociativo o un arreglo de arreglos?

Porque tu método MostrarDatos() devuelve precisamente un arreglo de arreglos, por lo tanto: $datos['Nombre'] es imposible que exista ahí.

Sin embargo, al ser un arreglo de arreglos es probable que necesites acceder a $datos[0]['Nombre'] para el primer registro, etc.

Sería bueno que muestres la estructura de print_r($datos), de otra forma es imposible adivinar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/01/2015, 16:52
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Error al mostrar datos de un arreglo php

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Entonces $datos es un arreglo asociativo o un arreglo de arreglos?

Porque tu método MostrarDatos() devuelve precisamente un arreglo de arreglos, por lo tanto: $datos['Nombre'] es imposible que exista ahí.

Sin embargo, al ser un arreglo de arreglos es probable que necesites acceder a $datos[0]['Nombre'] para el primer registro, etc.

Sería bueno que muestres la estructura de print_r($datos), de otra forma es imposible adivinar.
Tienes razón es un arreglo de arreglos, queria hacerlo un arreglo asociativo pero no supe como extraer los campos para que pudiera funcionar con cualquier consulta.

la estructura del print_r($datos) es:
Array ( [0] => Array ( [idHabitantes] => 28 [nacionalidad] => V [Cedula] => 26711451 [Nombre] => Maria [Apellido] => Mendez) )

lo probe con $datos[0]['Nombre'] y si me funcionó. Muchas Gracias pateketrueke

Etiquetas: arreglo, select, sql
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 03:27.