Foros del Web » Programando para Internet » PHP »

Ayudenme a resolver este problema

Estas en el tema de Ayudenme a resolver este problema en el foro de PHP en Foros del Web. saludos amigos... bueno la idea es que deseo controlar las asistencias de los participantes a las capacitaciones colocando un si o un no en el ...
  #1 (permalink)  
Antiguo 17/05/2006, 09:40
Avatar de Heros  
Fecha de Ingreso: abril-2005
Mensajes: 69
Antigüedad: 19 años
Puntos: 1
Ayudenme a resolver este problema

saludos amigos...
bueno la idea es que deseo controlar las asistencias de los participantes a las capacitaciones colocando un si o un no en el campo de texto que tengo en mi formulario, les muestro aqui el codigo php, lo que hago es usar el metodo post_vars de mi formulario para luego usar un bucle con el fin de evaluar todos los campos de texto (con el valor de si o no) y luego actualizar mi base de datos pero no consigo hacer eso
Código PHP:
if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"] == "formulario")) {
$varcapacitacion "1";
if (isset(
$HTTP_GET_VARS['id_capacitacion'])) {
  
$varcapacitacion = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['id_capacitacion'] : addslashes($HTTP_GET_VARS['id_capacitacion']);
}
mysql_select_db($database_conn$conn);
$query_rsCapacitacion1 "SELECT id_ejecutorcapac,ejecutorcapac.id_ejecutor,id_capacitacion,cumplioc,nombre,apellido_paterno,apellido_materno FROM ejecutor,ejecutorcapac WHERE ejecutor.id_ejecutor=ejecutorcapac.id_ejecutor and id_capacitacion='$varcapacitacion' order by apellido_paterno asc";
$rsCapacitacion1 mysql_query($query_rsCapacitacion1$connFlashblog) or die(mysql_error());
$row_rsCapacitacion1 mysql_fetch_assoc($rsCapacitacion1);
$totalRows_rsCapacitacion1 mysql_num_rows($rsCapacitacion1);

do {
$insertSQL sprintf("UPDATE ejecutorcapac SET cumplioc=%s
WHERE id_ejecutorcapac=%s"
,
                       
GetSQLValueString($HTTP_POST_VARS['cumplio'], "text"),
                       
$row_rsCapacitacion1['id_ejecutorcapac']);

mysql_select_db($database_conn$conn);
$Result1 mysql_query($insertSQL$connFlashblog) or die(mysql_error());
        
} while (
$row_rsCapacitacion1 mysql_fetch_assoc($rsCapacitacion1));

$insertGoTo "verprogracapac.php";

  if (isset(
$HTTP_SERVER_VARS['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}

$varcapacitacion "1";
if (isset(
$HTTP_GET_VARS['id_capacitacion'])) {
  
$varcapacitacion = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['id_capacitacion'] : addslashes($HTTP_GET_VARS['id_capacitacion']);
}

mysql_select_db($database_connFlashblog$connFlashblog);
$query_rsCapacitacion "SELECT id_ejecutorcapac,ejecutorcapac.id_ejecutor,id_capacitacion,cumplioc,nombre,apellido_paterno,apellido_materno FROM ejecutor,ejecutorcapac WHERE ejecutor.id_ejecutor=ejecutorcapac.id_ejecutor and id_capacitacion='$varcapacitacion' order by apellido_paterno asc";
$rsCapacitacion mysql_query($query_rsCapacitacion$connFlashblog) or die(mysql_error());
$row_rsCapacitacion mysql_fetch_assoc($rsCapacitacion);
$totalRows_rsCapacitacion mysql_num_rows($rsCapacitacion); 
en esta parte que pertenece al codigo html lo que hago es mediante un bucle crear un listado de todos los participantes (nombres,apellidos) y sus respectivos campos en donde se debe escribir su asistencia (si o no)
Código HTML:
<?php do { ?>
<tr valign="middle" bgcolor="#E9E9E9">
<td align="left" height="" class="textos"> <?php echo $row_rsCapacitacion['apellido_paterno']." ".$row_rsCapacitacion['apellido_materno']." ".$row_rsCapacitacion['nombre']; ?></td>
<td align="center"> <span class="titulos">
<input name="cumplio" type="text" value="<?php echo $row_rsCapacitacion['cumplioc']?>">
</span></td>
<td align="center" height="" class="textos">Titular</td>
</tr>
<?php } while ($row_rsCapacitacion = mysql_fetch_assoc($rsCapacitacion)); ?> 
porfavor amigos necesito ayuda.. cualquier duda acerca de la pregunta haganme conocerla
  #2 (permalink)  
Antiguo 17/05/2006, 10:47
Avatar de Heros  
Fecha de Ingreso: abril-2005
Mensajes: 69
Antigüedad: 19 años
Puntos: 1
hmm... no hay nadie q me pueda ayudar :(
  #3 (permalink)  
Antiguo 17/05/2006, 11:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Fijate en tu código fuente generado HTML .. observa que sucede con tu:
<input name="cumplio" type="text" value="<?php echo $row_rsCapacitacion['cumplioc']?>">

.. veras que generas en definitiva un sólo campo "cumplio" .. el valor que pre-valece no sé cual será (el primero? .. o el último? .. creo que este último).

En definitiva esa no es la técnica adecuada para hacer lo que pretendes. Debes usar o mejor dicho generar un "array" que va a contener tus "value=" que le vas dando y como tal (array) así recogeras en otro script y procesaras.

Tienes una FAQ al respecto para que te fijes en:
http://www.forosdelweb.com/showthrea...710#post518710

(Olvidate de que en esa FAQ hable de "checkbox" .. la técnica es igual para cualquier tipo de elemento de un formulario).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 17/05/2006, 12:00
Avatar de Heros  
Fecha de Ingreso: abril-2005
Mensajes: 69
Antigüedad: 19 años
Puntos: 1
ok thx Cluster voy a chekar el link q me enviaste...
thx por el animo de ayudarnos y gracias por la respuesta rapida.. :)
  #5 (permalink)  
Antiguo 17/05/2006, 17:52
Avatar de Heros  
Fecha de Ingreso: abril-2005
Mensajes: 69
Antigüedad: 19 años
Puntos: 1
weno luego de chekar el link q cluster me envio consegui hacer lo que queria.. aqui les envio el codigo espero que les sirva bye.
Código PHP:
if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "formulario")) {
    
    
$varcapacitacion1 "1";
    if (isset(
$HTTP_GET_VARS['id_capacitacion'])) {
$varcapacitacion1 = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['id_capacitacion'] : addslashes($HTTP_GET_VARS['id_capacitacion'    ]);
    }
    
$insertSQLcapac sprintf("UPDATE ejecutorcapac SET cumplioc=0 WHERE id_capacitacion='$varcapacitacion1'");
    
mysql_select_db($database_connFlashblog$connFlashblog);
    
$Resultcapac mysql_query($insertSQLcapac$connFlashblog) or die(mysql_error());

    foreach (
$_POST['cumplioid'] as $id){
    
$insertSQL sprintf("UPDATE ejecutorcapac SET cumplioc=1 WHERE id_ejecutorcapac='$id'");
    
mysql_select_db($database_connFlashblog$connFlashblog);
    
$Result1 mysql_query($insertSQL$connFlashblog) or die(mysql_error());
    } 

$insertGoTo "verprogracapac.php";

  if (isset(
$HTTP_SERVER_VARS['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
 
}

$varcapacitacion "1";
if (isset(
$HTTP_GET_VARS['id_capacitacion'])) {
  
$varcapacitacion = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['id_capacitacion'] : addslashes($HTTP_GET_VARS['id_capacitacion']);
}

mysql_select_db($database_connFlashblog$connFlashblog);
$query_rsCapacitacion "SELECT id_ejecutorcapac,ejecutorcapac.id_ejecutor,id_capacitacion,cumplioc,nombre,apellido_paterno,apellido_materno FROM ejecutor,ejecutorcapac WHERE ejecutor.id_ejecutor=ejecutorcapac.id_ejecutor and id_capacitacion='$varcapacitacion' order by apellido_paterno asc";
$rsCapacitacion mysql_query($query_rsCapacitacion$connFlashblog) or die(mysql_error());
$row_rsCapacitacion mysql_fetch_assoc($rsCapacitacion);
$totalRows_rsCapacitacion mysql_num_rows($rsCapacitacion); 
Código HTML:
 <?php do { ?>
                <tr valign="middle" bgcolor="#E9E9E9">
                  <td align="left" height="" class="textos"> &nbsp;&nbsp;<IMG src="../../../images/icon_dot.gif">&nbsp;&nbsp;<?php echo $row_rsCapacitacion['apellido_paterno']." ".$row_rsCapacitacion['apellido_materno']." ".$row_rsCapacitacion['nombre']; ?></td>

              <td align="center"> <span class="titulos">

			  <input type="checkbox" name="cumplioid[]" value="<?php echo $row_rsCapacitacion['id_ejecutorcapac']?>"
			  <?php if ($row_rsCapacitacion['cumplioc'] == 0) {
				$checked = "";
				} elseif ($row_rsCapacitacion['cumplioc'] == 1) {
				$checked = "CHECKED";
			  }echo $checked?>
			  >
			
              </span></td>

				  <td align="center" height="" class="textos">Titular</td>
                </tr>
				
                <?php } while ($row_rsCapacitacion = mysql_fetch_assoc($rsCapacitacion)); ?> 
hice algunas modificaciones al ejemplo que me dio cluster espero les ayude el codigo igual q a mi
hasta pronto :P
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:17.