Foros del Web » Programando para Internet » PHP »

agregar amigos

Estas en el tema de agregar amigos en el foro de PHP en Foros del Web. Wenas! tengo un pequeño pollo liado y estoy tan echo polvo que no veo la solucion. El tema es que estoy programando una aplicación muy ...
  #1 (permalink)  
Antiguo 05/10/2009, 10:56
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 14 años, 11 meses
Puntos: 2
agregar amigos

Wenas! tengo un pequeño pollo liado y estoy tan echo polvo que no veo la solucion.

El tema es que estoy programando una aplicación muy sencilla donde un usuario puede añadir a otro usuario como amigo.

Las tablas están montadas así:

Tabla usuarios:
id_usuario (Varchar 100, Primary Key)
id_fusuario (Varchar 100)

Tabla amigos:
id_link (INT 10 primary key)
id_usuario (Varchar 100)
id_fusuario (varchar 100)

Pues bien para agregar a un usuario como amigos la query que hago es esta:
.
Código:
..conexión...
// Preguntaremos si se han enviado ya las variables necesarias
    if (isset($_GET["id_usuario"])) {
    $id_usuario = $_GET["id_usuario"];
    $id_fusuario = $_GET["id_fusuario"];
    
	       
    //Todo parece correcto procedemos con la inserccion
    $query = "INSERT INTO links (id_link,id_usuario,id_fusuario) VALUES('$id_link','$id_usuario','$id_fusuario')";
    mysql_query($query) or die(mysql_error());
	$_SESSION["usuarios"] = $row['id_usuario'];
	print "<script>";
	print " self.location='friendlist.php?id_usuario=$id_usuario'";
	print "</script>"; 
	
	}
    ?>
Pues bien, he creado 2 usuarios pepito y menganito. Cuando entro en la aplicación como pepito, busco a menganito y lo añado como amigo. (Ningún problema)
Ahora entro como menganito y lo añado como amigo y error (Duplicate entry '' for key 1) Es decir que estoy duplicando un registro.

No lo entiendo, llevo horas con esto y no veo que es lo que pasa.
Por cierto en la tabla usuarios el id_usuario y el id_fusuario tienen el mismo código ¿Será por eso?

Como siempre gracias por la ayuda
  #2 (permalink)  
Antiguo 05/10/2009, 11:41
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: agregar amigos

Eso es problema de tu estructura de tablas de base de datos. Pon una explicación de tus campos de cada tabla.
__________________
I see dead pixels
  #3 (permalink)  
Antiguo 05/10/2009, 11:51
Avatar de jlmoreno31  
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 14 años, 11 meses
Puntos: 2
Hola Sergemedina

Las tablas las tienes en el primer post. Tal y como están. El tipo de tabla es innoDB

Hay una tabla usuarios y otra links (que es donde en teoría se emparejan los usuarios)

Ok. solucionado. He borrado la tabla links y la he vuelto a hacer. Algo había que no funcionaba bien, creo que el id_link . Ahora funciona perfectamente.

Gracias

Última edición por GatorV; 05/10/2009 a las 12:22
  #4 (permalink)  
Antiguo 05/10/2009, 11:57
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: agregar amigos

de donde sacas el valor de $id_link, seguramente esta tomando un valor que no cambia aunque cambies de usuario, lo que esta queriendo insertar la misma key, si usas AUTOINCREMENT no hace falta poner id_link ya que generara uno que no este siendo usado, si vas a aclararlo necesitas tomar el ultimo id_link y sumarle uno
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 10:26.