Foros del Web » Programando para Internet » PHP »

problema buscando registros

Estas en el tema de problema buscando registros en el foro de PHP en Foros del Web. Hola! Ya estoy fastidiado, algo estoy haciendo mal y no se que es, espero que me puedan ayudar: mi base de datos en Mysql tiene ...
  #1 (permalink)  
Antiguo 02/12/2006, 16:05
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4
Antigüedad: 17 años, 11 meses
Puntos: 0
problema buscando registros

Hola! Ya estoy fastidiado, algo estoy haciendo mal y no se que es, espero que me puedan ayudar:

mi base de datos en Mysql tiene dos tablas: clientes y productos.
la tabla clientes tiene dos campos: id, nombre;
la tabla productos también tiene dos campos: id, nombre;

mi código:

Código PHP:
<?php
// Conexion a la base de datos;
$conexion=mysql_connect("localhost","usuario","password") or die("Problemas en la conexion");
mysql_select_db("miBaseDeDatos",$conexion) or die("No se encontro la base de datos");

//En sequida hago el query para buscar el nombre del cliente a traves de su id
$tablaCli mysql_query("SELECT * FROM clientes WHERE id='1'",$conexion) or die("Problemas en el select: ".mysql_error());
$regCli mysql_fetch_array($tablaCli);

echo 
"Nombre del Cliente: ".$regCli['nombre']; //Funciona OK, me devuelve lo que quiero

//En seguida hago que el query busque el nombre del producto por su respectiva id
$comando "SELECT * FROM productosWHERE id = '2' AND id = '3'"
$tablaProd mysql_query($comando,$conexion) or die("Problemas en el select: ".mysql_error());
// Aqui es donde truena, no me devuelve nada:
while ($regProd mysql_fetch_array($tablaProd)) {
    echo 
"Nombre del Producto: ".$regProd['nombre'];
}

mysql_close($conexion);
?>
Qué estoy haciendo mal? Acaso no se pueden accesar a dos tablas con una conexión? O hay problemas buscando por más de 1 campo clave por comando? Espero que me puedan ayudar. Gracias de antemano.
  #2 (permalink)  
Antiguo 02/12/2006, 16:37
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Hola daruide...

Te recomiendo ésta lectura...
Consulta Multitabla
Saludos.-
  #3 (permalink)  
Antiguo 02/12/2006, 17:39
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4
Antigüedad: 17 años, 11 meses
Puntos: 0
Gracias por la página Paulkees, aunque es en realidad muy buena, no me ha ayudado mucho ya que ahora veo que mi problema es diferente, porque aún seleccionando una sola tabla no me hace lo que yo quiero.

Tengo mi tabla 'Productos', de la cual quiero que me muestre los que tienen el número de ID: '1' y '2'.

En teoría ésto debería funcionar, pero otra vez no se que estoy haciendo mal (o no haciendo). Aquí va otra vez mi código, pero con una sola tabla.

Código PHP:
<?php

// Conexion a la base de datos;
$conexion=mysql_connect("localhost","usuario","password") or die("Problemas en la conexion");
mysql_select_db("miBaseDeDatos",$conexion) or die("No se encontro la base de datos");

//En sequida hago el query para buscar el nombre del producto a traves de su respectiva id
$comando "SELECT id,nombre FROM productos WHERE id='1' AND id='2'";
$tabla mysql_query($comando,$conexion) or die("Problemas en el select: ".mysql_error());

//  En teoría, éste ciclo debería devolverme los dos productos que le estoy pidiendo,
// pero truena y no me devuelve nada, al parecer ni siquiera $reg contiene nada
// Sin embargo cuando busco sólo un dato, sí me lo devuelve
while($reg mysql_fetch_array($tabla)) {
    echo 
"Nombre del producto: ".$reg['nombre']."<br>";
}

mysql_close($conexion);

?>
  #4 (permalink)  
Antiguo 02/12/2006, 18:11
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Hola nuevamente...

Prueba así a ver que pasa...

Código HTML:
<HTML>
<BODY>
<table style="margin-top:6px" width="100%">
<?php

function Conectarse()
{
   if (!($link=mysql_connect("localhost","usuario","contraseña")))
   {
      echo "Error conectando a la base de datos.";
      exit();
   }
   if (!mysql_select_db("tubasededatos",$link))
   {
      echo "Error seleccionando la base de datos.";
      exit();
   }
   return $link;
}

   $link=Conectarse();
   $result=mysql_query("select id,nombre FROM productos",$link);
?>
   <TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 align=center bgcolor=dddddd>
      <tr><td colspan=2 bgcolor="#005399" align="center" style="padding-bottom:4px;"><span style="font-size:25px;font-family:times new roman;font-weight:bold;color:#ffffff;">PRODUCTOS</span></td></tr>
      <TR style="font-weight:bold;font-size:14px;background-color:#ffffff;text-align:center;"><TD>&nbsp;ID&nbsp;</TD><TD>&nbsp;NOMBRE&nbsp;</TD></TR>
<?php

   while($row = mysql_fetch_array($result)) {
      printf("<tr style='font-size:15px;'><td align=center>&nbsp;%s&nbsp;</td><td align=center>&nbsp;%s&nbsp;</td></tr>", $row["Id"],$row["Nombre"]);
   }
   mysql_free_result($result);
   mysql_close($link);
?>
</table>
</BODY>
</HTML> 
Saludos.-
  #5 (permalink)  
Antiguo 02/12/2006, 19:24
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4
Antigüedad: 17 años, 11 meses
Puntos: 0
Gracias por tu ayuda paulkees. Tu última respuesta me imprime todos los registros de la tabla (con eso no tengo problema). Lo que yo quería es que me muestre sólo los que yo le pida, como el producto 1, el 3 y el 6, por ejemplo.

Sin embargo tu última respuesta me ayudo mucho porque me dió una idea :P
Hago un query para que me muestre tóda la tabla, y después en php hago un ciclo que me aparte en un arreglo sólo las que necesito y ya resuelvo el problema por lo pronto, jaja, al menos funciona :P

Mi problema original esta muy raro, porque busqué y busqué y todo lo tengo bien (al parecer), pero con tu respuesta me ayudaste bastante, gracias de nuevo paulkees.
  #6 (permalink)  
Antiguo 02/12/2006, 20:03
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Hola nuevamente...

Bien, me alegro que te sirviera... pero:
lo que yo te envie era para ver la conección y los resultados, por eso te puse "que probaras para ver que pasaba", ahora para que la consulta te muestre los Id y Nombres que quieres, debes de utilizar el WHERE...
Suerte y Saludos!!!
  #7 (permalink)  
Antiguo 03/12/2006, 10:39
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4
Antigüedad: 17 años, 11 meses
Puntos: 0
Ups, disculpa :P, como ví de rápido el código yo pensé que era únicamente para que me mostrara todos los registros.

Ahora sí, ya hice lo que me dijiste, probé con tu código y ví a ver que pasaba, y pasó que no me muestra ningún dato, sin embargo me muestra todas las casillas, es decir, si hay 6 productos me muestra 6 casillas, pero en blanco! Ta raro, no? :P Gracias.
  #8 (permalink)  
Antiguo 03/12/2006, 13:47
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Hola daruide...

Sospecho que algo estás poniendo mal en el WHERE...
por que sin el WHERE te muestra todos los registros, por lo tanto con el where no te puede mostrar en blanco... revisa bien y realiza pruebas de ensayo-error.
cualquier duda, seguimos.
Saludos.-
  #9 (permalink)  
Antiguo 06/12/2006, 14:48
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Re: problema buscando registros

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
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 22:21.