Foros del Web » Programando para Internet » PHP »

Problema con variables PHP

Estas en el tema de Problema con variables PHP en el foro de PHP en Foros del Web. Buenas! Tras más de 10 horas buscando y buscando, he acabado por rendirme, registrarme aquí y preguntar a ver si alguien es capaz de ayudarme ...
  #1 (permalink)  
Antiguo 21/04/2014, 01:30
Avatar de Belial_Nightmares  
Fecha de Ingreso: abril-2014
Mensajes: 5
Antigüedad: 10 años
Puntos: 0
Pregunta Problema con variables PHP

Buenas!

Tras más de 10 horas buscando y buscando, he acabado por rendirme, registrarme aquí y preguntar a ver si alguien es capaz de ayudarme a solucionar un problema que tengo.

Estoy realizando una web y estoy con el tema de las solicitudes de amistad.
Hasta ahí todo bien, tengo mi tabla, con mis campos id, usuario_envia, usuario_recibe y estado.

El problema me ha surgido a la hora de enviar varias solicitudes y querer gestionarlas. Pongo ejemplos para que se me entienda:

- Usuario 1 envía solicitud a Usuario 2
- Usuario 3 envía solicitud a Usuario 2

Como Usuario 2 tendría 2 solicitudes, las cuales muestro por pantalla mediante un bucle while y genero un formulario donde incluyo los correspondientes datos que quiero mostrar.

Por cada formulario, he creado 2 botones diferentes, uno que acepta y uno que rechaza (esto es para que cuando acepte, mediante una función que tengo, me lleve al archivo que ejecuta la actualización de la línea y sea posible la amistad y en caso contrario, cuando sea rechazar, borre la línea).

El problema está en que por alert me muestra el $i que tengo en el while a la perfección, pero al enviarlo a la página de la consulta sql, me muestra el 1º registro.

Dejo por aquí el código para que, si detectáis dónde está mi fallo, me lo podáis marcar más fácilmente.


Esta es la función que lleva la respuesta de los botones
Código:
<script type="text/javascript">
	function optionFriendship(answer) {
		if(answer=="yes") {
			window.location="sql_friendship.php?accept=yes";
		} else {
			window.location="sql_friendship.php?accept=no";
		}
	}
</script>
Y este es el código que tengo del formulario, consulta y while

Código:
<form action="sql_friendship.php" method="post" class="form_login" enctype="multipart/form-data">
<?php
	// Consultamos los usuarios y las peticiones de amistad donde el uruario logueado sea el usuario que recibe la petición
	$sql = "SELECT id_user_send, message, accepted, id_user, user, id_friendship
			FROM amistades, usuarios
			WHERE amistades.id_user_send=usuarios.id_user
			AND id_user_receive=" . $_SESSION["id_user"];
	$resultado = mysql_query($sql,$conexion);
	$i=0;
	while($fila=mysql_fetch_array($resultado)) {
		$i++; ?>
		<fieldset>
		ID: <input type="text" name="loop" value="<?php echo $i ?>" disabled /><br />
		Enviado por: <input type="text" value="<?php echo $fila["user"] ?>" disabled /><br />
		Mensaje <input type="text" value="<?php echo $fila["message"] ?>" disabled /><br />
		Amigos
			<input type="button" value="Aceptar" onClick="alert('El valor de i es: <?php echo $i ?>');optionFriendship('yes')" />
			<input type="button" value="Rechazar" onClick="optionFriendship('no');" />
		</fieldset>
	<?php } ?>
</form>

Agradecería cualquier ayuda puesto que llevo ya más de 10 horas rompiéndome la cabeza y no doy con la solución.

Gracias de antemano.

EDITO: No he incluido el punto en que paso el valor $i a la función, con tanto cambio he perdido el punto en que tenía eso, pero así dejo más "limpio" el código y si me podéis ayudar a solucionarlo de otro modo, mejor.

Última edición por Belial_Nightmares; 21/04/2014 a las 01:42
  #2 (permalink)  
Antiguo 21/04/2014, 03:17
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 6 meses
Puntos: 38
Respuesta: Problema con variables PHP

Hola y bienvenido!!!
A ver he estado leyendo tu problema... pero creo que debias estar muy cansado y por eso no te explicaste con mucha claridad y es super importante que seas mas conciso para que te podamos ayudar.

El problema está en que por alert me muestra el $i que tengo en el while a la perfección, pero al enviarlo a la página de la consulta sql, me muestra el 1º registro.
Cual es la consulta Sql?? en el codigo que has puesto?

Luego intenta resumir tu problema, el problema es que al recuperar la base de datos (necesitamos consulta sql ) solo me muestra el primer registro, ok y que debería mostrar?

Cuando lo tenga un poco mas claro te podré ayudar!
Saludos!
  #3 (permalink)  
Antiguo 21/04/2014, 05:06
Avatar de Belial_Nightmares  
Fecha de Ingreso: abril-2014
Mensajes: 5
Antigüedad: 10 años
Puntos: 0
Respuesta: Problema con variables PHP

Cita:
Iniciado por Djoaq Ver Mensaje
Hola y bienvenido!!!
A ver he estado leyendo tu problema... pero creo que debias estar muy cansado y por eso no te explicaste con mucha claridad y es super importante que seas mas conciso para que te podamos ayudar.

El problema está en que por alert me muestra el $i que tengo en el while a la perfección, pero al enviarlo a la página de la consulta sql, me muestra el 1º registro.
Cual es la consulta Sql?? en el codigo que has puesto?

Luego intenta resumir tu problema, el problema es que al recuperar la base de datos (necesitamos consulta sql ) solo me muestra el primer registro, ok y que debería mostrar?

Cuando lo tenga un poco mas claro te podré ayudar!
Saludos!
Consulta:
Código:
$sql = "SELECT id_user_send, message, accepted, id_user, user, id_friendship
	FROM amistades, usuarios
	WHERE amistades.id_user_send=usuarios.id_user
	AND id_user_receive=" . $_SESSION["id_user"];
Con la consulta, me muestra esto:


Al clicar sobre el Aceptar del 1º registro o del 2º, da como resultado esto:


Lo que quiero es que, en el primero se muestre lo de la imagen, pero que si clico sobre el 2º, los datos sean los del 2º recuadro (como es lógico).

El alert que tengo puesto, muestra el $i bien, pero al pasarlo ya por función, recibe sólo el primero.

Última edición por Belial_Nightmares; 21/04/2014 a las 05:12
  #4 (permalink)  
Antiguo 21/04/2014, 07:45
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Problema con variables PHP

Cita:
Iniciado por Belial_Nightmares Ver Mensaje
Consulta:
Código:
$sql = "SELECT id_user_send, message, accepted, id_user, user, id_friendship
	FROM amistades, usuarios
	WHERE amistades.id_user_send=usuarios.id_user
	AND id_user_receive=" . $_SESSION["id_user"];
Con la consulta, me muestra esto:


Al clicar sobre el Aceptar del 1º registro o del 2º, da como resultado esto:


Lo que quiero es que, en el primero se muestre lo de la imagen, pero que si clico sobre el 2º, los datos sean los del 2º recuadro (como es lógico).

El alert que tengo puesto, muestra el $i bien, pero al pasarlo ya por función, recibe sólo el primero.
estimado, necesita pasar el ID del cliente como parametro para ser tomado como $_GET...
  #5 (permalink)  
Antiguo 21/04/2014, 07:49
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Problema con variables PHP

seria de esta forma...

Código HTML:
<script type="text/javascript">
	function optionFriendship(answer, id_cliente) {
		if(answer=="yes") {
			window.location="sql_friendship.php?accept=yes&id_cliente=id_cliente";
		} else {
			window.location="sql_friendship.php?accept=no&id_cliente=id_cliente";
		}
	}
</script>


<form action="sql_friendship.php" method="post" class="form_login" enctype="multipart/form-data">
<?php
	// Consultamos los usuarios y las peticiones de amistad donde el uruario logueado sea el usuario que recibe la petición
	$sql = "SELECT id_user_send, message, accepted, id_user, user, id_friendship
			FROM amistades, usuarios
			WHERE amistades.id_user_send=usuarios.id_user
			AND id_user_receive=" . $_SESSION["id_user"];
	$resultado = mysql_query($sql,$conexion);
	$i=0;
	while($fila=mysql_fetch_array($resultado)) {
		$i++; ?>
		<fieldset>
		ID: <input type="text" name="loop" value="<?php echo $i ?>" disabled /><br />
		Enviado por: <input type="text" value="<?php echo $fila["user"] ?>" disabled /><br />
		Mensaje <input type="text" value="<?php echo $fila["message"] ?>" disabled /><br />
		Amigos
			<input type="button" value="Aceptar" onClick="alert('El valor de i es: <?php echo $i ?>');optionFriendship('yes','<?php echo $fila["id_user"]?>')" />
			<input type="button" value="Rechazar" onClick="optionFriendship('no');" />
		</fieldset>
	<?php } ?>
</form> 
  #6 (permalink)  
Antiguo 21/04/2014, 09:25
Avatar de Belial_Nightmares  
Fecha de Ingreso: abril-2014
Mensajes: 5
Antigüedad: 10 años
Puntos: 0
Respuesta: Problema con variables PHP

@rigo_5834, esto es lo que me muestra en la pantalla, le de al 1º aceptar o al 2º:
ACEPTAR
Valor de i: id_cliente
ID 1
Envia 1
Recibe 2

Y así es como queda la url:
.../sql_friendship.php?accept=yes&id_cliente=id_client e

Última edición por Belial_Nightmares; 21/04/2014 a las 09:49
  #7 (permalink)  
Antiguo 21/04/2014, 13:50
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Problema con variables PHP

Cita:
Iniciado por Belial_Nightmares Ver Mensaje
@rigo_5834, esto es lo que me muestra en la pantalla, le de al 1º aceptar o al 2º:
ACEPTAR
Valor de i: id_cliente
ID 1
Envia 1
Recibe 2

Y así es como queda la url:
.../sql_friendship.php?accept=yes&id_cliente=id_client e
reemplaza el valor de id_cliente, y pasale la variable $i nuevamente.

saludos
  #8 (permalink)  
Antiguo 21/04/2014, 14:35
Avatar de Belial_Nightmares  
Fecha de Ingreso: abril-2014
Mensajes: 5
Antigüedad: 10 años
Puntos: 0
Respuesta: Problema con variables PHP

Cita:
Iniciado por rigo_5834 Ver Mensaje
reemplaza el valor de id_cliente, y pasale la variable $i nuevamente.

saludos
¿Dónde exactamente?
Porque he probado todas las posibilidades y nada de nada.

No es que no tenga ni idea, si no que ando ya bastante quemado y los cortes de luz que estoy aguantando no me ayudan mucho que digamos.
Ando bloqueado.

Última edición por Belial_Nightmares; 21/04/2014 a las 15:00
  #9 (permalink)  
Antiguo 21/04/2014, 15:07
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Problema con variables PHP

es todo esto, de partida que alert que haces no sirve para nada... pero es lo de menos

Cita:
<script type="text/javascript">
function optionFriendship(answer, id_cliente) {
if(answer=="yes") {
window.location="sql_friendship.php?accept=yes&id_ cliente=id_cliente";
} else {
window.location="sql_friendship.php?accept=no&id_c liente=id_cliente";
}
}
</script>


<form action="sql_friendship.php" method="post" class="form_login" enctype="multipart/form-data">
<?php

echo $_GE['id_cliente'];

// Consultamos los usuarios y las peticiones de amistad donde el uruario logueado sea el usuario que recibe la petición
$sql = "SELECT id_user_send, message, accepted, id_user, user, id_friendship
FROM amistades, usuarios
WHERE amistades.id_user_send=usuarios.id_user
AND id_user_receive=" . $_SESSION["id_user"];
$resultado = mysql_query($sql,$conexion);
$i=0;
while($fila=mysql_fetch_array($resultado)) {
$i++; ?>
<fieldset>
ID: <input type="text" name="loop" value="<?php echo $i ?>" disabled /><br />
Enviado por: <input type="text" value="<?php echo $fila["user"] ?>" disabled /><br />
Mensaje <input type="text" value="<?php echo $fila["message"] ?>" disabled /><br />
Amigos
<input type="button" value="Aceptar" onClick="alert('El valor de i es: <?php echo $i ?>');optionFriendship('yes','<?php echo $i?>')" />
<input type="button" value="Rechazar" onClick="optionFriendship('no','<?php echo $i?>');" />
</fieldset>
<?php } ?>
</form>
  #10 (permalink)  
Antiguo 21/04/2014, 15:17
Avatar de Belial_Nightmares  
Fecha de Ingreso: abril-2014
Mensajes: 5
Antigüedad: 10 años
Puntos: 0
Respuesta: Problema con variables PHP

Bueno veo que nadie es capaz de ayudar a no ser que se le pague.
Y yo que pensaba que era una comunidad para AYUDARSE unos a otros...

Última edición por Belial_Nightmares; 26/04/2014 a las 21:01

Etiquetas: formulario, mysql, registro, select, sql, tabla, usuarios, 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 13:49.