PHP - ayuda para llenar un select en form dinamico

 
Vista:

ayuda para llenar un select en form dinamico

Publicado por Cesar Cid (1 intervención) el 08/02/2008 00:43:25
Buenas a todos , he estado adaptando algunos codigos para un sistema de compra y venta de cigarrillos que le estoy haciendo a un amigo, mi problema es el siguiente : tengo un formulario incrementable y deseo que el select de mi formulario se carge o llene con los productos de la base de datos he probado algunas cosas pero no encuentro la solucion.

Este es el codigo en Javascript y HTML.
<html><head>
<title>Agregar fila de campos DINAMICOS</title>

<script type="text/javascript">
function adicionarFila(){
var cont = document.getElementById("cont");
var filas = document.getElementById("filas");
cont.setAttribute("value", parseInt(cont.value,0)+1);
var tabla = document.getElementById("contenido").tBodies[0];
var fila = document.createElement("TR");
fila.setAttribute("align","center");

var celda1 = document.createElement("TD");
var codigo = document.createElement("INPUT");
codigo.setAttribute("type","text");
codigo.setAttribute("size","8");
codigo.setAttribute("maxlength","20");
codigo.setAttribute("name","codigo" + cont.value);
celda1.appendChild(codigo);

var celda2 = document.createElement("TD");
var sel = document.createElement("SELECT");
sel.setAttribute("size","1");
sel.setAttribute("name","sel" + cont.value);
opcioncur = document.createElement("OPTION");
opcioncur.innerHTML = '';
opcioncur.value = '';
sel.appendChild(opcioncur);

opcion1 = document.createElement("OPTION");
opcion1.innerHTML = "este Select depende de lo que";
opcion1.value = "este Select depende de lo que";
sel.appendChild(opcion1);

opcion2 = document.createElement("OPTION");
opcion2.innerHTML = "se ponga en el anterior campo";
opcion2.value = "se ponga en el anterior campo";
sel.appendChild(opcion2);

celda2.appendChild(sel);

var celda3 = document.createElement("TD");
var valorA = document.createElement("INPUT");
valorA.setAttribute("type","text");
valorA.setAttribute("size","1");
valorA.setAttribute("maxlength","3");
valorA.setAttribute("name","valorA" + cont.value);
celda3.appendChild(valorA);

var celda4 = document.createElement("TD");
var valorB = document.createElement("INPUT");
valorB.setAttribute("type","text");
valorB.setAttribute("size","1");
valorB.setAttribute("maxlength","3");
valorB.setAttribute("name","valorB" + cont.value);
celda4.appendChild(valorB);

var celda5 = document.createElement("TD");
var valorC = document.createElement("INPUT");
valorC.setAttribute("type","text");
valorC.setAttribute("size","1");
valorC.setAttribute("maxlength","3");
valorC.setAttribute("name","valorC" + cont.value);
celda5.appendChild(valorC);

var celda6 = document.createElement('TD');
var boton = document.createElement('INPUT');
boton.setAttribute('type','button');
boton.setAttribute('value','borrar');
boton.onclick=function(){borrarFila(this);}
celda6.appendChild(boton);

fila.appendChild(celda1);
fila.appendChild(celda2);
fila.appendChild(celda3);
fila.appendChild(celda4);
fila.appendChild(celda5);
fila.appendChild(celda6);

tabla.appendChild(fila);
}
function borrarFila(button){
var fila = button.parentNode.parentNode;
var tabla = document.getElementById('contenido').getElementsByTagName('tbody')[0];
tabla.removeChild(fila);
}

</script>
</head>
<body onLoad="adicionarFila()">
<Form name="detalle" action="ej.asp" method="get">
<input name="cont" type="hidden" id="cont" value="0" >
<input name="filas" type="hidden" id="filas" value="" >
<table align=center width=20% cellpadding=0 cellspacing=0 id="contenido" border="1">
<tr align="center">
<td>codigo</td>
<td>Select dependiente de Codigo</td>
<td>A +</td>
<td>B =</td>
<td>C</td>
<td> </td>
</tr>
</table>
<table align=center width=20% cellpadding=0 cellspacing=0 border="1">
<tr>
<td> </td>
</tr>
<tr align="center">
<td align="CENTER"><input name="enviar" type="submit" id="enviar" value="enviar" onClick="filas.value=cont.value, cont.value=0">
<input name="nueva_fila" type="button" id="nueva_fila" value="nueva fila" onClick="adicionarFila()"></td>
</tr>
</table>
</form>
</body>
</html>

El codigo es de otro usuario de esta pagina , y mi codigo php es el siguiente:

<?php
$productos=productos_consulta($conexion);
foreach ($productos as $c)
{
$selected=(ereg($c["id_producto"],$producto))? "SELECTED":"";

echo "<option value="".$c["id_producto"]."" ".$selected.">".$c["nombre_producto"]."</option> ";


}
?>

Les digo altiro que soy novato y si me dan una solucion no importa que salga en mas lineas , pero que sea facil de comprender y ojala sencilla por favor. Atte Cesar Cid.Muchas gracias, me alegra saber que hay personas que comparten conocimientos como vi en otros foros. Yo hago lo mismo y mi fuerte es linux especificamente debian, asi que si hay algo de aspecto técnico , como configurar un servidor base de datos, conectarse a internet, etc estoy dispuesto a ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda para llenar un select en form dinamico

Publicado por Giovanny (12 intervenciones) el 11/02/2008 21:23:58
Loco

Aqui remito codigo de llenar un combo en la web, pero es dinamico y por lo tanto es codigo php

<tr> <td> Tipo de Hora </td> <td><select name="hora_sel">
<?php

conectar();
$result11 = mysql_query("SELECT * FROM tipo_concepto where nombre like 'hora%'");
while ($row11 = mysql_fetch_array($result11)){
?>
<option <?php echo" value='$row11[cod_tipo_concepto]'"; ?>> <?php echo"$row11[nombre]"; ?></option>
<?php } ?>
</select></td>
</tr>

Creo el combo select hago la consulta q me trae los campos q comienzen por hora, el codigo del campo lo inserto en el valor del campo y la descripcion q muestra en la web es el campo nombre

Cualquier duda me comentas. Los select en la web ayudan mucho cuando se hacen de forma dinamica y php esta orientado hacia estas aplicaciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda para llenar un select en form dinamico

Publicado por congas1983 (29 intervenciones) el 13/02/2008 21:33:45
giovany como podria yo utilizar dos o mas select anidados dinamicamente
ejemplo

como podria yo, que cuando yo seleccione

un pais y el me traiga las respectivas regiones y que cuando yo seleccione las regiones el me traiga las ciudades

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda para llenar un select en form dinamico

Publicado por Claudio (1 intervención) el 25/02/2008 18:32:22
Fijate aquí http://www.desarrolloweb.com/articulos/1281.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda para llenar un select en form dinamico

Publicado por JMAG (1 intervención) el 02/04/2008 22:00:49
Ve, es fácil, lo voy a explicar entre comentarios (//):

<?php

$hostname_con1 = "localhost";
$database_con1 = "control";
$username_con1 = "root";
$password_con1 = "";
$con1 = mysql_pconnect($hostname_con1, $username_con1, $password_con1) or trigger_error(mysql_error(),E_USER_ERROR);

//Hasta aquí son todos los datos de la conexión

mysql_select_db($database_con1, $con1);
$query_Recordset1 = "SELECT * FROM prod_departamento";
$Recordset1 = mysql_query($query_Recordset1, $con1) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

// es el query de la búsqueda

?><form name="form1" method="post" action="">
<select name="select"> // aquí pones con html el select

<?php
do {

// y con php y html vas llenando dinámicamente el select
?>
<option value="<?php echo $row_Recordset1['Departamento']?>"><?php echo $row_Recordset1['Departamento']?></option>
<?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
$rows = mysql_num_rows($Recordset1);
if($rows > 0) {
mysql_data_seek($Recordset1, 0);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
}
?>
</select>
</form>
<?php
mysql_free_result($Recordset1);
?>

CUALQUIER DUDA O ALGO CONTACTAME EN EL MAIL, PORQUE CASI NO ENTRO A FOROS, ESPERO QUE TE SIRVA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar