Foros del Web » Programando para Internet » PHP »

Modificar no me sale

Estas en el tema de Modificar no me sale en el foro de PHP en Foros del Web. Buenas a todos!, tengo un formulario donde me pasa dos variables las agarro para modificarlas. El problema esta en el UPDATE, pero no se como ...
  #1 (permalink)  
Antiguo 08/12/2011, 17:34
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Modificar no me sale

Buenas a todos!, tengo un formulario donde me pasa dos variables
las agarro para modificarlas.

El problema esta en el UPDATE, pero no se como corregirlo..
mi base de datos tiene dos campos min_m y max_m
del formulario traigo dos nombres minimo y maximo

Código PHP:
Ver original
  1. include('config.php');
  2. include('conexion.php');
  3. $conectado = conectar ();
  4.  
  5. $registros=mysql_query("update configuro
  6.  
  7. SET
  8. min_m='$_REQUEST[minimo]'
  9. max_m='$_REQUEST[maximo]'
  10.  
  11. WHERE
  12. min_m='$_REQUEST[minimo]'
  13. max_m='$_REQUEST[maximo]'",
  14. $conectado) or
  15.  
  16.  
  17.  
  18.   die("Problemas en el select:".mysql_error());
  19.   echo "El mail fue modificado con exito";
  20.  
  21.   mysql_close($conectado);
  22.  
  23. ?>

Muchas gracias a todos
Saludos
Fede
  #2 (permalink)  
Antiguo 08/12/2011, 17:36
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Modificar no me sale

y te da algun error o algo el mysql_error?? porque en tu consulta te falta una coma (,) para separar tu campo
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 08/12/2011, 17:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Modificar no me sale

Creo que hacen falta también los operadores lógicos AND en tu consulta, que de paso te digo no es un problema que corresponda al foro de php.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 08/12/2011, 18:50
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: Modificar no me sale

El error que tira es el siguiente:

Problemas en el select:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'max_m='5454' WHERE min_m='45' max_m='5454'' at line 5

pero veo las variables max_m y min_m que tienen sus respectivos valores ... pero no modifica...

los ejemplo que encuentro son para modificar de a uno solo, y el WHERE hace alucion a un id..

si alguien conoce algun ejemplo o alguna solucion estare muy agradecido.!!

sitando a pateketrueke Creo que hacen falta también los operadores lógicos AND en tu consulta, que de paso te digo no es un problema que corresponda al foro de php.

a que foro o programacion corresponde al AND?.. es un operador logico (i) corresponde a PHP - JAVA - BISUAL - JAVASCRIPT - no pertenece a HTML por ejemplo... (aclaro que es lo que yo conozco)

Saludos y gracias por responder.!!!

Fede
  #5 (permalink)  
Antiguo 08/12/2011, 19:29
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Modificar no me sale

el error que tienes corresponderia al foro de mysql ya que tu error es en la consulta sql, revisa aca, para que tu mismo veas cual es el error, de hecho ya te lo esta diciendo php, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 08/12/2011, 20:18
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 16 años
Puntos: 14
Respuesta: Modificar no me sale

Hola Fede :)

Supongo que estás comenzando con PHP o SQL y por eso te está saliendo raro. Cuando a mí no me salen consultas de este tipo, suelo seguir un proceso de "simple a complejo".

Para empezar, podrías ir a tu phpmyadmin, donde tienes las tablas y todo eso, y hacer una modificación de esos dos valores desde ahí. Verás que cuando ejecutas el cambio el phpmyadmin te enseña la consulta que él ha realizado.
Esto lo hago yo a veces cuando no estoy seguro de cómo debería ser una consulta.

En tu código, yo creo que tienes dos problemas; uno de instrucción SQL y otro de PHP.

Para que no te hagas un lío, es mejor que no escribas en diferentes líneas la consulta, almenos hasta que no se ejecute bien. Mira tu consulta SQL:


Código:
update configuro SET min_m='$_REQUEST[minimo]' max_m='$_REQUEST[maximo]'  WHERE min_m='$_REQUEST[minimo]' max_m='$_REQUEST[maximo]'
Como instrucción SQL, está mal porque deberías poner una "," en el SET y un "AND" en el WHERE, así:

Código:
update configuro SET min_m='$_REQUEST[minimo]', max_m='$_REQUEST[maximo]'  WHERE min_m='$_REQUEST[minimo]' AND max_m='$_REQUEST[maximo]'
Y como código PHP está mal porque, si quieres acceder a una variable PHP, debes indicar que lo que estás escribiendo no pertenece a una cadena STRING. Es decir:

min_m='".$_REQUEST[minimo]."'

Te pongo el código que debería funcionarte, pero pregunta si no lo entiendes porque sino la próxima vez tendrás otro problema con lo mismo :)

Código:
    include('config.php');
    include('conexion.php');
    $conectado = conectar ();
     
    $registros=mysql_query("update configuro
     
    SET
    min_m='".$_REQUEST[minimo]."' ,
    max_m='".$_REQUEST[maximo]."'
     
    WHERE
    min_m='".$_REQUEST[minimo]."' AND
    max_m='".$_REQUEST[maximo]."'",
    $conectado) or
     
     
     
      die("Problemas en el select:".mysql_error());
      echo "El mail fue modificado con exito";
     
      mysql_close($conectado);
     
    ?>

Además creo que para acceder al request deberías poner entre comillas el valor entre []. Si no te funciona eso prueba poniendo $_REQUEST['minimo'] en todas.

Suerte y espero haberte ayudado :)
  #7 (permalink)  
Antiguo 10/12/2011, 11:48
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 8 meses
Puntos: 7
Pregunta Respuesta: Modificar no me sale

Hola a todos, gracias por sus respuesta,

Urdaris_Nox : hice lo que decis de ver como se cambian en SQL, lo hice con HeidiSQL y me muestra lo siguiente:

Código SQL:
Ver original
  1. UPDATE `configuro` SET `min_m`='10' WHERE `min_m`='5' AND `max_m`='100' LIMIT 1;
  2. UPDATE `configuro` SET `min_m`='6', `max_m`='8' WHERE `min_m`='10' AND `max_m`='100' LIMIT 1;

entonces vi que el problema que tenia es que le mandaba los datos nuevos para actualizar pero nunca le mandaba los datos viejos.

Copie tu codigo y anduvo de 10, obviamente tuve que hacer el formulario asi:

Código HTML:
Ver original
  1. MINIMO PERMITIDO:<br />
  2. <input type="text" name="minimo_nuevo" value="<?php echo $reg['min_m'] ?>"/><br />
  3. <input type="hidden" name="minimo_viejo" value="<?php echo $reg['min_m'] ?>">
  4. MAXIMO PERMITIDO:<br />
  5. <input type="text" name="maximo_nuevo" value="<?php echo $reg['max_m'] ?>"/><br />
  6. <input type="hidden" name="maximo_viejo" value="<?php echo $reg['max_m'] ?>">

Pregunta, hay alguna forma de no hacer dos formularios por cada campo que quiero modificar?..

Muchas gracias. a todos.!!!
Saludos
Fede

Etiquetas: formulario, modificar, mysql, registro, sql, variables
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 04:03.