Foros del Web » Programando para Internet » PHP »

AYUDA ME Modifica todo los valores!! :S

Estas en el tema de AYUDA ME Modifica todo los valores!! :S en el foro de PHP en Foros del Web. Hola, tengo un problema y lo que pasa es que cuando se visita mi index, este recoge la IP, le asigna un ID y lo ...
  #1 (permalink)  
Antiguo 22/04/2010, 15:28
 
Fecha de Ingreso: septiembre-2009
Ubicación: España
Mensajes: 136
Antigüedad: 14 años, 7 meses
Puntos: 0
Exclamación AYUDA ME Modifica todo los valores!! :S

Hola, tengo un problema y lo que pasa es que cuando se visita mi index, este recoge la IP, le asigna un ID y lo guarda en la base de datos, tambien tiene un apartado que es "reffers" que son las veces que visitan su ID, ok, todo bien, ahora el problema esta en que cuando un valor supera a los demas, se iguala todo, aca pongo la tabla de informacion:

Cita:
id | ip | reffers
317 | 83.38.52.201 | 125
316 | 81.44.122.87 | 125
315 | 83.46.55.24 | 125
314 | 83.44.148.172 | 125
Como pueden ver, en el apartado "reffers" estan todos igual (125) y no consigo solucionar el problema, aca pongo todos los codigos que tiene el index:

Código PHP:
<?
include('conectar.php');

$ip $_SERVER['REMOTE_ADDR'];

$check_ip mysql_query("SELECT * from users where ip='$ip'");
 if(
mysql_num_rows($check_ip)!=0){
 echo 
"La IP ya esta registrada.";

$id $_GET['id'];
$query mysql_query("SELECT * FROM users WHERE id='$id'");
$ver mysql_fetch_array($query);
$reffers $ver['reffers'];
$updater mysql_query("UPDATE users SET reffers='$reffers'+'1' WHERE reffers='$reffers'");
@
mysql_fetch_array($updater);
$query2 mysql_query("SELECT * FROM users WHERE id='$id'");
$ver2 mysql_fetch_array($query2);
$fichastotal $ver2['reffers'];
echo 
"Referido añadido";

exit(); 


mysql_query("INSERT INTO users (ip) VALUES ('$ip')");
Como podria solucionar este problema? :S

Gracias por adelantado.
  #2 (permalink)  
Antiguo 22/04/2010, 15:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: AYUDA ME Modifica todo los valores!! :S

Tu problema es tu consulta, en tu campo WHERE tienes que indicar otra condición como el id a actualizar, ya que si no es por eso que tu consulta esta actualizando todas las filas.

Saludos.
  #3 (permalink)  
Antiguo 22/04/2010, 16:06
 
Fecha de Ingreso: septiembre-2009
Ubicación: España
Mensajes: 136
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: AYUDA ME Modifica todo los valores!! :S

Gracias por la respuesta, pero no entiendo mucho la solucion :S

Que deberia modificar exactamente?

Gracias por adelanto, un saludo.
  #4 (permalink)  
Antiguo 22/04/2010, 16:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: AYUDA ME Modifica todo los valores!! :S

Necesitas modificar tu UPDATE para que en la parte del WHERE uses un campo que no cambie, ya que estas usando como where el mismo campo que vas a cambiar.

Saludos.
  #5 (permalink)  
Antiguo 22/04/2010, 16:22
 
Fecha de Ingreso: abril-2010
Mensajes: 34
Antigüedad: 14 años
Puntos: 1
Respuesta: AYUDA ME Modifica todo los valores!! :S

En la consulta donde haces el UPDATE de los reffers te hace falta indicar que lo haga solo en el id = $id, esto es para que el reffer solo lo cambie en el id, es decir como no indicas en
  #6 (permalink)  
Antiguo 22/04/2010, 16:23
 
Fecha de Ingreso: abril-2010
Mensajes: 34
Antigüedad: 14 años
Puntos: 1
Respuesta: AYUDA ME Modifica todo los valores!! :S

sorry me falto... como no inicas en que id lo debe hacer hace el cambio en todos uns ejemplo de tu query seria asi..
Código PHP:
Ver original
  1. UPDATE users SET reffers='$reffers'+'1' WHERE reffers='$reffers' AND id = $id"
  #7 (permalink)  
Antiguo 22/04/2010, 16:43
 
Fecha de Ingreso: septiembre-2009
Ubicación: España
Mensajes: 136
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: AYUDA ME Modifica todo los valores!! :S

Muchisimas gracias a todos, problema solucionado :D

Gracias, saludos ;)

Etiquetas: todo
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 08:53.