hola:
cluster me dio la idea de poner last_insert_id(), cual es el problema q me actualiza todos los registros no solo el ultimo algo debo de estar haciendo mal.
pero el q?
un saludo
gracias
| |||
update...(cluster) hola: cluster me dio la idea de poner last_insert_id(), cual es el problema q me actualiza todos los registros no solo el ultimo algo debo de estar haciendo mal. pero el q? un saludo gracias |
| |||
Leistes el manual de Mysql .. al respecto? http://www.mysql.com/doc/en/Getting_unique_ID.html Pon la estructura de la tabla q usas y la consulta que haces .. Cuando digo estructura me refiero a nombre del campo y tipo+propidades (con phpMyadmin mismo lo puedes obtener .. y pegarlo aquí) ... En PHP tambien tienes mysql_insert_id() que hace lo mismo pero via PHP .. Yo siempre recomiendo las funciones equivalentes en SQL de Mysql .. Via PHP: (tienes ejemplos .. y en los comentarios de los usuarios tienes los ejemplos usando SQL de Mysql directo) http://us.php.net/manual/en/function...-insert-id.php Un saludo, Última edición por Cluster; 03/01/2003 a las 10:34 |
| |||
ahi va eso.. la verdad es q no se a q te referias, llevo muy poco tiempo en esto y no tengo nada de idea. no se si sera esto lo q me pidas: codigo php: function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $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 = $HTTP_SERVER_VARS['PHP_SELF']; if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) { $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING']; } if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"] == "form1")) { $updateSQL = sprintf("UPDATE aviso_tradicional SET tipo=%s, necesidades=%s, dia=%s, horario=%s, telf_contacto=%s, contacto=%s, obs=%s WHERE ID=%s", GetSQLValueString($HTTP_POST_VARS['tipo'], "text"), GetSQLValueString($HTTP_POST_VARS['necesidades'], "text"), GetSQLValueString($HTTP_POST_VARS['dia'], "text"), GetSQLValueString($HTTP_POST_VARS['horario'], "date"), GetSQLValueString($HTTP_POST_VARS['telf_contacto'], "int"), GetSQLValueString($HTTP_POST_VARS['contacto'], "text"), GetSQLValueString($HTTP_POST_VARS['obs'], "text"), GetSQLValueString($HTTP_POST_VARS['ID'], "int")); mysql_select_db($database_aviso, $aviso); $Result1 = mysql_query($updateSQL, $aviso) or die(mysql_error()); } mysql_select_db($database_aviso, $aviso); $query_Recordset1 = "SELECT * FROM aviso_tradicional"; $Recordset1 = mysql_query($query_Recordset1, $aviso) or die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysql_num_rows($Recordset1); codigo html: <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form method="post" name="form1" action="<?php echo $editFormAction; ?>"> <table align="center"> <tr valign="baseline"> <td nowrap align="right">Tipo:</td> <td> <input type="text" name="tipo" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right">Necesidades:</td> <td> <input type="text" name="necesidades" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right">Dia:</td> <td> <input type="text" name="dia" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right">Horario:</td> <td> <input type="text" name="horario" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right">Telf_contacto:</td> <td> <input type="text" name="telf_contacto" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right">Contacto:</td> <td> <input type="text" name="contacto" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right">Obs:</td> <td> <input type="text" name="obs" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right"> </td> <td><input type="submit" value="Update Record"></td> </tr> </table> <input type="hidden" name="MM_update" value="form1"> <input type="hidden" name="ID" value="<?php echo $row_Recordset1['ID']; ?>"> </form> <p> </p> </body> </html> muchas gracias |
| |||
Xias .. te comenté que si pones cógido PHP uses el boton "PHP" a la hora de redactar el mensaje .. con eso se ve mas claro el cógio .. Si has leido el manual de Mysql .. veras que usar LAST_INSERT_ID() de Mysql o incluso mysql_insert_id() de PHP requiere de unas caracteristicas de al menos un campo de tu tabla (base de datos) Mysql .. Lo que te pido es q pongas aquí el modelo de datos . .la tabla con sus campos y propiedades q usas .. Si no la pones NO se vé si estas usando algun campo con las propiedades que se requieren para usar esas funciones ... Por otra parte .. tu problema está bien localizado en SQL de Mysql . .así q sobrraaaaaaa mucho código .. centrate en lo que dá error .. resume el código en una simple prueba de uso de esas funciones o metodo q quieres implementar . .cuando lo tengas claro y funcionando lo adpatas a tu código. Un saludo, |
| |||
![]() ahi te mando la estructura de mi tabla(donde van los datos del update): tipo: char(3) not null necesidades: varchar(200) not null dia: varchar(10) horario: time telf_contacto:int contacto: varchar(25) obs: varchar(100) id: autoincrement not null pK fecha_hora: datetime not null PK (este campo se rellena de otra pagina anterior) un saludo gracias |
| |||
Buff .. yo ya me perdí .. Bueno ahora ya hay mas datos (ya se vé que usas un campo "autoincremental" ...) .. A su vez ese campo ID podría ser Unico (unique) .. Revisa el manual de PHP (y el de Mysql) ..en el de PHP tienes ejemplos de uso de mysql_insert_id() .. Haz tus pruebas e intenta comprender como usarlo. Un saludo, |