entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Como ver perfil de usuarios?

Veran tengo un textbox autocomplete,el cual se autocompleta cuando voy escribiendo desde una base de datos(phpMyadmin).Bien lo quiero que me ayuden es como seleccionar el ID de esos elementos e ir al perfil de cada usuario que yo seleccione.

PD:
Me dicen que tengo que crear otra pagina que sea para los perfiles de usuarios que yo quiera ver.Aparte del mio.Es verdad?

HTML

   ```
     <input type="text" id="busquedas" name="buscar" placeholder="Busca a alguien">             
    <div id="nameList"></div>

PHP

   <?php

   include("conexion.php");

   if(isset($_POST['query']))
     {

 $output = '';
 $query = "SELECT * FROM personas WHERE nombre LIKE '%". $_POST['query']."%'";
 $result = mysqli_query($conn, $query);
 $output = '<ul class="list-unstyled">';

if(mysqli_num_rows($result) > 0 )
{

    while($row = mysqli_fetch_array($result))
    {

          $output .= '<li><a href="#">'.$row['nombre'].' '.$row['apellido'].'</a></li>';
    }
}

  else
         {
      $output .= '<li>Not found</li>';
         }

         $output .= '</ul>';
         echo $output;
             }

      ?>

JQuery

   $(document).ready(function(){ 
   $('#busquedas').keyup(function(){

 var query = $(this).val();
 if(query != '')
 {
     $.ajax({

         url:"usuarios.php",
         method:"POST",
         data:{query:query},
         success:function(data)
         {
              $('#nameList').fadeIn();
              $('#nameList').html(data);
         }
     });
    }
        });

         $(document).on('click', '#nameList ul li', function(){

  $('#busquedas').val($(this).text());
      $('#nameList').fadeOut(); 
       });

   });

1 Respuesta

4votos

carlossevi Puntos63580

En primer lugar tienes que partir de la URL que generaste en tu anterior pregunta relacionada. Voy a suponer que la URL para acceder a cualquier perfil es perfilusuario.php?id=xxx.

También voy a poner que el campo con el id del usuario se llama "id" en tu base de datos (en el código solo se ve SELECT *).

Lo que tienes que hacer es modificar el enlace y poner el destino href correcto en cada iteración del bucle que imprime la lista de usuarios. Por ejemplo:

while($row = mysqli_fetch_array($result))
{
    $output .= '<li><a href="perfilusuario.php?id='.$row['id'].'">'.$row['nombre'].' '.$row['apellido'].'</a></li>';
}

1voto

luis2016 comentado

ahora me envia el ID por el url,pero como hago para recoger los datos de ese usuario segun el id que esta en url.

porque si solo hago

echo "Mi nombre es:".$nombre;

me salen los datos del usuario logueado.y no del seleccionado en la lista.

1voto

carlossevi comentado

Son dos cosas distintas:

  • Listar los usuarios y mostrar enlace a página que muestra el perfil.
  • Mostrar el perfil de un usuario.

¿Ya has resuelto la primera?

Respecto a tu línea de código echo "Mi nombre es:".$nombre; no especificas en qué fichero la estás poniendo ni dónde asignas el valor a la variable $nombre.

2votos

luis2016 comentado

Ya lo solucione.!!!!!!Me la he ingeniado.

1voto

luis2016 comentado

**

Solución

**
PD:La solucion era :

    /*_el cual recoge el Id enviado a traves de la url_*/
  $GetId = $_GET['id']; 

    /*_Para hacer la seleccion de los datos segun el ID_*/
   $sql = "SELECT * FROM personas WHERE Id = '$GetId'";
      $result = mysqli_query($conn,$sql);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);

Y LUEGO RECOGER O IMPRIMIR LOS DATOS,PERO CLARO TODO ESE CODIGO VA EN LA PAGINA PERFIL.PHP(de los usuarios).
**

<?php

            echo "mi Codigo es :".$GetId."<br>";
            echo "Mi nombre es :".$row['nombre']."<br>";
            echo "Mi apellido es :".$row['apellido']."<br>";
            echo "Mi correo es :".$row['correo']."<br>";
            echo "Mi clave es :".$row['password']."<br>";

            ?>

**

CODIGO COMPLETO

**

HTML

**

     <input type="text" id="busquedas" name="buscar" placeholder="Busca a alguien">             
    <div id="nameList"></div>

**

PHP

**

     <?php

     include("conexion.php");

     if(isset($_POST['query']))
     {

    $output = '';
    $query = "SELECT * FROM personas WHERE nombre LIKE '%".  
        $_POST['query']."%'";
    $result = mysqli_query($conn, $query);
    $output = '<ul class="list-unstyled">';

    if(mysqli_num_rows($result) > 0 )
    {

        while($row = mysqli_fetch_array($result))
        {

              $output .= '<li><a href="perfil2.php?id='.$row['Id'].'">'.$row['nombre'].' '.$row['apellido'].'</a></li>';
        }
    }
    else
    {
         $output .= '<li>Not found</li>';
    }

    $output .= '</ul>';
    echo $output;
       }

       ?>

**

JQuery

**

   $(document).ready(function(){ 
   $('#busquedas').keyup(function(){

     var query = $(this).val();
     if(query != '')
     {
     $.ajax({

         url:"usuarios.php",
         method:"POST",
         data:{query:query},
         success:function(data)
         {
              $('#nameList').fadeIn();
              $('#nameList').html(data);
         }
     });
    }
        });

         $(document).on('click', '#nameList ul li', function(){

  $('#busquedas').val($(this).text());
      $('#nameList').fadeOut(); 
       });

   });

**

usuario.php(perfil destino)

**

<?php
session_start();

   include("usuarios.php");

   $GetId = $_GET['id'];

      $sql = "SELECT * FROM personas WHERE Id = '$GetId'";
      $result = mysqli_query($conn,$sql);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);

?>

    <!doctype html>
    <html lang="en">
    <head>

    </head>
    <body>
    <?php

            echo "mi Codigo es :".$GetId."<br>";
            echo "Mi nombre es :".$row['nombre']."<br>";
            echo "Mi apellido es :".$row['apellido']."<br>";
            echo "Mi correo es :".$row['correo']."<br>";
            echo "Mi clave es :".$row['password']."<br>";

            ?>
     </body>
     </html>

2votos

Peter comentado

Si esta es la solución, por favor selecciona esta respuesta como la correcta.

Saludos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta