Foros del Web » Programando para Internet » PHP »

Ayuda con codigo PHP para actualizar varios registros

Estas en el tema de Ayuda con codigo PHP para actualizar varios registros en el foro de PHP en Foros del Web. Hola Gente, estoy con un formulario donde quiero actualizar varios registros de una tabla, donde pueda o actualizar 1 o varios campos, o eliminar 1 ...
  #1 (permalink)  
Antiguo 28/05/2010, 10:35
 
Fecha de Ingreso: abril-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Ayuda con codigo PHP para actualizar varios registros

Hola Gente, estoy con un formulario donde quiero actualizar varios registros de una tabla, donde pueda o actualizar 1 o varios campos, o eliminar 1 o varios campos.
El tema de eliminar ya lo logré, hice un código para actualizar pero no logra hacerlo y no me tira ningún error, y la verdad ya agote todas "mis" posibilidades.
Les paso el código generado, para ver si a alguien se le ocurre algo.
Cita:
<?php require_once('../../Connections/dsa.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form")) {
foreach($_POST["ensayo"] as $key => $value){
$updateSQL = sprintf("UPDATE muestraspedido SET ensayo=%s WHERE id_det=%s",
GetSQLValueString($_POST['ensayo[]'][$value], "text"),
GetSQLValueString($_POST['id_det'], "int"));

mysql_select_db($database_dsa, $dsa);
$Result1 = mysql_query($updateSQL, $dsa) or die(mysql_error());

$updateGoTo = "/dsa/broma/muestras/muestras.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
}
if ((isset($_POST['check'])) && ($_POST['check'] != "")) {
$a_borrar = $_POST['check'];
if(!empty($a_borrar)){
foreach($a_borrar as $valor){
$deleteSQL = sprintf("DELETE FROM muestraspedido WHERE id_det=%s",
GetSQLValueString($valor, "int"));

mysql_select_db($database_dsa, $dsa);
$Result1 = mysql_query($deleteSQL, $dsa) or die(mysql_error());
}
}
}
$colname_pedido = "-1";
if (isset($_GET['Id_Muestra'])) {
$colname_pedido = $_GET['Id_Muestra'];
}
mysql_select_db($database_dsa, $dsa);
$query_pedido = sprintf("SELECT id_det, ensayo, Id_Muestra FROM muestraspedido WHERE Id_Muestra = %s", GetSQLValueString($colname_pedido, "int"));
$pedido = mysql_query($query_pedido, $dsa) or die(mysql_error());
$row_pedido = mysql_fetch_assoc($pedido);
$totalRows_pedido = mysql_num_rows($pedido);

mysql_select_db($database_dsa, $dsa);
$query_ensayos = "SELECT Determinacion FROM determinacion";
$ensayos = mysql_query($query_ensayos, $dsa) or die(mysql_error());
$row_ensayos = mysql_fetch_assoc($ensayos);
$totalRows_ensayos = mysql_num_rows($ensayos);
?>
Desde ya muchas gracias
Diego
  #2 (permalink)  
Antiguo 28/05/2010, 13:46
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima, Perú
Mensajes: 136
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Ayuda con codigo PHP para actualizar varios registros

Consulta:
¿el codigo lo has escrito o ha sido generado con un editor wysiwyg?

¿estructura de tus tablas?

Sugerencia:
Almacenas los datos en un array y luego updatealos por su id...
  #3 (permalink)  
Antiguo 28/05/2010, 14:04
 
Fecha de Ingreso: diciembre-2008
Mensajes: 102
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Ayuda con codigo PHP para actualizar varios registros

ese codigo es generado por dreamwever, deberias estudiar SQL asi sabras utilizar el update tabla ser campo = 1, campo2 = 2 where id_campo = 1

buscate un manual de sql en google
__________________
█ Luis Toscano - CodeMaster
Codigolandia.com
Foros Del Hosting
  #4 (permalink)  
Antiguo 24/01/2011, 17:30
Avatar de oscarios  
Fecha de Ingreso: septiembre-2004
Mensajes: 186
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Ayuda con codigo PHP para actualizar varios registros

hola buenas tardes, solo para decirles que tengo el mismo problema que el amigo, necesito actualizar varios registros al tiempo, y ho!!! sorpresa cuando veo la ultima respuesta donde simplemente lo mandan a estudiar sql para que resuelva su problema y listo, todo porque dijo que el codigo era de dreamweaver, tengo la mejor imagen de foros del web porque me ha servido muchisimo durante años pero quiero decirles que no esta bien hacer este tipo de respuestas. gracias
__________________
oscariosdw
  #5 (permalink)  
Antiguo 24/01/2011, 17:37
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Ayuda con codigo PHP para actualizar varios registros

Pero lo que necesitan es modificar varios registros o varios campos de un registro...?
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #6 (permalink)  
Antiguo 24/01/2011, 17:42
Avatar de oscarios  
Fecha de Ingreso: septiembre-2004
Mensajes: 186
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Ayuda con codigo PHP para actualizar varios registros

hola jotaincubus
lo que necesito es actualizar varios registros de una tabla
hago una consulta por php a la tabla, esto me da por ejemplo 15 resultados necesito actualizarle un campo a esos 15 resultados de una y no tener que hacerlo uno por uno. de antemano gracias por tu interes
__________________
oscariosdw
  #7 (permalink)  
Antiguo 24/01/2011, 18:03
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Ayuda con codigo PHP para actualizar varios registros

pues mira no soy un maestro en PHP como mucha gente aqui pero podrias hacerlo con un while

while($registros = mysql_fetch_array($consulta){
$modificar = "UPDATE miTabla SET campo = valor WHERE id=".$registros['campoID'];
mysql_query ($modificar, conexion);
}

Y tranquilos que el problema es que Dreamweaver coloca muchísimas funciones y cosas para hacer un simple INSERT o un UPDATE, pero no es que no les queramos ayudar.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Última edición por jotaincubus; 24/01/2011 a las 18:11 Razón: mas informacion
  #8 (permalink)  
Antiguo 24/01/2011, 19:53
Avatar de oscarios  
Fecha de Ingreso: septiembre-2004
Mensajes: 186
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Ayuda con codigo PHP para actualizar varios registros

jajaja bueno vale la aclaracion!!!! muchas gracias voy a probar y les cuento si me fue bien o si me cuelgo!!!
__________________
oscariosdw
  #9 (permalink)  
Antiguo 24/01/2011, 21:40
Avatar de oscarios  
Fecha de Ingreso: septiembre-2004
Mensajes: 186
Antigüedad: 19 años, 7 meses
Puntos: 2
Respuesta: Ayuda con codigo PHP para actualizar varios registros

bueno me volvi un lio porque no supe a donde meterlo, te dejo ver lo que tengo para ver si me puedes ayudar a ubicarme.......

Código PHP:
Ver original
  1. <?php require_once('Connections/connts.php'); ?>
  2. <HTML>
  3. <HEAD>
  4. <TITLE>prueba</TITLE>
  5. </HEAD>
  6. <BODY>
  7. <h1 align="center">edicion</h1>
  8. <br>
  9. <br>
  10. <?
  11.  
  12. if (!$_POST){
  13.    //si no POST, muestro el form
  14.  
  15.    //es posible que recibamos un id a partir del que hay que mostrar los datos
  16.    if (isset($_GET["id_mostrar"]))
  17.       $id_mostrar = $_GET["id_mostrar"];
  18.    else
  19.       $id_mostrar = 0;
  20. //extraemos de la base de datos los registros a mostrar
  21.    //Ejecutamos la sentencia SQL, limitando la búsqueda a 10 registros
  22.    $ssql="select * from maestra where id>$id_mostrar limit 10";
  23.    $result=mysql_query($ssql);
  24.  
  25.    echo "<form action='prueba.php' method=post>";
  26.    echo "\n<table align=center>";
  27.    echo "\n<tr><td><b>Nombre</b></td><td><b>Teléfono</b></td></tr>";
  28.    $i = 1;
  29.    while ($fila=mysql_fetch_array($result)){
  30.       echo "\n<input type=hidden name='id$i' value='" . $fila["id"] . "'>";
  31.       echo "<tr>";
  32.       echo "<td>" . $fila["serial"] . "</td>";
  33.       echo "<td><input type=text name='estado$i' value='" . $fila["estado"] . "'></td>";
  34.       echo "</tr>";
  35.       $i++;
  36.       $ultimo_mostrado = $fila["id"];
  37.    }
  38. echo "\n<tr><td colspan=2 align=center><input type='submit' value='Editar todos'></td></tr>";
  39.    echo "\n</table>";
  40.    echo "\n</form>";
  41. //si se han mostrado registros, pongo el enlace para ver los siguientes
  42.    if (isset($ultimo_mostrado))
  43.       echo "\n<br><a href='prueba.php?id_mostrar=" . $ultimo_mostrado . "'>Ver los 10 siguientes</a>";
  44.    }else{
  45. //es que he recibido datos de formulario, entonces tengo que recibirlos y actualizar la base de datos
  46.    for ($i=1;$i<=10;$i++){
  47.       //para cada uno de los elementos que puede haber en el formulario
  48.       if (isset($_POST["id" . $i])){
  49.          //es que este registro estaba en el formulario
  50.          $id = $_POST["id" . $i];
  51.          $estado = $_POST["estado" . $i];
  52.          $ssql = "update maestra set estado='$estado' where id=$id";
  53.          if (mysql_query($ssql))
  54.             echo "<br>Estado actualizado con éxito";
  55.             else
  56.             echo "<br>Estado NO actualizado";
  57.       }
  58.    }
  59.       echo "\n<p><a href=prueba.php>Volver</a>";
  60.    }
  61. ?>
  62. </BODY>
  63. </HTML>
__________________
oscariosdw

Etiquetas: registros
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:59.