#1• Hola a todos los foreros de miarroba, realmente no tengo mucha experiencia en Php pero estoy haciendo un esfuerzo casi sobrehumano en desarrollar un sistema de usuarios en php y poco a poco lo estoy logrando (llevo 2 meses jejeje).. me explico, es un sistema de usuarios tipico con sus bases de datos (uso phpmyadmin) su formulario de registro, area de usuario para loguearse, todo esto ya esta funciona perfectamente, en mi index.php visualizo los ultimas fotos añadidas, los ultimos usuarios registrados, links para registrarse o iniciar sesion etc.. al ingresar mi usuario y password, sale mi foto de perfil y demas datos, luego hay un menu de usuario y una de las opciones es (ver mi perfil) que tambien funciona y me muestra mis fotos (las q subi yo) aparte de la de mi perfil y demas datos de usuario pero me he atascado en algo q quiero hacer y no puedo.. que al clickar en una foto de los ultimos usuarios registrados me envie a otra pagina y me muestre su perfil de usuario (tal y como visualizo el mio) claro esta que estas fotos las cojo de la base de datos y las imprimo en pantalla.. espero me haya explicado y mas espero que los "genios de por aqui" en php que hay unos cuantos me puedan ayudar, de antemano muchas gracias a todos(as). Les dejo mas informacion y la estructura de la base de datos para que tengan mas clara la idea... tabla : usuario_foto_perfil id auto increment int (4) Despues tengo otras tablas que son: El codigo para visualizar las fotos de perfil de los 4 ultimos usuarios registrados en el index.php.. en realidad es una funcion es esta: Código: function display_ultimos_usuarios() { include ("config_db.php"); $link=mysql_connect($serverDB,$userDB,$passwdDB); $query = sprintf("SELECT usuario_foto_perfil.foto_name FROM usuario_foto_perfil order by id desc LIMIT 0,4"); $query1 = sprintf("SELECT usuario_datos.apellido FROM usuario_datos order by id desc LIMIT 0,4"); $result = mysql_db_query($databasename,$query,$link); $result1 = mysql_db_query($databasename,$query1,$link); <table width="430"> <td> <tr> <?php while($array = mysql_fetch_array($result)) { ?> <img src="users/imgs_perfil/ <?php echo $array['foto_name']; ?>" width='102' height='80' align="middle"/> <?php } ?> </tr> <tr> <div align="center"> <?php while($array = mysql_fetch_array($result1)) { ?> <?php echo $array['apellido']; ?> <?php } ?> </div> </tr> </td> </table> <?php mysql_free_result($result); } Dejo el codigo integro por si acaso le sirva a alguien, a mi me tomo mucho esfuerzo ya que no tengo mucha experiencia en Php pero con la ayuda de "Mr. Google" y la experiencia de muchos programadores como tu lo logré, pero ahora estoy "atascaaaadoooo!!!!" jajaja.. necesito que al clicar en una de las fotos de perfil me enlace con su perfil integro, tal como se visualiza mi perfil como usuario logueado.. algo asi como esto: |
#2• Para ver el perfil de los ultimos usuarios , con que en el enlace llevaras una opcion con el id_usuario o como lo tengas puesto, deberia llevarte a una pagina aparte con los correspondientes datos de cada usuario, ya que el id, es UNICO. Luego en la pagina de cada usuario recuperas los datos que necesites de la bd. . Si por ejemplo tienes a uno de tus ultimos usuarios que se llama pepito.Aparece su imagen o thumbnail y al clickar en la foto Código: <a href="loquesea.com/profile.php?id=130>Ver perfil de pepito</a> Luego en profile.php , teniendo ese id, haces un SELECT especificando en el WHERE el usuario y todo lo que quieras mostrar. Los enlaces del tipo loquesea.com/index.php?id=x , son parametros que le pasas a la url. Es decir : variable / valor. Asi por ejemplo si sacas el id de un usuario en concreto de la base de datos y luego lo pasas como parametro, lo recuperaras en otra zona del codigo o en una pagina aparte mediante GET. Imagina tu pagina index.php y quieres sacar el id del usuario pepito. Haces una consulta a la bd especificando en la clausula where que quieres ese id. Por lo tanto, tenemos esto: Código: <?php $query="SELECT * from users WHERE id_user="$id_user" $exec=mysql_query($query); ?> Creas un bucle para mostrar la informacion. Código: $datos=while($row=$mysql_fetch_row($query)){ echo $datos["id_user"]; $id_user=$datos["id_useR"]; } Ahora que ya tenemos asignada nuestra variable $id_user, vamos a pasarla como parametro en un enlace Código: <a href="profile.php?id_user=$id_user">Ver perfil</a> Ahora en la pagina profile.php , recuperamos nuestra variable. Código: <?php $id_user=$_GET["id_user"]; ?> Ya podemos extraer toda la informacion del usuario teniendo esa variable, ya que la utilizaremos en la clausula WHERE para que sepa de que usuario estamos intentando extraer la informacion. Bueno ha sido un poco largo y un poco improvisado , ya que no he visto el codigo que tienes puesto, pero para que te hagas una idea de como funciona trabajar con variables usando GET. Saludos!. |
#3• Ok aerialss88!! muy buena la idea, estaba pensando en esto tambien pero tu has dado el empujoncito para animarme a cambiar mi codigo, menos mal q fue algo improvisado jejeje.. ya cogo el 'id' de de la foto del perfil y luego la cogo con un $_GET desde el profile_member.php busco mediante la 'id' en mis BD's y visualizo la info, el codigo quedo asi: Código: Y luego en profile_members.php asi: Código: $id_user=$_GET['id']; include ("archivos_php/config_db.php"); $link=mysql_connect($serverDB,$userDB,$passwdDB); $query = "SELECT * FROM usuario_datos, usuario_fechas, usuario_foto_perfil, usuario_key, usuario_fotos WHERE usuario_key.id=".$id_user; $resultado = mysql_db_query($databasename,$query,$link) or die (mysql_error()); .. .. .. .. while($array = mysql_fetch_array($resultado)) { echo $id_user; echo "<span class='VerMas'>".$array['condicion']."</span><br/>"; echo "<span class='VerMas'> ".$array['promocion']."</span><br/><br/>"; echo "País de Residencia : <span class='form_registro'>".$array['pais']."</span><br/>"; echo "Ciudad :<span class='form_registro'> ".$array['ciudad']."</span><br/>"; echo "Telefono :<span class='form_registro'> ".$array['telefono']."</span><br/>"; echo "Miembro desde :<span class='form_registro'> ".$array['fecha_inscrip']."</span><br/>"; echo "Ultima visita :<span class='form_registro'> ".$array['fecha_ult_visita']."</span><br/>"; } Lo de ($query = "SELECT * FROM usuario_datos, usuario_fechas,....) no esta claro tengo que hallar la manera de "unir" mis BD's o plantearme unir mis BD's porque para visualizar la info del usuario tengo que sacar datos de 5 BD's q me recomendarias?? ahora solo me queda "arreglar" la interface para que se vea "bonito".. cualquier problemilla volvere a molestarte, aún me falta mucho camino por delante.. gracias por responder a este post y por compartir tus conocimientos, eso se agradece... |
#4•• Antes no se porque pero no se publicó el primer codigo... aqui va. function display_ultimos_usuarios() $link=mysql_connect($serverDB,$userDB,$passwdDB); $query = sprintf("SELECT usuario_foto_perfil.id, usuario_foto_perfil.foto_name, |
#5• A lo de las 5 bd´s te refieres a las tablas de tu base de datos, no?. Unir datos de dos o mas tablas, cierto?. Un saludo. |
#6•• ehh aerialss88 espero no seas ironico.. fue un lapsus.. eran "tablas's" pero aun t entiendo fue culpa mia estaba "emocionado".. pero ya esta!! con tu ayuda y otro post muy bueno lo logre.. al final uni tablas compacte un poco mi BD y quedo el tres tablas una de datos de usuario otra de foto de perfil y otra de fotos de usuario osea: *usuario_datos Te dejo los codigos nunca se sabe, igual te sirven: display_ultimos_usuarios() function display_ultimos_usuarios() $link=mysql_connect($serverDB,$userDB,$passwdDB); $query = sprintf("SELECT usuario_foto_perfil.id, usuario_foto_perfil.foto_name, Luego he creado un profile_members.php que sera un archivo comun para todos los perfiles de usuario menos para el usuario actual logueado, cuando la foto me linkee a este archivo con un $_GET cojo la 'id' la asigo a una variable ($id_user) luego con el SELECT.. WHERE busco el registro para 'id'=$id_user mas o menos coji tu idea y adaptandola a mi web quedaria asi: profile_members.php Código: <?php require_once("archivos_php/web_cmprg_fns.php"); session_start(); do_html_header("Pagina de Miembros - CMPRG"); check_valid_user(); // chequea si el usuario esta correctamente logeado $id_user=$_GET['id']; include ("archivos_php/config_db.php"); $link=mysql_connect($serverDB,$userDB,$passwdDB); $query = "SELECT * FROM usuario_datos INNER JOIN usuario_foto_perfil WHERE usuario_datos.id=".$id_user." && usuario_foto_perfil.id=".$id_user; $resultado = mysql_db_query($databasename,$query,$link) or die (mysql_error()); $array = mysql_fetch_array($resultado); ?> <link href="estilos_css/Estilos_MiWeb.css" rel="stylesheet" type="text/css"> <body id="body"> <div id="contenedor"> <!-- ********************* Menu Pincipal ***************************--> <div id="menuPrincipal"> <?php display_menu_principal_usuario(); ?> </div> <codigo........... ..................... .....................> <div id="SeccionLeft"> <br/> <?php echo $array['nombre']."<br/> ".$array['apellido']."<br/>"; ?> </div> <div id="SeccionLeft"> <img src="users/imgs_perfil/ <?php echo $array['foto_name']; ?>" width='200' align="middle"/> </div> ...... ...... <!-- *********************Contenido ***************************--> <div id="contenido"> <div id="menu_user"> <?php display_menu_usuario(); ?> </div> <div id="seccion_contenido"> <h5>Perfil de Usuario</h5> <?php echo "<span class='VerMas'>".$array['nombre']."</span><br/>"; echo "<span class='VerMas'> ".$array['apellido']."</span><br/><br/>"; echo "<span class='VerMas'>".$array['condicion']."</span><br/>"; echo "<span class='VerMas'> ".$array['promocion']."</span><br/><br/>"; echo "País de Residencia : <span class='form_registro'>".$array['pais']."</span><br/>"; echo "Ciudad :<span class='form_registro'> ".$array['ciudad']."</span><br/>"; echo "Telefono :<span class='form_registro'> ".$array['telefono']."</span><br/>"; echo "Miembro desde :<span class='form_registro'> ".$array['fecha_inscrip']."</span><br/>"; echo "Ultima visita :<span class='form_registro'> ".$array['fecha_ult_visita']."</span><br/>"; ?> Funciona perfectamente, pero aún asi si tienes alguna sugerencia me la das.. ahora tengo que mirar lo de calcular la edad del usuario basandose en la fecha_nac y la actual y hacer que cada vez que el usuario se loguee correctamente se cambie la fecha_ult_visita, pero eso sera mañana, ahora me toca tomarme dos cañitas q para eso es mi dia de fiesta y me he pasado casi todo el dia en el ordenador jejeje.. bueno aeri muchas gracias por echarme un cable, si tienes alguna sugerencia soy todo oidos, otra vez gracias por tu tiempo |
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un nuevo tema en lugar de responder al actual |
Opciones: Ir al subforo: |
Permisos: TU NO PUEDES Escribir nuevos temas TU NO PUEDES Responder a los temas TU NO PUEDES Editar tus propios mensajes TU NO PUEDES Borrar tus propios mensajes |
Temas similares | ||||
Tema | Usuarios | Respuestas | Visitas | Actividad |
---|---|---|---|---|
Por: cesarobcn, el 05/May/2010, 19:08 | 2 | 4k | May/10 |