Foros del Web » Programando para Internet » PHP »

problemas para llenar un select

Estas en el tema de problemas para llenar un select en el foro de PHP en Foros del Web. muy buenas gente me remito a ustedes por que ya no se que hacer con este codigo. resulta que tengo que entregar un aplicativo, pero ...
  #1 (permalink)  
Antiguo 19/11/2012, 16:33
 
Fecha de Ingreso: noviembre-2012
Mensajes: 12
Antigüedad: 11 años, 5 meses
Puntos: 0
problemas para llenar un select

muy buenas gente me remito a ustedes por que ya no se que hacer con este codigo.
resulta que tengo que entregar un aplicativo, pero tengo un problema con el llenado de select. ya busque las soluciones que dan en internet pero con ninguna hallo la solucion en el combo solo me muestra la palabra array logicamente que tambien el value que tiene. mejor dicho aqui esta mi codigo

clase edificiosModel.php

Código PHP:
class Edificios extends Conectar
{
 
    private 
$elemento;
    
    public function 
__construct()
    {
     
        
$this->elemento=array();
        
    }

    
//llenado combos elementos
    
public function llenar_ele()
    {
        
$sql2 "SELECT id_elemento, nombre_elemento FROM elemento";
        
//ejecutamos consulta
        
$resul2 mysql_query($sql2,parent::con());
        while(
$reg2=mysql_fetch_array($resul2))
        {
            
$this->elemento[]=$reg2;
        }
        return 
$this->elemento;
    }


clase consulController.php
Código PHP:

require_once("model/edificiosModel.php");
$e = new Edificios();


$elem $e->llenar_ele();
require_once(
"view/consul.phtml"); 
consul.phtml
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<title>Consultar Disponibilidad</title>
</head>

<body>



<center>
<h2>CONSULTAR DISPONIBILIDAD</h2>

<?php

echo'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<select id="elemento" style="width:100px">';
for($w=0;$w<count($elem[0]);$w++){
echo'<option >Elemento</option>';
  echo'<option value="'.$elem[$w].'">'.$elem[$w].'</option>';
echo'</select>';
//print_r($elem);
}
?>

</center>
</body>
</html> 

espero entiendan mi codigo y me puedan ayudar creo que el error en la vista pero no doy con el.
o si no cuando hago la consulta utilizo la funcion equivocada osea mysql_fetch_assoc o si es otra no se.
gracia spor sus respuestas y ayudas.

PD: cabe reslatar que no es problema de conexion ni nada por que en la vista miro que llega con print_r() y si me llegan datos, pero no logro mostrarlos en el select
  #2 (permalink)  
Antiguo 19/11/2012, 19:28
Avatar de arianna_rr  
Fecha de Ingreso: noviembre-2012
Ubicación: Playa Del Carmen, Q. Roo
Mensajes: 40
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: problemas para llenar un select

Ya probaste hacer esto?

Código PHP:
Ver original
  1. while($reg2=mysql_fetch_array($resul2))
  2.         {
  3.             $this->elemento[]=$reg2["nombre_elemento"];
  4.         }
  5.         return $this->elemento;
__________________
Respaldo, luego existo.
--------------------
Aprender rápido y olvidar lentamente es sólo una capacidad. Si te crees inteligente evita las respuestas pedantes. GRACIAS! ♫
  #3 (permalink)  
Antiguo 19/11/2012, 21:45
 
Fecha de Ingreso: noviembre-2012
Mensajes: 12
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: problemas para llenar un select

Cita:
Iniciado por arianna_rr Ver Mensaje
Ya probaste hacer esto?

Código PHP:
Ver original
  1. while($reg2=mysql_fetch_array($resul2))
  2.         {
  3.             $this->elemento[]=$reg2["nombre_elemento"];
  4.         }
  5.         return $this->elemento;
hola,
muchas gracias por tu respuesta pero no funciono.
  #4 (permalink)  
Antiguo 19/11/2012, 22:07
Avatar de arianna_rr  
Fecha de Ingreso: noviembre-2012
Ubicación: Playa Del Carmen, Q. Roo
Mensajes: 40
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: problemas para llenar un select

Podrías poner un ejemplo de lo que te imprime print_r($elem) ?
__________________
Respaldo, luego existo.
--------------------
Aprender rápido y olvidar lentamente es sólo una capacidad. Si te crees inteligente evita las respuestas pedantes. GRACIAS! ♫
  #5 (permalink)  
Antiguo 20/11/2012, 07:04
 
Fecha de Ingreso: noviembre-2012
Mensajes: 12
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: problemas para llenar un select

Cita:
Iniciado por arianna_rr Ver Mensaje
Podrías poner un ejemplo de lo que te imprime print_r($elem) ?

hola como estas si claro esto me imprime el print_r($elemen)

Cita:
Array ( [0] => Array ( [0] => 1 [id_elemento] => 1 [1] => VIDEO BEAM [nombre_elemento] => VIDEO BEAM ) [1] => Array ( [0] => 2 [id_elemento] => 2 [1] => MULTITOMAS [nombre_elemento] => MULTITOMAS ) [2] => Array ( [0] => 3 [id_elemento] => 3 [1] => DVD [nombre_elemento] => DVD ) [3] => Array ( [0] => 4 [id_elemento] => 4 [1] => MOUSE [nombre_elemento] => MOUSE ) [4] => Array ( [0] => 5 [id_elemento] => 5 [1] => TECLADO [nombre_elemento] => TECLADO ) )
estuve mirando en internet formas de mostrar un array en un combo box he probado todas y se me hace raro que no funcione ninguna.
gracias por tu ayuda
  #6 (permalink)  
Antiguo 20/11/2012, 10:07
Avatar de arianna_rr  
Fecha de Ingreso: noviembre-2012
Ubicación: Playa Del Carmen, Q. Roo
Mensajes: 40
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: problemas para llenar un select

Claro, lo que tienes es un array bidimensional. Vamos a modificar un poco tu código, lo pruebas y luego me dices qué tal te fue.

Código PHP:
Ver original
  1. for($w=0;$w<count($elem);$w++){//tenías $elem[0] que sólo cuenta el contenido del primer array
  2. echo'<option >Elemento</option>';
  3.   echo'<option value="'.$elem[$w][0].'">'.$elem[$w][1].'</option>';
  4. echo'</select>';

Puesto que es bidimensional hay que indicarle qué array con $w y qué elemento con [0] y [1].
__________________
Respaldo, luego existo.
--------------------
Aprender rápido y olvidar lentamente es sólo una capacidad. Si te crees inteligente evita las respuestas pedantes. GRACIAS! ♫
  #7 (permalink)  
Antiguo 20/11/2012, 10:20
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: problemas para llenar un select

Cita:
Iniciado por salvar Ver Mensaje
hola como estas si claro esto me imprime el print_r($elemen)



estuve mirando en internet formas de mostrar un array en un combo box he probado todas y se me hace raro que no funcione ninguna.
gracias por tu ayuda
@arianna_rr tiene razón!

Lo hubieras visto más claro si al print_r le metes antes un <pre> ;)

Habrias visto esto:
Código:
Array ( 
	[0] => Array ( 
		[0] => 1 
		[id_elemento] => 1 
		[1] => VIDEO BEAM 
		[nombre_elemento] => VIDEO BEAM 
	) 
	[1] => Array ( 
		[0] => 2 
		[id_elemento] => 2 
		[1] => MULTITOMAS 
		[nombre_elemento] => MULTITOMAS 
	) 
	[2] => Array ( 
		[0] => 3 
		[id_elemento] => 3 
		[1] => DVD 
		[nombre_elemento] => DVD 
	) 
	[3] => Array ( 
		[0] => 4 
		[id_elemento] => 4 
		[1] => MOUSE 
		[nombre_elemento] => MOUSE 
	) 
	[4] => Array ( 
		[0] => 5 
		[id_elemento] => 5 
		[1] => TECLADO 
		[nombre_elemento] => TECLADO 
	) 
)
Así es más sencillo ver cómo es el array! Ya lo sabes para otra ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #8 (permalink)  
Antiguo 21/11/2012, 17:41
 
Fecha de Ingreso: noviembre-2012
Mensajes: 12
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: problemas para llenar un select

Cita:
Iniciado por arianna_rr Ver Mensaje
Claro, lo que tienes es un array bidimensional. Vamos a modificar un poco tu código, lo pruebas y luego me dices qué tal te fue.

Código PHP:
Ver original
  1. for($w=0;$w<count($elem);$w++){//tenías $elem[0] que sólo cuenta el contenido del primer array
  2. echo'<option >Elemento</option>';
  3.   echo'<option value="'.$elem[$w][0].'">'.$elem[$w][1].'</option>';
  4. echo'</select>';

Puesto que es bidimensional hay que indicarle qué array con $w y qué elemento con [0] y [1].

arrianna_rr

muchisimas gracias por tu valiosa ayuda, me funciono perfecto gracias gracias

Etiquetas: html, mysql, 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 22:12.