Foros del Web » Programando para Internet » PHP »

Ayuda con mostrar con php registros de una BD dentro de un select

Estas en el tema de Ayuda con mostrar con php registros de una BD dentro de un select en el foro de PHP en Foros del Web. Hola amig@s del foro, tengo el siguiente problemita, resulta que tengo un form donde se generan filas con opciones select al presionar un botón, bueno ...
  #1 (permalink)  
Antiguo 22/08/2008, 13:32
Avatar de javierito10  
Fecha de Ingreso: julio-2008
Ubicación: Potosí - Bolivia
Mensajes: 135
Antigüedad: 15 años, 8 meses
Puntos: 1
Pregunta Ayuda con mostrar con php registros de una BD dentro de un select

Hola amig@s del foro, tengo el siguiente problemita, resulta que tengo un form donde se generan filas con opciones select al presionar un botón, bueno en la primera fila las opciones del select las jalo de una BD, hasta ahí todo bien, el problema es que cuando genero una nueva fila ya no puedo hacer que en esa fila tambien me muestre las opciones del select jaladas de la Bd, es decir que cuando haga clic en el select de la fila generada me despliegue las opciones jaladas de la BD, cuando genere otra fila tambien me despliegue las opciones jaladas de la BD, y asi sucesivamente.

Bueno no se si pude explicarme bien pero tambien les posteo el form donde genero las filas:

Código PHP:
<form name="form1" method="post" action="enviar.php">
  <select name="campo[][campo1]" id="campo[][campo1]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from familia");
  do{   echo 
"<option value='$f[cod]'>$f[cod]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <select name="campo[][campo2]" id="campo[][campo2]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from familia");
  do{   echo 
"<option value='$f[cod]'>$f[cod]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <select name="campo[][campo3]" id="campo[][campo3]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from familia");
  do{   echo 
"<option value='$f[cod]'>$f[cod]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <select name="campo[][campo4]" id="campo[][campo4]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from familia");
  do{   echo 
"<option value='$f[cod]'>$f[cod]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <select name="campo[][campo5]" id="campo[][campo5]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from familia");
  do{   echo 
"<option value='$f[cod]'>$f[cod]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <input type="button" name="button" id="button" value="Crear otra fila" onclick="addFileInput()"/>
<div id="moreUploads"></div>  
  
<p>
  <label>
  <input type="submit" name="Submit" value="Enviar" />
  </label>
</p>
</form>
Aqui esta la función Javascript que hace generar las filas:

Código PHP:
<script language="javascript" type="text/javascript">
var 
upload_number=1;
    function 
addFileInput() {
    var 
i=0;
     var 
document.createElement("div");
    var 
file document.createElement("select");
     
file.setAttribute("name""campo[][campo1]");
    
d.appendChild(file);
    var 
file2 document.createElement("select");
     
file2.setAttribute("name""campo[][campo2]");
     
d.appendChild(file2);
    var 
file3 document.createElement("select");
     
file3.setAttribute("name""campo[][campo3]");
    
d.appendChild(file3);
    var 
file4 document.createElement("select");
     
file4.setAttribute("name""campo[][campo4]");
     
d.appendChild(file4);
    var 
file5 document.createElement("select");
     
file5.setAttribute("name""campo[][campo5]");
     
d.appendChild(file5);
     
document.getElementById("moreUploads").appendChild(d);
     
upload_number++;
}
</script> 
Bueno espero que puedan ayudarme desde ya muchas gracias por su interés.
  #2 (permalink)  
Antiguo 22/08/2008, 15:40
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Ayuda con mostrar con php registros de una BD dentro de un select

prueba solamente colocando el require_once encima del primer select
para los otros no es necesario.
Quizas esto te este dando problemas!

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 22/08/2008, 16:56
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda con mostrar con php registros de una BD dentro de un select

Te complicas demasiado, si todos los select contienen las mismas opciones, basta generarlo 1 sola vez:

Código PHP:
<?php
require_once('Conecctions/coneccion.php');
$opciones '';
$q=mysql_query("select * from familia");
while(
$f=mysql_fetch_assoc($q)
    
$opciones .= "<option value=\"{$f['cod']}\">{$f['cod']}</option>\n";
?>
<form name="form1" method="post" action="enviar.php">
  <select name="campo[][campo1]" id="campo[][campo1]">
  <?php echo $opciones?>
  </select>
  <select name="campo[][campo2]" id="campo[][campo2]">
  <?php echo $opciones?>
  </select>
  <select name="campo[][campo3]" id="campo[][campo3]">
  <?php echo $opciones?>
  </select>
  <select name="campo[][campo4]" id="campo[][campo4]">
  <?php echo $opciones?>
  </select>
  <select name="campo[][campo5]" id="campo[][campo5]">
  <?php echo $opciones?>
  </select>
  <input type="button" name="button" id="button" value="Crear otra fila" onclick="addFileInput()"/>
<div id="moreUploads"></div>  
  
<p>
  <label>
  <input type="submit" name="Submit" value="Enviar" />
  </label>
</p>
</form>
  #4 (permalink)  
Antiguo 23/08/2008, 06:25
Avatar de javierito10  
Fecha de Ingreso: julio-2008
Ubicación: Potosí - Bolivia
Mensajes: 135
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Ayuda con mostrar con php registros de una BD dentro de un select

Bueno desde ya muchisimas gracias por su ayuda, pero lo que que he posteado es solo un ejemplo es decir que todos los selects tienen que jalar datos de distintas tablas, mejor voy a postear el código verdadero ya que con el ejemplo que hice pareciera como si todos los selects tendrian que jalarse de la misma tabla jeje.

Código PHP:
<form name="form1" method="post" action="enviar.php">
  <select name="campo[][campo1]" id="campo[][campo1]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from familia");
  do{   echo 
"<option value='$f[cod]'>$f[cod]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <select name="campo[][campo2]" id="campo[][campo2]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from subfamilia");
  do{   echo 
"<option value='$f[descripcion]'>$f[descripcion]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <select name="campo[][campo3]" id="campo[][campo3]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from zona");
  do{   echo 
"<option value='$f[nom_zona]'>$f[nom_zona]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <select name="campo[][campo4]" id="campo[][campo4]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from direccion");
  do{   echo 
"<option value='$f[nom_direc]'>$f[nom_direc]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <select name="campo[][campo5]" id="campo[][campo5]">
  <?php 
  
require_once('Conecctions/coneccion.php');
  
$q=mysql_query("select * from trabajo where cod='$codigo' ");
  do{   echo 
"<option value='$f[tipo_trab]'>$f[tipo_trab]</option>";
    }while(
$f=mysql_fetch_array($q))
  
?>
  </select>
  <input type="button" name="button" id="button" value="Crear otra fila" onclick="addFileInput()"/>
<div id="moreUploads"></div>  
  
<p>
  <label>
  <input type="submit" name="Submit" value="Enviar" />
  </label>
</p>
</form>
  #5 (permalink)  
Antiguo 23/08/2008, 06:33
Avatar de javierito10  
Fecha de Ingreso: julio-2008
Ubicación: Potosí - Bolivia
Mensajes: 135
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Ayuda con mostrar con php registros de una BD dentro de un select

Pero hasta aqui todo funciona very good pero el problema es cuando genero otra fila, en la fila generada al desplegarlo ya no me muestra las opciones jaladas de la BD, y lo que quiero es que cuando genere otra fila también me aparezca las opciones jaladas de la BD, cuando genere otra fila también me aparezca las opciones jaladas de la Bd y asi sucesivamente, se puede hacer eso???

Gracias por su interés.
  #6 (permalink)  
Antiguo 25/08/2008, 10:53
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Ayuda con mostrar con php registros de una BD dentro de un select

Intentaste quitando el exceso de require_once??
solo coloca uno arriba del primer select..

Saludos!!
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 25/08/2008, 14:48
Avatar de javierito10  
Fecha de Ingreso: julio-2008
Ubicación: Potosí - Bolivia
Mensajes: 135
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Ayuda con mostrar con php registros de una BD dentro de un select

Si ya probe pero sigue sin mostrarme nada cuando genero una nueva fila, no se como se puede hacer este procedimiento.
  #8 (permalink)  
Antiguo 25/08/2008, 15:43
(Desactivado)
 
Fecha de Ingreso: agosto-2008
Mensajes: 23
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda con mostrar con php registros de una BD dentro de un select

Prueba con estos videos http://tiendaonline.100webspace.net/product_info.php?products_id=30
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 10:55.