PHP - como hacer una busqueda en 1 tabla orientada solo a un ID especifico

 
Vista:

como hacer una busqueda en 1 tabla orientada solo a un ID especifico

Publicado por Gabriel (33 intervenciones) el 05/10/2012 23:19:04
Saludos, lo que yo quisiera es que me mostrara solo el registro de mi b/d orientada al ID de usuario en el perfil k estoy.

O sea lo que quisiera es que los usuarios quieran ver el perfil completo de un usuario en especifico cuando dan click sobre su foto y nombre como cuando queremos ver un perfil de alguien en match.com (dando un ejemplo) o cuando el usuario quiera ver su perfil completo. todo basado en el id que cada usuario tiene mi tabla.

Tengo el sigiente codigo para hacer una consulta y mostrarla pero me muestra todos los registros de la tabla, quisiera basarme en este codigo y modificarlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
mysql_connect("localhost","root","");
mysql_select_db("datos");
 
    $re=mysql_query('SELECT * FROM datos1') ;
    while($f=mysql_fetch_array($re)) {
        echo $f['usuario'].'<br>';
        echo $f['soy'].'<br>';
        echo $f['encabezado_text'].'<br>';
        echo '<img src=" '.$f['foto1'].' " width="100" height="100"/>';
        }
 
    ?>


Viendo varios tutoriales lo arregle algo asi como:

1
$re=mysql_query("SELECT * FROM datos1 WHERE id='$usuario'") ;


Soy algo novato, no se como podria terminarlo, y no se si esta bien , ayuda por favor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder

como hacer una busqueda en 1 tabla orientada solo a un ID especifico

Publicado por Gabriel (33 intervenciones) el 06/10/2012 01:10:27
Por ahi me dieron una ayuda:

1
2
3
4
5
6
7
8
9
10
11
12
13
$id= 1;
 
    mysql_connect("localhost","root","");
    mysql_select_db("datos");
 
 
    $sql=mysql_query("SELECT * FROM datos1 WHERE id='".$id."'") ;
    if(mysql_num_rows($sql) != 0){
    $rows = mysql_fetch_array($sql);
    echo 'Nombre: '.$rows['nombre'].'<br />';
    echo 'Apellido: '.$rows['apellido'].'<br />';
    echo 'Edad: '.$rows['edad'];
    }



O sea lo que quisiera es que los usuarios puedan ver el perfil "completo" de un usuario en especifico(el que ellos les guste) al dar click sobre su foto y/o nombre de usuario de un listado de usuarios registrados en la b/d.... como en match.com, hi5.com, por decir un ejemplo. como cuando vemos el listado de perfiles y queremos ver uno en particular .... me entienden?.

No se si ese:$id= 1; ese numero 1, se pueda cambiar o asociar con esa foto y/o nombre de usuario en particular y su ID correspondienre en la b/d para que salga "el respectivo perfil" que queremos ver?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

como hacer una busqueda en 1 tabla orientada solo a un ID especifico

Publicado por Gabriel (33 intervenciones) el 06/10/2012 02:15:15
O SEA como asocio la id de usuario al menos con su foto algo asi, pero que todaviua no me funciona:

1
echo '<a href="ver_perfil.php?id=.$f["id"]." title="blablabla"><img src=" '.$f['foto1'].' " width="100" height="100"/></a>';
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose antoino

como hacer una busqueda en 1 tabla orientada solo a un ID especifico

Publicado por jose antoino (1 intervención) el 26/01/2015 22:24:53
amigo eres un genio la busqueda quedo excelente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

como hacer una busqueda en 1 tabla orientada solo a un ID especifico

Publicado por Ignacio Esviza (16 intervenciones) el 06/10/2012 01:43:56
Hola!

Conviene repasar un poco cómo se establece una comunicación sobre el protocolo HTTP, que es la norma por la cual funcionan las páginas, en resumen:

1. Las páginas web funcionan mediante un proceso de PETICIÓN-RESPUESTA.

2. El navegador envía a un servidor una PETICIÓN (REQUEST) toda vez que vos escribís una dirección en la barra de direcciones o bien cuando hacés clic en un enlace el cual lleva una dirección.

3. La PETICIÓN es como una hoja de texto que arma el navegador donde se anotan varias cosas (la hora actual, la versión del navegador, bla bla bla) y además se anotan las VARIABLES que se están pidiendo. Por ejemplo, estas son URLs que disparan peticiones:

1
2
3
3.a) http://midominio.com/algo.php
3.b) http://midominio.com/algo.php?id=5
3.c) http://midominio.com/algo.php?color=rojo&altura=10


El ejemplo (a) es una petición al archivo algo.php sin variables. La (b) es la misma petición, pero se le pasa la variable "id" cuyo valor en ese caso es 5. La (c) es la misma petición, pero se le pasan otras variables "color" y "altura" con el valor "rojo" y "10" respectivamente.

Todo esto se envía al servidor y lo recibe tu programa PHP, el cual debe generar una RESPUESTA. Seguimos entonces:

4. El programa PHP recibe la PETICIÓN mediante la variable $_REQUEST, que es un array (vector o arreglo) donde PHP te ha dejado muy prolijamente las variables anotadas. Así, dentro de tu programa "algo.php" recibís:

1
2
3
4
5
6
7
8
<?php
 
// para el ejemplo (b)
$idSolicitado = $_REQUEST['id'];
 
// para el ejemplo (c)
$colorSolicitado = $_REQUEST['color'];
$alturaSolicitada = $_REQUEST['altura'];


5. Con esos valores entonces vos tenés que preparar una RESPUESTA. En el caso que vos estás pidiendo, usarías el valor recibido "id" (que en el ejemplo yo lo almacené en la variable $idSolicitado) para obtener el registro del perfil que se desea ver. Tal cual como tu segundo ejemplo, solo que ebés reemplazar esto:

1
$id = 1;


Por esto:

1
$id = $_REQUEST['id'];


...y así completar la respuesta que desees enviar de vuelta al navegador para que éste lo muestre al usuario que tiene en el otro lado del teclado.

NOTA:
Luego lee acerca de SQL injection, tenés que "limpiar" los valores recibidos para evitar que te pasen valores dañinos, por ejemplo:

1
$id = intval ( $_REQUEST['id'] );


...con eso te asegurás de tener un valor numérico, etc.

saludos
Ignacio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

como hacer una busqueda en 1 tabla orientada solo a un ID especifico

Publicado por Ignacio Esviza (16 intervenciones) el 06/10/2012 05:55:54
...y sigo un poco más:

El problema que vos tenés es que tenés que dibujar DOS (2) pantallas:

1ra pantalla: aquella en la que listas los usuarios con su foto y ponés un enlace (link) a la 2da pantalla.
2da pantalla: aquella en la que efectivamente mostrás el detalle de un usuario.

Son DOS (2) programas PHP.

El primero vos tendrías algo parecido a esto:

1
2
3
4
5
6
7
8
9
10
11
<?php
$sql = 'SELECT * FROM USUARIO ORDER BY nombre';
$cursor = mysql_query( $cursor );
?>
<h1>Lista de usuarios</h1>
<?php while ( $fila = mysql_fetch_array( $cursor ) ){ ?>
    <a href="verDetalle.php?id=<?php echo $fila['id'] ?>">
        <img src="img/<?php echo $fila['foto'] ?>" />
        <?php echo $nombre ?>
    </a>
<?php } ?>


Y en el 2do programa (verDetalle.php) tendrías algo como esto:

1
2
3
4
5
6
7
8
9
<?php
$id = intval( $_REQUEST['id'] );
$sql = "SELECT * FROM USUARIO WHERE id='{$id}'";
$cursor = mysql_query( $sql );
$fila = mysql_fetch_array( $cursor );
?>
<h1><?php echo $fila['nombre'] ?></h1>";
<img src="img/{$fila['foto']}" />";
bla bla bla


A ver si con eso te ayuda a inspirarte!
suerte
Nacho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

como hacer una busqueda en 1 tabla orientada solo a un ID especifico

Publicado por Ignacio Esviza (16 intervenciones) el 06/10/2012 07:26:34
Fe de erratas

La línea:
1
$cursor = mysql_query( $cursor );


Debe ser:
1
$cursor = mysql_query( $sql );
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como hacer una busqueda en 1 tabla orientada solo a un ID especifico

Publicado por Gabriel (33 intervenciones) el 08/10/2012 20:57:28
Antes que nada gracias por la ayuda, recien pude verlo por falta de tiempo. mira segun los campos de mi tabla de mi b/d modifique su codigo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
mysql_connect("localhost","root","");
mysql_select_db("datos");
 
 $sql = 'SELECT * FROM datos1 ORDER BY usuario';
  $cursor = mysql_query( $sql ); ?>
 
 <h1>Lista de usuarios</h1> <?php
 while ( $fila = mysql_fetch_array( $cursor) ){ ?>
 <a href="verDetalle.php?id=<?php echo $fila['id'] ?>">
 <img src="img/<?php echo $fila['foto1'] ?>" />
 <?php echo $fila['usuario'] ?> </a> <?php } ?>
 
Reemplace este texto


y el archivo verdetalle.php:

1
2
3
4
5
6
<?php $id = intval( $_REQUEST['id'] );
 $sql = "SELECT * FROM datos1 WHERE id='{$id}'";
  $cursor = mysql_query( $sql );
   $fila = mysql_fetch_array( $cursor );
    ?> <h1><?php echo $fila['usuario'] ?></h1>";
     <img src="img/{$fila['foto1']}" />";


y solo me sale el link del usuario y no salen los links del id ni la foto de perfil que es foto1, bueno y cuando le doy click al link de algun usuario que se me presenta me sale:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\EasyPHP-12.0\www\prueba\verDetalle.php on line 12

o sea aqui
1
$fila = mysql_fetch_array( $cursor );


ayuda por favor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como hacer una busqueda en 1 tabla orientada solo a un ID especifico

Publicado por Gabriel (33 intervenciones) el 08/10/2012 21:09:53
Disculpa no habia llamado a la base de datos:

1
2
3
4
5
6
7
8
9
10
<?php
mysql_connect("localhost","root","");
mysql_select_db("datos");
 
$id = intval( $_REQUEST['id'] );
 $sql = "SELECT * FROM datos1 WHERE id='{$id}'";
  $cursor = mysql_query( $sql );
   $fila = mysql_fetch_array( $cursor );
    ?> <h1><?php echo $fila['usuario'] ?></h1>
     <img src="img/{$fila['foto1']}" />


Ahora me sale perfecto solo la llamada del nombre de usuario al darle click en su nombre de usuario, pero en el primer codigo sige sin aparecer ni el link del: ID ni el link de su foto de todos los usuarios de mi b/d. ayudeme por favor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar