Foros del Web » Programando para Internet » PHP »

[help]Lista de amigos

Estas en el tema de [help]Lista de amigos en el foro de PHP en Foros del Web. Buenas señores, Bueno vengo a plantearles una pequeña duda y problema que tengo, eh estado mirando pero no capto muy bien como resolver este problema. ...
  #1 (permalink)  
Antiguo 14/03/2012, 14:35
Avatar de JuLiAnChz  
Fecha de Ingreso: marzo-2012
Ubicación: Cali
Mensajes: 4
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta [help]Lista de amigos

Buenas señores,

Bueno vengo a plantearles una pequeña duda y problema que tengo, eh estado mirando pero no capto muy bien como resolver este problema.

Comienzo explicando : deseo elaborar un sistema de amistades en PHP, ya eh creado el registro y las sesiones, y tengo 3 tablas : contactos, envio_amistad, usuarios. Estas 3 tablas tengo pensado que serán las encargados de hacer contacto con los usuarios. Eh realizado este código :

Código:
echo "Solicitudes de amigos";
		//O = No son amigos - 1 = En espera - 2 = Amigos
			$listaquery = "SELECT*FROM envio_amistad WHERE usuario_recibe='$id_user'";
			$query1 = mysql_query($listaquery);
			$solicitud = mysql_fetch_array($query1);
			$user_envia = $solicitud['usuario_envia'];
if(mysql_num_rows($solicitud['estado'])){
		echo "<p style='color:red;'>No tienes solicitudes pendientes</p>";
} else if($solicitud['estado'] == 2){
			$persona_envia = "SELECT*FROM usuarios WHERE id='$user_envia'";
			$query_mostrar = mysql_query($persona_envia);
			$mostrar = mysql_fetch_array($query_mostrar);
		echo "Si tienes una solicitud de ".$mostrar['Nombre']." ".$mostrar['Apellidos']." <a href='user.php?accept'>Aceptar</a>";
			 
		
									}
En la columna usuario_recibe que tengo en la sentencia sql en la variable $listaquery es el usuario que recibe la solicitud y ya dependiendo de este numero que lo identifique es que me va a identificar la persona que me esta enviando la solicitud que es con usuario_envia, entonces mas o menos tengo la idea pero no me quiere fluir la idea para tener buenos resultados, bueno luego le doy condicionales el cual la del "if(mysql_num_rows($solicitud['estado']))" es para ver si hay filas para este usuario y si no hay pues marca que no hay solicitudes pendientes, pero en la prueba del script me sale "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\a\nav\user.php on line 32" y me muestra que Si tienes una solicitud de Nombre Persona Solicitando mi Amistad, eso me sale bien pero si hay 2 o mas personas no me muestra intente esta ultima parte de mostrar a las personas con un for, pero me sale el nombre repetido muuuchas veces, osea un ciclo descontrolado, si me entienden y pueden ayudar deberas les agradezco.

Muchas Gracias por su atencion.
  #2 (permalink)  
Antiguo 14/03/2012, 15:39
Avatar de xxxivanxxx  
Fecha de Ingreso: julio-2010
Ubicación: /home
Mensajes: 114
Antigüedad: 13 años, 8 meses
Puntos: 21
Respuesta: [help]Lista de amigos

no puedes usar esto:

Código PHP:
Ver original
  1. mysql_num_rows($solicitud['estado'])

en todo caso lo tendrias que usar asi:

Código PHP:
Ver original 

mysql_num_rows cuenta el total de filas de una consulta y tu le estas pasando un dato por eso te marca ese error:

Código HTML:
Ver original
  1. Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\a\nav\user.php on line 32
__________________
<?="Hello World"?> -> si te gustÓ dale +1
  #3 (permalink)  
Antiguo 14/03/2012, 16:08
Avatar de JuLiAnChz  
Fecha de Ingreso: marzo-2012
Ubicación: Cali
Mensajes: 4
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: [help]Lista de amigos

Pero sabes que es lo curioso si lo invoco asi : if(mysql_num_rows($solicitud['estado'])){
me sale la persona que esta enviando la solicitud pero si lo coloco : if(mysql_num_rows($query)){ no me sale mas el error pero no me sale el usuario que ah enviado la solicitud.

Gracias!
  #4 (permalink)  
Antiguo 14/03/2012, 18:08
Avatar de JuLiAnChz  
Fecha de Ingreso: marzo-2012
Ubicación: Cali
Mensajes: 4
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: [help]Lista de amigos

Listo ya solucione esa parte, pero como podria hacer en un cilco que me salgan las personas que tengan en estado un 1? , llevo haciendo lo que se me ocurre pero los ciclos se descontrolan :S
  #5 (permalink)  
Antiguo 14/03/2012, 18:27
Avatar de neglivv  
Fecha de Ingreso: julio-2011
Mensajes: 103
Antigüedad: 12 años, 9 meses
Puntos: 11
Respuesta: [help]Lista de amigos

algo asi:

$query = "SELECT loquequieras FROM tutabla WHERE estado='1'";
$query1 = mysql_query($query);

while ($row = mysql_fetch_array($query1, MYSQL_NUM)) {
echo "loquequieras ".$row[0];
}

espero te ayude
  #6 (permalink)  
Antiguo 14/03/2012, 22:02
Avatar de JuLiAnChz  
Fecha de Ingreso: marzo-2012
Ubicación: Cali
Mensajes: 4
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: [help]Lista de amigos

Ahora no me sale el nombre de la persona que envia! la solicitud >.<
  #7 (permalink)  
Antiguo 14/03/2012, 22:15
Avatar de xxxivanxxx  
Fecha de Ingreso: julio-2010
Ubicación: /home
Mensajes: 114
Antigüedad: 13 años, 8 meses
Puntos: 21
Respuesta: [help]Lista de amigos

tal vez te pueda servir o dar una idea esto:

Código PHP:
Ver original
  1. $query=mysql_query("SELECT u.nombre FROM envio_amistad ea INNER JOIN usuarios u ON ea.usuario_envia = u.id WHERE ea.usuario_recive = '$id_user' AND ea.estado='1'");
  2. if(mysql_num_rows($query)>0){
  3.   while($u=mysql_fetch_array($query)){
  4.       echo 'Tienes una solicitud de '.$u['nombre'].'<br/>';
  5.   }
  6. }else{
  7.       echo 'No tienes Solicitudes';
  8. }
__________________
<?="Hello World"?> -> si te gustÓ dale +1

Última edición por xxxivanxxx; 14/03/2012 a las 22:35

Etiquetas: lista, mysql+php
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 11:54.