Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2006, 12:06
cgamae
 
Fecha de Ingreso: mayo-2006
Ubicación: mexico, distrito federal
Mensajes: 64
Antigüedad: 18 años
Puntos: 0
Pregunta problemas con modificar datos

hola a todos,tengo un problema sobre la modificacion de unos datos, estoy trabajado con php y mysql. El problema es que quiero modificar un lote de datos, digamosle asi, por medio de checkbox, es decir, selecciono los datos que deseo modificar, bueno pongo el codigo para mas facil de explicar, lo simplifique lo mas que pude....

modificar.html ---> aqui no hay problema
<html>
<head><title></title></head>
<body>
<form method="post" name="modif" action="modificar2.php">
<table width="50%" border="1">
<tr>
<td width="20%">Folio:</td><td width="40%"><input name="folio" type="text"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Bucar"></td>
</tr>
</table>
</form>
</body>
</html>


modificar2.php ----> en este tengo algunas dudas

<?
require('conexion.php')

$folio=$_POST["folio"];//recibo los datos mandados por el formulario de la busqueda
//empieza la busqueda de los datos
if($folio){ $sql="SELECT * FROM ordenes WHERE folio='$folio'"; } //busqueda folio
$result = mysql_query($sql,$db);
// Se inicial el formulario
echo "<form action=\"modificar3.php\" method=\"post\"> \n";
// Extraemos y componemos los checbox dinámicos de los datos de nuestra tabla de la BD.
while ($row = mysql_fetch_array($result))
{
//segun yo, aqui guardo el numero de folio
echo "<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['folio']."\">";
//imprimo los datos en un textbox, para que se modifiquen los datos, y guardo los
//datos en seleccion2[], pero no estoy seguro de que se guarden
echo "<input type=\"text\" name=\"seleccion2[]\" value=\"".$row['articulo']."\">";

echo "<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['folio']."\">";
echo "<input type=\"text\" name=\"seleccion2[]\" value=\"".$row['inventario']."\">";

echo "<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['folio']."\">";
echo "<input type=\"text\" name=\"seleccion2[]\" value=\"".$row['descripcion']."\">";
}
echo "<input type=\"submit\" name=\"Submit\" value=\"¿Modificar?\">";
echo "</form>";
?>


bueno aqui tengo duda sobre si estoy haciedo bien en como guardar los datos de los checkbox seleccionados, es decir y guardar el id del ckb en seleccion[], y el dato que se desea modificar ya modificado en seleccion2[]

modificar3.php ----> el problema

aqui es donde esta un problema fuerte, no se si asi esta bien para modificar el lote de datos

<?
require('conexion.php');
// Generamos una lista de los ID's (campo value= ..) que tenemos
//en nuestro array, este contiene los id de los ckb a modificar

//segun yo, en esto se guarda el folio que da referencia a los datos
//que voy a modificar, osea que si tengo 3 articulos con este folio
//$lista_ckb debe contener el mismo folio 3 veces, pero no estoy seguro
$lista_ckb=implode(',',$_POST['seleccion']);

//en $lista_dat, segun yo,aqui guardo los datos que modifique en los
//textbox, y los nuevos datos que quier guardar o moficar en este caso
//la verdad no se si los almacena
$lista_dat=implode(',',$_POST['seleccion2']);

//el el problema creo que esta en la sentencia sql, la explico como la entiendo
// en usuario, segun el id del ckb se modificara el dato correspondiente a usuario
// articulo y descripcion, y si por ejemplo no seleccione que se modificara articulo
//en $lista_ckb, no mandara el id del tal ckb y no se modificara este, bueno lo que
//tenga(si no se modifico), lo sobre escribe en el valor que tenia
$sql="Update ordenes Set usuario IN(".$lista_dat."), articulo IN(".$lista_dat.") " .
"descripcion IN(".$lista_dat.") Where id IN(".$lista_ckb.")";

//y como es de esperarse me manda que los datos no se guardaron
$result = mysql_query($sql,$db);
if($result){ echo "DATOS MODIFICADOS CORRECTAMENTE"; }
else{ echo "¡¡¡ERROR: DATOS NO MODIFICADOS!!!"; }


/************************************************** ************************************/
/* NOTA: tome como ejemplo un codigo que esta en las faq' de php, digamosle pagina 3 */
/* el numero de la pregunta es la #86 y la responde cluster (saludos), este ejemplo */
/* es para eliminar datos, y quiero hacerlo para modificarlo, dependiendo de los */
/* checkbox seleccionados y los textbox modificados */
/************************************************** ************************************/

?>


espero sea entendible lo que quier decir, y si no es asi, digamelo para explicarme mejor, y cualquier ayuda de antemano sera bien recibida y muchas gracias.....

Última edición por cgamae; 03/12/2006 a las 12:10 Razón: las letras estaban muuuy grandes