Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2009, 01:23
nitramara
 
Fecha de Ingreso: abril-2009
Mensajes: 32
Antigüedad: 15 años
Puntos: 0
Creo que el problema podria estar en los IF me ayudas.??

Bueno lo que pretendo hacer es lo siguiente.

1. como es logico modificar la tabla seleccionada. atravez del select que le tengo
2. si se seleccionan todos los campos (Checkbox), pues vamos que se modifiquen todos
3. si activa un solo checkbox pues que se modifique solo ese campo.

Tengo este codigo. pero en mi infinita ignorancia, me funciona solamente cuando los seleccione todos.
Es decir que si selecciono modificar el mail, o el (los) pago(s) (X) no lo hace.
Creo que el problema podria estar en los if que coloque.. pero no se...
aca el codigo.


<Html>
<body>
<script language="javascript">

function selydestodos(form,activa)
{
for(i=0;i<form.elements.length;i++)
if(form.elements[i].type=="checkbox")
form.elements[i].checked=activa;
}
</script>
<form name=formulario METHOD="post">
<table >
<col style="width: 27em;" />
<col style="width: 7em;" span="8" align="right" />
<tr>
<td colspan="3">Seleccione Grupo:
<select name="Curso">
<option value="">Grupos</option>
<option value="php">php</option>
<option value="visual">visual</option>
<option value="excel">excel</option>
<option value="winword">winword</option>
</select></td>
</tr>
<tr>
<td align="center" width="20%">Codigo: <input type="text" name="Codigo"></td>
<td colspan="2" align="left" >
<input type="checkbox" name="ch1" value="Nombre">&nbsp;&nbsp;&nbsp;&nbsp; Nombre<br>
<input type="checkbox" name="ch2" value="Email"> &nbsp;&nbsp;&nbsp;&nbsp; Email<br>
<input type="checkbox" name="ch3" value="Pago1"> &nbsp;&nbsp;&nbsp;&nbsp; Pago1<br>
<input type="checkbox" name="ch4" value="Pago2"> &nbsp;&nbsp;&nbsp;&nbsp; Pago2<br>
<input type="checkbox" name="ch5" value="Pago3"> &nbsp;&nbsp;&nbsp;&nbsp; Pago3<br>
<input type="checkbox" name="ch6" value="Pago4"> &nbsp;&nbsp;&nbsp;&nbsp; Pago4<br></td>

<td width="20%"><div align="center">
Ingrese nombre: <br><input type="text" name="Nombre" value=""> <br>
Ingrese Email: <br><input type="text" name="Email" value=""> <br>
Ingrese Pago1: <br><input type="text" name="Pago1" value=""> <br>
Ingrese Pago2: <br><input type="text" name="Pago2" value=""> <br>
Ingrese Pago3: <br><input type="text" name="Pago3" value=""> <br>
Ingrese Pago4: <br><input type="text" name="Pago4" value=""> <br>
</div></td></tr>
<tr>
<td colspan="3">
<a href="javascript:selydestodos(document.formulario, 1)">Marcar todos</a> |
<a href="javascript:selydestodos(document.formulario, 0)">Quitar Todos</a><br>
</td></tr>
</table>
<br><INPUT TYPE="submit" value="Modificar" /><br>
</form >

<?php
$Curso = isset($_POST["Curso"]) ? $_POST["Curso"] : '';
$Codigo = isset($_POST["Codigo"]) ? $_POST["Codigo"] : '';
$Nombre = isset($_POST["Nombre"]) ? $_POST["Nombre"] : '';
$Email = isset($_POST["Email"]) ? $_POST["Email"] : '';
$Pago1 = isset($_POST["Pago1"]) ? $_POST["Pago1"] : '';
$Pago2 = isset($_POST["Pago2"]) ? $_POST["Pago2"] : '';
$Pago3 = isset($_POST["Pago3"]) ? $_POST["Pago3"] : '';
$Pago4 = isset($_POST["Pago4"]) ? $_POST["Pago4"] : '';

$conexion=mysql_connect("localhost","root","") or die("Problemas en la conexion");//conecto a la DB
mysql_select_db("fundabol",$conexion) or die("Problemas en la selección de la base de datos");

if(isset($_POST['ch1'])&& isset($_POST['ch2'])&& isset($_POST['ch3'])&&isset($_POST['ch4'])&& isset($_POST['ch5'])&&isset($_POST['ch6']))
{
mysql_query("UPDATE $Curso SET Nombre='$Nombre',Email='$Email',Pago1='$Pago1'
,Pago2='$Pago2',Pago3='$Pago3',Pago4='$Pago4' WHERE Codigo=$Codigo");
echo "Registro modificado <br/>\n";
}
else
{
if(isset($_POST['ch1']))
{
mysql_query("UPDATE $Curso SET Nombre='$Nombre' WHERE Codigo=$Codigo");
echo "checkbox ch1 seleccionado <br/>\n";
}
else
{
if(isset($_POST['ch1'])&& isset($_POST['ch2']))
{
mysql_query("UPDATE $Curso SET Nombre='$Nombre',Email='$Email' WHERE Codigo=$Codigo");
echo "checkbox ch1 y ch2 seleccionado <br/>\n";
}
else
{
if(isset($_POST['ch1'])&&isset($_POST['ch2'])&&isset($_POST['ch3']))
{
mysql_query("UPDATE $Curso SET Nombre='$Nombre',Email='$Email',Pago1='$Pago1' WHERE Codigo=$Codigo");
echo "checkbox ch1, ch2 y ch3 seleccionado <br/>\n";
}
else
{
if(isset($_POST['ch1'])&&isset($_POST['ch2'])&&isset($_POST['ch3'])&&isset($_POST['ch4']))
{
mysql_query("UPDATE $Curso SET Nombre='$Nombre',Email='$Email',Pago1='$Pago1'
,Pago2='$Pago2' WHERE Codigo=$Codigo");
echo "checkbox ch1, ch2, ch3 y ch4 seleccionado <br/>\n";
}
else
{

if(isset($_POST['ch1'])&&isset($_POST['ch2'])&&isset($_POST['ch3'])&&isset($_POST['ch4'])&&isset($_POST['ch5']))
{
mysql_query("UPDATE $Curso SET Nombre='$Nombre',Email='$Email',Pago1='$Pago1'
,Pago2='$Pago2',Pago3='$Pago3' WHERE Codigo=$Codigo");
echo "checkbox ch1, ch2, ch3, ch4 y ch5 seleccionado <br/>\n";
}
}
}
}
}
mysql_close($conexion);
}

?>

</BODY>
</HTML>


Como pueden ver el programa corre pero no hace lo que se pide..
ademas que se que esta repetido el codigo en cuanto a los if pero no fui capaz de realizarlo con case.. si alguno me tira alguna ayuda.. BIENVENIDA sea..
Gracias.

Última edición por nitramara; 15/06/2009 a las 19:17 Razón: lo he ido mejorando