09/10/2012, 23:03
|
| | Fecha de Ingreso: diciembre-2010
Mensajes: 49
Antigüedad: 13 años, 11 meses Puntos: 0 | |
problema con formulario hecho en javascript, php y mysql Hola que tal mi problema es el siguiente, estoy realizando un formulario el contenido de este formulario es solamente dos checkbox y un radio, pero al momento de nombrar el formulario lo hago con registros de una base de datos, se podia llamar que lo hago dinamicamente y se va creando formularios de acuerdo a los registros que se vallan almacenando en la base de datos, tambien cree una funcion en javascript para que todo los checkbox que existe en cada formulario los seleccione.
mi problema es el siguiente si realiza la funcion seleccionar todo los checkbox pero solamente seleccionar los checkbox del ultimo formulario que se creo de acuerdo al ultimo registro que existe en cada formulario, en pocas palabras no me respeta el checkbox de cada formulario correspondiente a cada registro que se valla creando en la base de datos, nos que pueda que estoy haciendo mal o esto no se puede hacer, o si se puede hacer de otra manera que me digan a continuacion les dejo el codigo y explicacion de lo que hace mi codigo.
////SE CREA UNA SENTENCIA PARA LLAMAR LOS CAMPOS QUE NECESITAMOS///
<?php
$cat="select id_categoria, categoria from categorias";
$cat1=mysql_query($cat,$con);
while($row=mysql_fetch_array($cat1)){
$idc=$row['id_categoria'];
$cat=$row['categoria'];
?>
///SE CREA UNA FUNCIO LLAMADA HOLA PARA SELECCIONAR TODO LOS CHECK DEL FORMULARIO////
<script language="javascript">
function hola(bol=document.getElementById('<?php echo $cat?>')){
var dias=document.getElementById('correo');
dias.value='';
var checks=document.<?php echo $cat ?>.getElementsByTagName('input');
for (i=0;i<checks.length; i++){
if(checks[i].type == 'checkbox')
checks[i].checked=(bol) ? true : false;
if(checks[i].type=='checkbox'){
if(checks[i].checked)
dias.value +=checks[i].value;
}
}
}
</script>
///AQUI SE CREA EL FORMULARIO COMO SE DAN CUENTA NOMBRO EL FORMULARIO DE ACUERDO A LOS REGISTROS QUE EXISTEN EL LA TABLA LLAMADA CATEGORIAS ESTA ES LA PARTE QUE ME INTERESA
<form name="<?php echo $cat; ?>" id="<?php echo $cat; ?>" method="post" action="" enctype="multipart/form-data" >
<table border="1" align="center">
<tr>
///AQUI SE CREA EL CHECKBOX QUE SE ENCARGARA DE INVOCAR LA FUNCION DE JAVASCRIPT PARA SELECCIONAR TODO LOS CHECKBOX QUE AY EN EL FORMULARIO
ESTA ES LA PARTE QUE ME INTERESA///
<td align="center" colspan="5px">Seleccionar todo
<input name="<?php echo $cat ?>" type="checkbox" id="<?php echo $cat?>" onclick="hola(this.checked, this.form);" value="" />
</td>
</tr>
///SE MANDA A LLAMAR LOS REGISTROS DE LA BASE DE DATOS////
<tr>
<td align="center" colspan="5px">
<?php echo $cat ?>
</td>
</tr>
///SE CREA OTRA CONSULTA PARA LLAMAR OTROS REGISTROS DE LA BASE DE DATOS///
<?php
$det="SELECT a.*, b.* FROM categoriadet a inner join categorias b on a.categoria=b.categoria where a.estatus=1 and a.categoria='$cat'";
//echo $det;
$det1=mysql_query($det,$con);
while($row1=mysql_fetch_array($det1)){
$correo=$row1['correo'];
$idc1=$row1['id_detcategoria'];
$nom=$row1['nombre'];
?>
///SE CREAN LOS CHECKBOX Y LOS RADIOS///
<tr>
<td><input name='<?php echo $cat ?>' type='checkbox' onclick='cambiar();' value='<?php echo $correo ?>'> <?php echo $nom?>,<?php echo $correo?>
<td width='50%'>Eliminar:
<input name="eli2" id="eli2" type="radio" value="<?php echo $idc1;?>" onclick="if(confirm('¿Estas seguro de borrar este correo?') === false) {return false;} this.form.submit()" />
</td>
</tr>
///SE CIERRA EL SEGUNDO WHILE///
<?php
}
?>
///SE CIERRA EL FORMULARIO QUE CREAMOS DINAMICAMENTE
</table>
</td>
</form>
////SE CIERRA EL PRIMER WHILE///
<?php
}
?>
espero que me puedan ayudar y resolver pronto este pequeño problema si quieren usar mi codigo no ay problema lo pueden hacer lo que me interesa es que me ayuden a resolver este problema pronto gracias. |