Foros del Web » Programando para Internet » PHP »

Busqueda en dos bases de datos

Estas en el tema de Busqueda en dos bases de datos en el foro de PHP en Foros del Web. Hola: trato de hacer una busqueda en dos bases de datos: el resultado de la primera busqueda lo utilizo en la segunda busqueda y trato ...
  #1 (permalink)  
Antiguo 03/12/2013, 08:02
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 15 años, 11 meses
Puntos: 1
Busqueda en dos bases de datos

Hola:

trato de hacer una busqueda en dos bases de datos: el resultado de la primera busqueda lo utilizo en la segunda busqueda y trato de que la segunda busqueda se muestre en un desplegable.

Código PHP:
<?php 

 
include('configp.php');
echo 
'<FORM METHOD="POST" ACTION="revisar_noticias.php">TITULO:';

//Creamos la sentencia SQL y la ejecutamos
$consulta mysql_query("SELECT zebra_id From phpbb_zebra WHERE user_id=$usuario");
$row mysql_fetch_array($consulta);
$query mysql_query("SELECT username From phpbb_users WHERE user_id= ".$row['zebra_id']."");
$con mysql_fetch_array($query);

echo 
'<select name="titulo" >';

//Generamos el menu desplegable
while ($con mysql_fetch_array($query))
{echo 
'<option>'.$con["username"];}

?>
</select>
las busquedas se realizan correctamente, pero no se por que no se muestra el desplegable.

Un saludo
  #2 (permalink)  
Antiguo 03/12/2013, 08:14
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Busqueda en dos bases de datos

Te falto cerrar el option

<option>'.$con["username"] .'</option>';
  #3 (permalink)  
Antiguo 03/12/2013, 08:31
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Busqueda en dos bases de datos

Aunque lo he cerrado, el resultado es el mismo, no va

Código PHP:
<?php 

 
include('configp.php');
echo 
'<FORM METHOD="POST" ACTION="revisar_noticias.php">TITULO:';

//Creamos la sentencia SQL y la ejecutamos
$consulta mysql_query("SELECT zebra_id From phpbb_zebra WHERE user_id=$usuario");
$row mysql_fetch_array($consulta);
$query mysql_query("SELECT username From phpbb_users WHERE user_id= ".$row['zebra_id']."");
$con mysql_fetch_array($query);

echo 
'<select name="titulo" >';

//Generamos el menu desplegable
while ($con mysql_fetch_array($query))
{echo 
'<option>'.$con["username"].'</option>';}

?>
</select>
  #4 (permalink)  
Antiguo 03/12/2013, 08:38
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 6 meses
Puntos: 397
Respuesta: Busqueda en dos bases de datos

Y si haces esto que pasa:

Código PHP:
Ver original
  1. include('configp.php');
  2. echo '<form method="post" action="revisar_noticias.php">TITULO:'; //acostumbrate a usar tags y atributos en minusculas
  3.  
  4. //Creamos la sentencia SQL y la ejecutamos
  5. $consulta = mysql_query("SELECT zebra_id FROM phpbb_zebra WHERE user_id=$usuario") or die(mysql_error());
  6. $row = mysql_fetch_array($consulta);
  7. $query = mysql_query("SELECT username FROM phpbb_users WHERE user_id=".$row['zebra_id']."") or die(mysql_error());
  8. //$con = mysql_fetch_array($query); //no es necesario ya que vas a iterar con while
  9.  
  10. echo '<select name="titulo">';
  11. //Generamos el menu desplegable
  12. while ($con = mysql_fetch_array($query)){
  13.     echo '<option>'. $con["username"] .'</option>';
  14. }
  15. echo '</select>';

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 03/12/2013, 08:41
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años
Puntos: 96
Respuesta: Busqueda en dos bases de datos

Tampoco cierras el form, ademas que no es.necesario hacer dis consultas, con una basta y sobra
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #6 (permalink)  
Antiguo 03/12/2013, 08:42
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Busqueda en dos bases de datos

Llega a entrar al while?
  #7 (permalink)  
Antiguo 03/12/2013, 08:51
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Busqueda en dos bases de datos

Hola:

Hemos avanzado un poco:
Código PHP:
include('configp.php'); 
echo 
'<form method="post" action="revisar_noticias.php">TITULO:'//acostumbrate a usar tags y atributos en minusculas
 
//Creamos la sentencia SQL y la ejecutamos 
$consulta mysql_query("SELECT zebra_id FROM phpbb_zebra WHERE user_id=$usuario") or die(mysql_error()); 
$row mysql_fetch_array($consulta); 
$query mysql_query("SELECT username FROM phpbb_users WHERE user_id=".$row['zebra_id']."") or die(mysql_error()); 
//$con = mysql_fetch_array($query); //no es necesario ya que vas a iterar con while
 
echo '<select name="titulo">'
//Generamos el menu desplegable 
while ($con mysql_fetch_array($query)){
    echo 
'<option>'$con["username"] .'</option>';
}
echo 
'</select>'
Si se muestra un resultado, pero solo uno, no se generan mas....
  #8 (permalink)  
Antiguo 03/12/2013, 08:53
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 6 meses
Puntos: 397
Respuesta: Busqueda en dos bases de datos

Pues eso significa que solo hay un solo resultado, muéstranos la estructura de las tablas y la función de cada una de las tablas involucradas, ya que tienes un problema es con la consulta

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #9 (permalink)  
Antiguo 03/12/2013, 09:08
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Busqueda en dos bases de datos

Textos completos user_id zebra_id friend foe
Editar Borrar 48 49 1 0
Editar Borrar 48 2 1 0
Editar Borrar 2 49 1 0


Esta es la tabla phpbb_zebra ; como ves el usuario 48, tiene dos amigos
  #10 (permalink)  
Antiguo 03/12/2013, 09:16
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 6 meses
Puntos: 397
Respuesta: Busqueda en dos bases de datos

Pues como bien te dijo el colega @xSkArx solo necesitas una sola consulta

La pregunta es zebra_id que es en la tabla phpbb_zebra? Ya que si es el id de un usuario puedes hacer esto:

Código PHP:
Ver original
  1. include('configp.php');
  2. echo '<form method="post" action="revisar_noticias.php">TITULO:'; //acostumbrate a usar tags y atributos en minusculas
  3.  
  4. //Creamos la sentencia SQL y la ejecutamos
  5. $query = mysql_query("SELECT u.* FROM phpbb_zebra z JOIN phpbb_users u ON z.zebra_id = u.user_id WHERE z.user_id = $usuario") or die(mysql_error());
  6.  
  7. echo '<select name="titulo">';
  8. //Generamos el menu desplegable
  9. while ($con = mysql_fetch_array($query)){
  10.     echo '<option>'. $con["username"] .'</option>';
  11. }
  12. echo '</select>';

Creo que con eso debería bastar

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #11 (permalink)  
Antiguo 03/12/2013, 11:15
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Busqueda en dos bases de datos

Tengo que pedirte disculpas, me explico fatal

Lo intento de nuevo:

Yo soy user_id=$usuario" (48), es un dato que se mantiene en una sesion

el siguiente paso es buscar mis amigos en la tabla phpbb_zebra

a ese usuario en esa base de datos corresponden dos amigos:

zebra_id (49 y 2)

Ahora me toca ponerles nombre en la base de datos phpbb_users:

los numeros zebra_id en esta nueva tabla corresponde a user_id

El siguiente paso es buscar la relacion en esa tabla de user_id con username,

Mostrando esos nombres en el desplegable.

Mira que lo intente, pero no se si me he explicado

un saludo y gracias por tu tiempo
  #12 (permalink)  
Antiguo 03/12/2013, 12:05
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años
Puntos: 96
Respuesta: Busqueda en dos bases de datos

Cita:
Iniciado por miriamgomez Ver Mensaje
Tengo que pedirte disculpas, me explico fatal

Lo intento de nuevo:

Yo soy user_id=$usuario" (48), es un dato que se mantiene en una sesion

el siguiente paso es buscar mis amigos en la tabla phpbb_zebra

a ese usuario en esa base de datos corresponden dos amigos:

zebra_id (49 y 2)

Ahora me toca ponerles nombre en la base de datos phpbb_users:

los numeros zebra_id en esta nueva tabla corresponde a user_id

El siguiente paso es buscar la relacion en esa tabla de user_id con username,

Mostrando esos nombres en el desplegable.

Mira que lo intente, pero no se si me he explicado

un saludo y gracias por tu tiempo
Creo que jonni09lo ya te dio la respuesta
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #13 (permalink)  
Antiguo 03/12/2013, 12:26
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Busqueda en dos bases de datos

He tratado de entenderlo

Nunca habia visto ese sistema de "buscar" y no la entiendo,

Tal y como esta muestra el username de la persona identificada, no de sus "amigos"

Un saludo
  #14 (permalink)  
Antiguo 03/12/2013, 12:36
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años
Puntos: 96
Respuesta: Busqueda en dos bases de datos

Checa esto
http://www.forosdelweb.com/f18/varia...s-vez-1071527/
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #15 (permalink)  
Antiguo 03/12/2013, 13:26
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 6 meses
Puntos: 397
Respuesta: Busqueda en dos bases de datos

Te has cerciorado de que es la misma consulta? (había hecho unos cambios ya que me había equivocado tal vez tomaste fue antes del edit). Reemplaza $query por esto

Código PHP:
Ver original
  1. $query = mysql_query("SELECT u.* FROM phpbb_zebra z JOIN phpbb_users u ON z.zebra_id = u.user_id WHERE z.user_id = $usuario") or die(mysql_error());

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #16 (permalink)  
Antiguo 03/12/2013, 13:56
 
Fecha de Ingreso: abril-2008
Mensajes: 348
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Busqueda en dos bases de datos

hola:

genial, funciona. Te lo has currado¡¡¡¡¡

Mil gracias
  #17 (permalink)  
Antiguo 03/12/2013, 13:59
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 6 meses
Puntos: 397
Respuesta: Busqueda en dos bases de datos

me lo he imaginado. La próxima vez seré mas cuidadoso con los edit

Me alegro que te haya servido

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: bases, busqueda, mysql, select, sql
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 04:43.