Foros del Web » Programando para Internet » PHP »

duda en opcion UPDATE mysql

Estas en el tema de duda en opcion UPDATE mysql en el foro de PHP en Foros del Web. aqui esta el codigo to marcha bien pero a la hora de actualizar no marca ningun error pero tampoco actualiza Código PHP: <?php         $puntos_formulario  ...
  #1 (permalink)  
Antiguo 10/04/2010, 13:55
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 9 meses
Puntos: 9
duda en opcion UPDATE mysql

aqui esta el codigo to marcha bien pero a la hora de actualizar no marca ningun error pero tampoco actualiza

Código PHP:
<?php 
   
   $puntos_formulario 
$_POST['puntos_formulario']; 

//conectamos a la base de datos y seleccionamos la database

   
$conn mysql_connect ("localhost""xxxxxxx""xxxxxx");
   
mysql_select_db("chicharrin_cuenta",$conn);

//definimos la consulta

  
$consulta "SELECT puntos FROM registro_cuenta WHERE puntos = puntos"

   
$query mysql_query($consulta); 
   
   
$puntos mysql_fetch_array($query); 
      
    if(
$puntos['puntos'] >= 40){ 

   
$puntos_restantes = ($puntos_formulario $puntos['puntos']);

    
// el total de puntos restantes lo actualizas a tu db pero aqui es donde no actualiza nada solo dice los puntos que quedan en el codigo echo "te quedan $puntos_restantes puntos"; pero no se donde es el error

   
$Actualizar_puntos "UPDATE `registro_cuenta` SET `puntos` = '$puntos_restantes' WHERE `puntos` = '$puntos'"
  
   if(
mysql_query($Actualizar_puntos)){ 
   
   echo 
"te quedan $puntos_restantes puntos"
    
   
// enviar email 
  
   


   else { 
    
   echo 
'No se pudo procesar tu solicitud'

    } 


  } 
    else { 
    
    echo 
'Usted no posee suficientes puntos para canjear.'
       
    } 



?>
  #2 (permalink)  
Antiguo 10/04/2010, 14:01
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 3 meses
Puntos: 16
Respuesta: duda en opcion UPDATE mysql

prueba esto

"UPDATE registro_cuenta SET puntos = '$puntos_restantes' WHERE puntos = '$puntos'";
  #3 (permalink)  
Antiguo 10/04/2010, 14:03
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: duda en opcion UPDATE mysql

<?php

/*
ejemplo: <form name="form1" method="post">
Ingrese su nombre usuario:
<input type="text" name="puntos_formulario" id="puntos_formulario">
<BR> Puntos a canjear:
<input type="text" name="puntos_formulario" id="puntos_formulario">
<input name="enviar" type="submit" value="Canjear">
</form>




*/

if(isset($_POST['enviar']){

$username = $_POST['username'];

$puntos_formulario
= $_POST['puntos_formulario'];

//conectamos a la base de datos y seleccionamos la database

$conn = mysql_connect ("localhost", "xxxxxxx", "xxxxxx");
mysql_select_db("chicharrin_cuenta",$conn);

//definimos la consulta

$consulta = "SELECT puntos FROM registro_cuenta WHERE username = $username";

$query = mysql_query($consulta);

$puntos = mysql_fetch_array($query);

if(
$puntos['puntos'] >= 40){

$puntos_restantes = ($puntos_formulario - $puntos['puntos']);

// el total de puntos restantes lo actualizas a tu db pero aqui es donde no actualiza nada solo dice los puntos que quedan en el codigo echo "te quedan $puntos_restantes puntos"; pero no se donde es el error

$Actualizar_puntos = "UPDATE `registro_cuenta` SET `puntos` = '$puntos_restantes' WHERE `username` = '$username'";

if(
mysql_query($Actualizar_puntos)){

echo
"te quedan $puntos_restantes puntos";

// enviar email

}

else {

echo
'No se pudo procesar tu solicitud';

}


}
else {

echo
'Usted no posee suficientes puntos para canjear.';

}
}


?>
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #4 (permalink)  
Antiguo 10/04/2010, 14:10
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 15 años, 11 meses
Puntos: 16
Respuesta: duda en opcion UPDATE mysql

Che pero que comparaciones queres hacer en el primer select, porque con esa condicion estas diciendo que el campo puntos sea igual al campo puntos, osea que te tome todos los resultados, tendrias que especificar que registro de puntos queres traer

$consulta = "SELECT puntos FROM registro_cuenta WHERE puntos = puntos";
  #5 (permalink)  
Antiguo 10/04/2010, 22:47
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: duda en opcion UPDATE mysql

No se entiende con esa consulta vas a buscar en el campo puntos un registro que sea puntos, y por lo que veo en la consulta de UPDATE el campo puntos son numeros, osea que tu quieres buscar
$consulta = "SELECT puntos FROM registro_cuenta WHERE puntos = '$puntos_formularios'";
Y en la actualizacion
$Actualizar_puntos = "UPDATE `registro_cuenta` SET `puntos` = '$puntos_restantes' WHERE `puntos` = '$puntos'";
en WHERE `puntos` = $puntos[aqui nombre de un campo], y si tienes varios usuarios mas vale busca por ese usuario porque sino vas a actualizar todos los registros que tengan esos puntos salu2.
  #6 (permalink)  
Antiguo 10/04/2010, 23:39
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: duda en opcion UPDATE mysql

y no podria ponerlo asi WHERE `puntos` = $puntos[$username], en vez de nombre de campo, para que solo actualize el usuario en sesion

Cita:
Iniciado por Antc1993 Ver Mensaje
No se entiende con esa consulta vas a buscar en el campo puntos un registro que sea puntos, y por lo que veo en la consulta de UPDATE el campo puntos son numeros, osea que tu quieres buscar
$consulta = "SELECT puntos FROM registro_cuenta WHERE puntos = '$puntos_formularios'";
Y en la actualizacion
$Actualizar_puntos = "UPDATE `registro_cuenta` SET `puntos` = '$puntos_restantes' WHERE `puntos` = '$puntos'";
en WHERE `puntos` = $puntos[aqui nombre de un campo], y si tienes varios usuarios mas vale busca por ese usuario porque sino vas a actualizar todos los registros que tengan esos puntos salu2.
  #7 (permalink)  
Antiguo 10/04/2010, 23:44
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 15 años, 11 meses
Puntos: 16
Respuesta: duda en opcion UPDATE mysql

Cita:
Iniciado por cher1_7 Ver Mensaje
y no podria ponerlo asi WHERE `puntos` = $puntos[$username], en vez de nombre de campo, para que solo actualize el usuario en sesion
como poder se puede perfectamente, el tema esta en que tu tabla este bien configurada para que cumpla las condiciones al hacer el UPDATE sino no te seriviria de nada, tienes que identificar correctamente que campo vas a actualizar si vas a actulizar por igualidad de puntos, podes estar actualizando algun dato que cumpla la misma condicion actualizando registros sin un control de usuario.
si vas a actualizar por usuario utiliza la id de usaurio de condicion o nombre de usuario, pero no los puntos del usuario porque estos pueden ser iguales al de otro, se entiende?
  #8 (permalink)  
Antiguo 10/04/2010, 23:51
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: duda en opcion UPDATE mysql

entonces lo tendria que hacer asi

consulta
Cita:
$consulta = "SELECT puntos FROM registro_cuenta WHERE puntos = '$puntos_formularios'";
UPDATE
Cita:
$Actualizar_puntos = "UPDATE `registro_cuenta` SET `puntos` = '$puntos_restantes' WHERE `puntos` = $puntos[$username],
donde $username seria el campo a actualizar no?
o estoy mal

Cita:
Iniciado por samu22 Ver Mensaje
como poder se puede perfectamente, el tema esta en que tu tabla este bien configurada para que cumpla las condiciones al hacer el UPDATE sino no te seriviria de nada, tienes que identificar correctamente que campo vas a actualizar si vas a actulizar por igualidad de puntos, podes estar actualizando algun dato que cumpla la misma condicion actualizando registros sin un control de usuario.
si vas a actualizar por usuario utiliza la id de usaurio de condicion o nombre de usuario, pero no los puntos del usuario porque estos pueden ser iguales al de otro, se entiende?
  #9 (permalink)  
Antiguo 11/04/2010, 00:02
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 15 años, 11 meses
Puntos: 16
Respuesta: duda en opcion UPDATE mysql

seria mas facil si mostras la estructura de las tablas que consultas y que tipo de valores guardas, sino son solo conjeturas
  #10 (permalink)  
Antiguo 11/04/2010, 08:54
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: duda en opcion UPDATE mysql

Hola, mira
$consulta = "SELECT puntos FROM registro_cuenta WHERE puntos = '$puntos_formularios'";

aqui vas a sacar a todos los usuarios que tengan los mismo puntos osea $puntos_formularios, pero me imagino que quieres sacar a uno en especial, entonces en WHERE busca por algun usuarios, nose si tenes algun campo que sea usuario o el id, pone la estructura de tu bd que va a hacer mas facil xD
  #11 (permalink)  
Antiguo 11/04/2010, 13:08
(Desactivado)
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: duda en opcion UPDATE mysql

esta es la estructura que tengo en mi bd la que uso principalmente es username que es con lo que los clientes se loguean

Cita:
CREATE TABLE IF NOT EXISTS `registro_cuenta` (
`ID` int(8) unsigned NOT NULL auto_increment,
`username` varchar(20) default NULL,
`puntos` varchar(200) default NULL,
`password` varchar(20) default NULL,
`castigo1` varchar(100) default NULL,
`castigo2` varchar(100) default NULL,
`castigo3` varchar(100) default NULL,
`cuenta1` varchar(100) default NULL,
`cuenta2` varchar(100) default NULL,
`cuenta3` varchar(100) default NULL,
`cuenta4` varchar(100) default NULL,
`cuenta5` varchar(100) default NULL,
`cuenta6` varchar(100) default NULL,
`cuenta7` varchar(100) default NULL,
`cuenta8` varchar(100) default NULL,
`cuenta9` varchar(100) default NULL,
`cuenta10` varchar(100) default NULL,
`nombre` varchar(100) default NULL,
`dia` varchar(30) default NULL,
`mes` varchar(30) default NULL,
`ano` int(30) default NULL,
`ins_dia` varchar(20) default NULL,
`ins_mes` varchar(20) default NULL,
`ins_ano` varchar(20) default NULL,
`exp_dia` varchar(30) default NULL,
`exp_mes` varchar(30) default NULL,
`exp_ano` varchar(30) default NULL,
`direccion` varchar(100) default NULL,
`telefono` varchar(30) default NULL,
`email` varchar(30) default NULL,
`credencial` varchar(40) default NULL,
`imagen` varchar(500) default NULL,
PRIMARY KEY (`ID`)
Cita:
Iniciado por Antc1993 Ver Mensaje
Hola, mira
$consulta = "SELECT puntos FROM registro_cuenta WHERE puntos = '$puntos_formularios'";

aqui vas a sacar a todos los usuarios que tengan los mismo puntos osea $puntos_formularios, pero me imagino que quieres sacar a uno en especial, entonces en WHERE busca por algun usuarios, nose si tenes algun campo que sea usuario o el id, pone la estructura de tu bd que va a hacer mas facil xD
  #12 (permalink)  
Antiguo 11/04/2010, 20:06
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: duda en opcion UPDATE mysql

Hola mira,
$consulta = "SELECT puntos FROM registro_cuenta WHERE username = '$aqui el username'";

ahi pone el usuario, o si quieres busca por el id "WHERE ID='aqui el id'", podrias crear un cookie cuando se loguea que contenga el nombre o el id, o una session, pero necesitas sacar el valor de algun lado, lo que se busca es buscar un registro especifico y no varios registros, ejemplo por puntos te trae varios registros y es lo que no queres, y el UPDATE lo mismo,

$Actualizar_puntos = "UPDATE `registro_cuenta` SET `puntos` = '$puntos_restantes' WHERE `username` = $puntos[$username];

siempre busca un registro que no cause confusion, osea que te traiga varios registros salu2

Etiquetas: mysql, opcion, update
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 00:59.