Estoy haciendo un sistema de amistades donde primero hago la consulta de las amistades confirmadas comprobando el id_usuario por la url, el id_envia y el id_recibe en la tabla amistades:
Código PHP:
$query = "SELECT * FROM amistades WHERE id_envia = '{$id_usuario}' && confirmado = '1' || id_recibe = '{$id_usuario}' && confirmado = '1'";
Código PHP:
if($id_envia == $id_usuario){
$query_nick_recibe = "SELECT *, DATE_FORMAT(fecha_de_nacimiento,'%m-%d') as fecha_de_nacimiento FROM usuarios WHERE id_usuario = '{$id_recibe}'";
Código PHP:
if($id_recibe == $id_usuario){
$query_nick_envia = "SELECT *, DATE_FORMAT(fecha_de_nacimiento,'%m-%d') as fecha_de_nacimiento FROM usuarios WHERE id_usuario = '{$id_envia}'";
Código PHP:
$query = "SELECT * FROM amistades WHERE id_envia = '{$id_usuario}' && confirmado = '1' || id_recibe = '{$id_usuario}' && confirmado = '1'";
$amistades_query = mysqli_query($conexion, $query);
if(mysqli_num_rows($amistades_query) == 0){
echo "<p>No tiene amigos confirmados</p>";
}
//Si tiene amigos, mostrar lista
else{
echo '<article class="perfil-usuario">';
echo '<ul>';
//Consulto las amistades confirmadas
while ($fila = mysqli_fetch_array($amistades_query)) {
$id_amistad = $fila['id_amistad'];
$id_envia = $fila['id_envia'];
$id_recibe = $fila['id_recibe'];
//Consulto para buscar al usuario en id_recibe
//Si el id_envia es el mismo que el id_usuario entonces muestro el id_recibe ya que es el usuario amigo
if($id_envia == $id_usuario){
$query_nick_recibe = "SELECT *, DATE_FORMAT(fecha_de_nacimiento,'%m-%d') as fecha_de_nacimiento FROM usuarios WHERE id_usuario = '{$id_recibe}'";
$usuario_query = mysqli_query($conexion, $query_nick_recibe);
while ($fila = mysqli_fetch_array($usuario_query)) {
$id_usuario_amigo = $fila['id_usuario'];
$usuario_nick = $fila['usuario'];
$email_amigo = $fila['email'];
$fecha_de_cumpleano = $fila['fecha_de_nacimiento'];
echo '<li class="amistad"><a href="usuarios.php?id='.$id_usuario_amigo.'" accesskey="m" title="'.$usuario_nick.'">'.$usuario_nick.'</a></li>';
//---------Aquí está el error ------//
//-------- Comprobando fecha de cumpleaños --------------//
function diferencia_de_dias($dia1, $dia2){
if (!is_integer($dia1)) $dia1 = strtotime($dia1);
if (!is_integer($dia2)) $dia2 = strtotime($dia2);
return floor(abs($dia1 - $dia2) / 60 / 60 / 24);
}
$fecha_de_cumpleanos = date("Y")."-".$fecha_de_cumpleano;
date_default_timezone_set("Europe/Madrid");
$fecha_actual = date("Y-m-d");
$dias = diferencia_de_dias($fecha_actual,$fecha_de_cumpleanos);
if($dias < 15){
echo "<span><strong> - Faltan menos de ".$dias." día para este cumpleaños y entonces envío un aviso de correo.</strong></span>";
}
else{
echo "No es fecha de avisar aun ya que todavía quedan " . $dias;
}
//-------- Fin Comprobando fecha de cumpleaños --------------//
}
}//Fin Si el id_envia es el mismo que el id_usuario entonces muestro el id_recibe ya que es el usuario amigo
//Fin Consulto para buscar al usuario en id_recibe
//Consulto para buscar al usuario en id_envia
//Si el id_recibe es el mismo que el id_usuario entonces muestro el id_envia ya que es el usuario amigo
if($id_recibe == $id_usuario){
$query_nick_envia = "SELECT *, DATE_FORMAT(fecha_de_nacimiento,'%m-%d') as fecha_de_nacimiento FROM usuarios WHERE id_usuario = '{$id_envia}'";
$usuario_query_e = mysqli_query($conexion, $query_nick_envia);
while ($fila = mysqli_fetch_array($usuario_query_e)) {
$id_usuario_amigo = $fila['id_usuario'];
$usuario_nick = $fila['usuario'];
$email_amigo = $fila['email'];
$fecha_de_cumpleano = $fila['fecha_de_nacimiento'];
echo '<li class="amistad"><a href="usuarios.php?id='.$id_usuario_amigo.'" accesskey="m" title="'.$usuario_nick.'">'.$usuario_nick.'</a></li>';
//-------- Comprobando fecha de cumpleaños --------------//
function diferencia_de_dias_($dia1, $dia2){
if (!is_integer($dia1)) $dia1 = strtotime($dia1);
if (!is_integer($dia2)) $dia2 = strtotime($dia2);
return floor(abs($dia1 - $dia2) / 60 / 60 / 24);
}
$fecha_de_cumpleanos = date("Y")."-".$fecha_de_cumpleano;
date_default_timezone_set("Europe/Madrid");
$fecha_actual = date("Y-m-d");
$dias = diferencia_de_dias_($fecha_actual,$fecha_de_cumpleanos);
if($dias < 15){
echo "<span><strong> - Faltan menos de ".$dias." día para este cumpleaños y entonces envío un aviso de correo.</strong></span>";
}
else{
echo "No es fecha de avisar aun ya que todavía quedan ".$dias;
}
//-------- Fin Comprobando fecha de cumpleaños --------------//
}
}//Fin Si el id_recibe es el mismo que el id_usuario entonces muestro el id_envia ya que es el usuario amigo
//Fin Consulto para buscar al usuario en id_envia
}//Fin Consulto las amistades confirmadas
echo '</ul>';
echo '</article>';
}//Fin si tiene amigos mostrar lista
¿Qué tengo que cambiar quitar o añadir?
Saludos.