Foros del Web » Programando para Internet » PHP »

problema al actualizar mysql php

Estas en el tema de problema al actualizar mysql php en el foro de PHP en Foros del Web. hola, veran ya tengo dias con este problemilla, el chiste es que tengo mi formulario y cada textfield tiene su propo id. el form y ...
  #1 (permalink)  
Antiguo 21/12/2010, 13:46
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta problema al actualizar mysql php

hola, veran ya tengo dias con este problemilla, el chiste es que tengo mi formulario y cada textfield tiene su propo id. el form y conexion y todo esta listo

el problema esta cuando intetno actualizar un registro, agrego el numero llave para identificar el registro, entonces tengo los otros registros en blanco y solo quiero modificar un solo campo, entonces cuando le pongo actualizar me borra los registros de los demas campos y me los deja null.

necesito saber como hacerle para que cuando actualize no me borre los registros, necesito que me los deje intactos si esos regisrtos no se modifican.

si alguien sabe algo por favor que lo explique
  #2 (permalink)  
Antiguo 21/12/2010, 13:52
 
Fecha de Ingreso: diciembre-2010
Mensajes: 31
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problema al actualizar mysql php

Vas a tener que poner algo de tu código, si no va a ser dificil ayudarte amigo.
  #3 (permalink)  
Antiguo 21/12/2010, 14:36
Avatar de gusma62  
Fecha de Ingreso: julio-2008
Ubicación: Tepatitlán, Jalisco, Mexico
Mensajes: 167
Antigüedad: 15 años, 9 meses
Puntos: 6
Respuesta: problema al actualizar mysql php

UPDATE tabla SET campo_a_modificar = 'nuevo valor' WHERE id = 5

Esta es la forma de actualizar un solo campo de cierto registro de cierta tabla, observa
  #4 (permalink)  
Antiguo 21/12/2010, 14:41
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: problema al actualizar mysql php

bueno, primero que nada deber recuperar los datos con un select

SELECT * FROM tabla WHERE id=5

e imprimirlos en el form... luego al darles guardar te llevara el valor con el UPDATE... ahora bien, si pones tu codigo entero sera mas facil ver el error o no... porque por ahi puedes estar haciendo algo que no corresponde sin querer...

No te preocupes, nadie te robara el codigo, hay muchos de esos por aca... y cuando me refiero a codigo, es algo mas que una simple consulta SQL
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 21/12/2010, 22:58
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: problema al actualizar mysql php

Cita:
Iniciado por loncho_rojas Ver Mensaje

No te preocupes, nadie te robara el codigo, hay muchos de esos por aca... y cuando me refiero a codigo, es algo mas que una simple consulta SQL
jejeje no, no es por que me vayan a copiar el codigo, solo que no lo tenia en la compu en ese momento, pero aki les va.

Código PHP:
<?php require_once('Connections/conexion.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"] == "form1")) {
  
$updateSQL sprintf("UPDATE padron SET folio=%s, calle=%s, num_int=%s, encalles=%s, colonia=%s, colindancias=%s, inmueble=%s, nombreprop=%s WHERE cuenta=%s",
                       
GetSQLValueString($_POST['folio'], "text"),
                       
GetSQLValueString($_POST['calle'], "text"),
                       
GetSQLValueString($_POST['num_int'], "text"),
                       
GetSQLValueString($_POST['encalles'], "text"),
                       
GetSQLValueString($_POST['colonia'], "text"),
                       
GetSQLValueString($_POST['colindancias'], "text"),
                       
GetSQLValueString($_POST['inmueble'], "text"),
                       
GetSQLValueString($_POST['nombreprop'], "text"),
                       
GetSQLValueString($_POST['cuenta'], "text"));

  
mysql_select_db($database_conexion$conexion);
  
$Result1 mysql_query($updateSQL$conexion) or die(mysql_error());
}
?>

este viene siendo ya con el dreamweaber, con el pequeño asistente que trae para realizar las actualizaciones, aunque aqui tengo otro, que me sucede exactamente lo mismo.


Código PHP:
<?php

   
// Recupera ID del proveedor
   
$cuenta strtoupper($_REQUEST["cuenta"]);
   
$folio $_REQUEST["folio"];
   
$calle $_REQUEST["calle"];
   
$numero=$_REQUEST["numero"];
   
$encalles=$_REQUEST["encalles"];
   
$colonia=$_REQUEST["colonia"];
   
$colindancias=$_REQUEST["colindancias"];
   
$inmueble=$_REQUEST["inmueble"];
   
$ocupacion=$_REQUEST["ocupacion"];
   
$agua=$_REQUEST["agua"];
   
$drenaje=$_REQUEST["drenaje"];
   
$regagua=$_REQUEST["regagua"];
   
$regdrenaje=$_REQUEST["regdrenaje"];
   
$tarifa=$_REQUEST["tarifa"];
   
$categoria=$_REQUEST["categoria"];
   
$condiciones=$_REQUEST["condiciones"];
   
$toma=$_REQUEST["toma"];
   
$sanitarios=$_REQUEST["sanitarios"];
   
$mingitorios=$_REQUEST["mingitorios"];
   
$regaderas=$_REQUEST["regaderas"];
   
$lavabos=$_REQUEST["lavabos"];
   
$tinas=$_REQUEST["tinas"];
   
$fregaderos=$_REQUEST["fregaderos"];
   
$lavaderos=$_REQUEST["lavaderos"];
   
$lavadoras=$_REQUEST["lavadoras"];
   
$boilers=$_REQUEST["boilers"];
   
$albercas=$_REQUEST["albercas"];
   
$aire=$_REQUEST["aire"];
   
$fuentes=$_REQUEST["fuentes"];
   
$llaves=$_REQUEST["llaves"];
   
$medidor=$_REQUEST["medidor"];
   
$numedidor=$_REQUEST["numedidor"];
   
$lugmedidor=$_REQUEST["lugmedidor"];
   
$funciona=$_REQUEST["funciona"];
   
$lectura=$_REQUEST["lectura"];
   
$nombreprop=$_REQUEST["nombreprop"];
   
$apellido=$_REQUEST["apellido"];
   
$conyugue=$_REQUEST["conyugue"];
   
$nivel=$_REQUEST["nivel"];
   
$electricidad=$_REQUEST["electricidad"];
   
$satelite=$_REQUEST["sateilite"];
   
$cable=$_REQUEST["cable"];
   
$asfalto=$_REQUEST["asfalto"];
   
$descuento=$_REQUEST["descuento"];
   
$tipodescuento=$_REQUEST["tipodescuento"];
   
$observaciones=$_REQUEST["observaciones"];
 
   
   
   
   



function 
Conectarse()
{
   if (!(
$link=mysql_connect("localhost","root")))
   {
      echo 
"Error conectando a la base de datos.";
      exit();
   }
   if (!
mysql_select_db("jmas",$link))
   {
      echo 
"Error seleccionando la base de datos.";
      exit();
   }
   return 
$link;
}

$link=Conectarse();
echo 
"Conexión con la base de datos conseguida.<br>";





   
// Realiza la actualización del proveedor indicado
   

   
   
   
$strqry "UPDATE padron SET folio='$folio', calle='$calle',"."numero='$numero', encalles='$encalles',"." colonia='$colonia', colindancias='$colindancias',"."inmueble='$inmueble', ocupacion='$ocupacion',"."agua='$agua', drenaje='$drenaje',"." regagua='$regagua', regdrenaje='$regdrenaje',"."tarifa='$tarifa', categoria='$categoria',"."condiciones='$condiciones', toma='$toma',"."sanitarios='$sanitarios', mingitorios='$mingitorios',"."regaderas='$regaderas', lavabos='$lavabos',"."tinas='$tinas', fregaderos='$fregaderos',"."lavaderos='$lavaderos', lavadoras='$lavadoras',"."boilers='$boilers', albercas='$albercas',"."aire='$aire', fuentes='$fuentes',"."llaves='$llaves', medidor='$medidor',"."numedidor='$numedidor',lugmedidor='$lugmedidor',"."funciona='$funciona', lectura='$lectura', nombreprop='$nombreprop',"."apellido='$apellido',conyugue='$conyugue',"."nivel='$nivel',electricidad='$electricidad',"."satelite='$satelite', cable='$cable',"."asfalto='$asfalto', descuento='$descuento',"."tipodescuento='$tipodescuento',observaciones='$observaciones',"."   WHERE cuenta=$cuenta";

   
   
   
  

   
$qry mysql_query ($strqry);

   if (!
$qry || (mysql_affected_rows()==0))
      print (
'<font color="#ff0000" size="4" face="Verdana, Arial, Helvetica, sans-serif">
              <strong>Error : Actualización Fallida.</strong></font>'
);
   else{
      print (
'<font color="#999999" size="4" face="Verdana, Arial, Helvetica, sans-serif">
              <strong>Aviso : Proveedor actualizado exitosamente.</strong></font>
              <font color="#006699" size="2" face="Verdana, Arial, Helvetica, sans-serif">
              <br><br>Verifique las modificaciones
              <a href="http://localhost/ITC-DISCLI/Ejemplos/php_mysql_2.php">
                 utilizando el Ejemplo 2</a>
              </font> '
);
   }

   
// Cierra la conexión con MySQL
   
mysql_close ($link);

?>
  #6 (permalink)  
Antiguo 21/12/2010, 23:30
 
Fecha de Ingreso: mayo-2010
Ubicación: uruguay
Mensajes: 62
Antigüedad: 13 años, 11 meses
Puntos: 7
Respuesta: problema al actualizar mysql php

como dice GUSMA es la ideal ...
primero deberias de probar con esa que ya puedes modificar solo el campo que quieres.

intenta modificar essto......

$strqry = "UPDATE padron SET folio='$folio', calle='$calle',"."numero='$numero', encalles='$


por esto (cito a gusma)
UPDATE tabla SET campo_a_modificar = 'nuevo valor' WHERE id = 5

Ahi te sale o te sale...

SUERTE!!!









Si sale karma manden para acá
  #7 (permalink)  
Antiguo 22/12/2010, 09:23
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: problema al actualizar mysql php

Cita:
Iniciado por gusma62 Ver Mensaje
UPDATE tabla SET campo_a_modificar = 'nuevo valor' WHERE id = 5

Esta es la forma de actualizar un solo campo de cierto registro de cierta tabla, observa
Cita:
Iniciado por vitamina Ver Mensaje
como dice GUSMA es la ideal ...
primero deberias de probar con esa que ya puedes modificar solo el campo que quieres.

intenta modificar essto......

$strqry = "UPDATE padron SET folio='$folio', calle='$calle',"."numero='$numero', encalles='$


por esto (cito a gusma)
UPDATE tabla SET campo_a_modificar = 'nuevo valor' WHERE id = 5

Ahi te sale o te sale...

SUERTE!!!



Si sale karma manden para acá

pero eso seria si lo hiciera sin tener algun formulario para tomar variables, uso formulario en html...

miren tambien intente hacer esto pero no se cual es el problema, no me sale ningun error y no me modifica nada.


este php no me muestra absolutamente nada, y realmente esto es lo ke deseo hacer:

Código PHP:

<?php

if ($OK == "BUSCAR") {

// coneccion al servidor de bases de datos

$dbh=mysql_connect ("localhost""root""")

or die (
'problema conectando porque :' mysql_error());

// seleccionado la base de datos

mysql_select_db ("jmas",$dbh);

// preparando la instruccion sql

$q "select * from padron where cuenta= ".$CLAVE;

// ejecutando el query select regresa un rowset

$tabla1 mysql_query($q$dbh) or die ("problema con query") ;

// regresando renglon con registro

$reg mysql_fetch_row($tabla1);

// construyendo forma dinamica

echo "<FORM ACTION=prog41.php METHOD=post>";

// recordar que strings se encadenan con .

echo "NOMBRE:<INPUT TYPE=text NAME=NOMBRE value= \"".$reg[1]."\"><BR>";

echo 
"EDAD:<INPUT TYPE=text NAME=EDAD value=$reg[2]><BR>";

echo 
"ESTATURA:<INPUT TYPE=text NAME=ESTATURA value=$reg[3]><BR>";

echo 
"<input type=hidden name=CLAVE value=$reg[0]>";

echo 
"<INPUT TYPE=submit NAME=OK VALUE=editar><BR>";

echo 
"</FORM>";

};

if (
$OK == "editar")

{

// coneccion al servidor de bases de datos

$dbh=mysql_connect ("localhost""root""")

or die (
'problema conectando porque :' mysql_error());

// seleccionado la base de datos

mysql_select_db ("jmas",$dbh);

// preparando la instruccion sql

$q "UPDATE padron set nomreprop='".$NOMBRE."', folio=".$EDAD.", num_int=".$ESTATURA." where cuenta=".$CLAVE;

// ejecutando el query

mysql_query($q$dbh) or die ("problema con query");

// avisando

echo "REGISTRO EDITADO";

};

?>

como referencia esta es la pagina de donde lo encontre:

http://www.programacionfacil.com/php:update_sql

alguna sugerencia?
  #8 (permalink)  
Antiguo 22/12/2010, 09:26
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: problema al actualizar mysql php

Acá te sobra una coma antes del where:

Código PHP:
 $strqry "UPDATE padron SET folio='$folio', calle='$calle',"."numero='$numero', encalles='$encalles',"." colonia='$colonia', colindancias='$colindancias',"."inmueble='$inmueble', ocupacion='$ocupacion',"."agua='$agua', drenaje='$drenaje',"." regagua='$regagua', regdrenaje='$regdrenaje',"."tarifa='$tarifa', categoria='$categoria',"."condiciones='$condiciones', toma='$toma',"."sanitarios='$sanitarios', mingitorios='$mingitorios',"."regaderas='$regaderas', lavabos='$lavabos',"."tinas='$tinas', fregaderos='$fregaderos',"."lavaderos='$lavaderos', lavadoras='$lavadoras',"."boilers='$boilers', albercas='$albercas',"."aire='$aire', fuentes='$fuentes',"."llaves='$llaves', medidor='$medidor',"."numedidor='$numedidor',lugmedidor='$lugmedidor',"."funciona='$funciona', lectura='$lectura', nombreprop='$nombreprop',"."apellido='$apellido',conyugue='$conyugue',"."nivel='$nivel',electricidad='$electricidad',"."satelite='$satelite', cable='$cable',"."asfalto='$asfalto', descuento='$descuento',"."tipodescuento='$tipodescuento',observaciones='$observaciones',"."   WHERE cuenta=$cuenta"
Lo mejor que puedes hacer es, imprimir la instrucción sql final para ver como está quedando, y si la pegas acá mejor para ver si tiene algo extraño.
  #9 (permalink)  
Antiguo 22/12/2010, 09:33
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: problema al actualizar mysql php

aqui esta el html, lo que no se si va todo en un solo php o tengo ke hacerlo por separado


Código HTML:
<HTML>

<FORM ACTION=prog41.php METHOD=post>

DAME CLAVE A EDITAR:<INPUT TYPE=text NAME=CLAVE><BR>

<INPUT TYPE=submit NAME=OK VALUE="BUSCAR"><BR>

</FORM></HTML> 

Etiquetas: mysql
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 18:15.