Foros del Web » Programando para Internet » PHP »

CheckBox vs. Update...

Estas en el tema de CheckBox vs. Update... en el foro de PHP en Foros del Web. Ante todo, dejó en claro que ya he recorrido muchas respuesta y todo eso pero NO he logrado mi cometido. Tengo este codigo que va ...
  #1 (permalink)  
Antiguo 13/06/2005, 11:00
Usuario no validado
 
Fecha de Ingreso: mayo-2005
Ubicación: Benicàssim
Mensajes: 56
Antigüedad: 12 años, 6 meses
Puntos: 0
Información CheckBox vs. Update...

Ante todo, dejó en claro que ya he recorrido muchas respuesta y todo eso pero NO he logrado mi cometido.
Tengo este codigo que va muy bien pero...que debo agregar y/o modificar a este código para que, al momento de QUITAR un CheckBox el proceso funciona también. De momento, me actulizar sólo los CheckBox en "ON".

-------------------------------
Formulario.php
--------------------------------
<form method='post' action='actualizar.php'>

<tr bgcolor="#CC6666" onMouseOver="this.style.backgroundColor='#FF9900'; this.style.cursor='hand';"onMouseOut="this.style.b ackgroundColor='#CC6666'"o"];">

<td>
<div align="center"><font size="1" face="Verdana" color="#FFFFCC">
<? if ($registro['status']=='on') {
echo "<input type='checkbox' checked name='".$registro ['codigo']."' >";
}else{

echo "<input type='checkbox' name='".$registro['codigo']."' value='".$registro['status']."' >";
} ?>

</font></div></td>

<td><div align="center"><font size="1" face="Verdana" color="#FFFFCC">
<?echo $registro['descripcion']; ?></b></font></div></td>

<td><div align="center"><font size="1" face="Verdana" color="#FFFFCC">
<? echo $registro["precio"]; ?></b></font></div></td>

<td><div align="center"><font size="1" face="Verdana" color="#FFFFCC">
<? echo $registro["status"]; ?></b></font></div></td>

</tr>


<?
} //fin while
?>
<td colspan='3' align='center'><input type='submit' value='Actualizar Registros'></td>

</table>
</form>

---------------------------------
fin FORMULARIO.PHP
---------------------------------


-------------------------------
actualizar.php
--------------------------------
<?php

$SQLdelete='';

foreach($_POST as $indice => $valor) {
$SQLdelete.="'$indice',";
echo "indice: ".$indice." - " ;
echo "valor: ".$valor."<br>" ;
}

if ($SQLdelete!='') {
$SQLdelete=substr($SQLdelete,0,strlen($SQLdelete)-1);

$SQLdelete="update table set status='on' WHERE codigo IN (".$SQLdelete.")";

$conexion=mysql_connect('host','usr','pass');
mysql_select_db('DataBase') ;
mysql_query($SQLdelete) ;
echo "Registros Actualizados : ".mysql_affected_rows();
mysql_close($conexion);

} else {

echo "<font color='#ff0000'><i>No se Seleccionaron Registros...</i></font>";

}


?>

----------------------------------
fin ACTUALIZAR.PHP
----------------------------------

Gracias de Antemano !!!
  #2 (permalink)  
Antiguo 15/06/2005, 06:43
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por lvwrz
(...) al momento de QUITAR un CheckBox el proceso funciona también. De momento, me actulizar sólo los CheckBox en "ON".
si alguien entendió que me explique ...

Temo que tu consulta no es clara (al menos para mí)... procura revizar lo que escribes para que sea entendible... date el tiempo y la calma...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 15/06/2005, 09:37
Usuario no validado
 
Fecha de Ingreso: mayo-2005
Ubicación: Benicàssim
Mensajes: 56
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta


Gracias, por haberme contestado. Pensé que mi consulta había pasado desapercibida.
Bueno, el tema es así...muy sencillito...
El codigo expuesto funciona bien pero sólo me realiza el UPDATE cuando el CheckBox está tildado. Ya se que el CheckBox vacío no viaja en POST desde un formulario, es por eso que pido una ayudita de como adaptar este codigo para poder hacer el UPDATE de los CheckBox en ON y los en OFF (tildados y NO tildados).

  #4 (permalink)  
Antiguo 15/06/2005, 10:38
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Código PHP:
$SQLdelete="update table set status='on' WHERE codigo IN (".$SQLdelete.")"
Ahí te hace todos eso, lo mejor es cambiar status on , cuando está en off y viceversa.

Chécalo bien
  #5 (permalink)  
Antiguo 15/06/2005, 11:01
Usuario no validado
 
Fecha de Ingreso: mayo-2005
Ubicación: Benicàssim
Mensajes: 56
Antigüedad: 12 años, 6 meses
Puntos: 0
Busqueda

Gracias Lado2mx
Pero...¿cómo hago para saber que registros estaban en "ON" ,CheckBox "Tildado", y ahora han sido "destildados" quedando el CheckBox en Blaco si en el POST no vienen los CheckBox Vacíos?
  #6 (permalink)  
Antiguo 15/06/2005, 16:02
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
... ... la solución está en tus palabras...
Código PHP:
if(isset($_POST['check'])) echo "tildado";
else echo 
"No ;-)"// aquí es donde sabes qu no ha sido seleccionado 
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 16/06/2005, 02:54
Usuario no validado
 
Fecha de Ingreso: mayo-2005
Ubicación: Benicàssim
Mensajes: 56
Antigüedad: 12 años, 6 meses
Puntos: 0
Gracias Jam1138 ...pero...siempre hay un pero...
El tema es que NO sólo un POST llega del formulario sino que llegan tanto POST como registros encuentre el SELECT del formulario.

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 14:54.