Foros del Web » Programando para Internet » PHP »

Consulta BD especifica

Estas en el tema de Consulta BD especifica en el foro de PHP en Foros del Web. Tengo la siguiente BD llamada dem que es para inventariar algunas cosas en la casa y me gustaria hacer una consulta especifica en php para ...
  #1 (permalink)  
Antiguo 21/04/2003, 09:29
DeM
 
Fecha de Ingreso: marzo-2003
Ubicación: The heart of Southamerica
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Consulta BD especifica

Tengo la siguiente BD llamada dem que es para inventariar algunas cosas en la casa y me gustaria hacer una consulta especifica en php para que me salga solo esa linea de la BD en pantalla.

Esta es la estructura de la BD

Mi idea es hacer un formulario en el que coloque por ejemplo solo la palabra "Mesa" y que el resultado me diga que esta en el comedor y pertenece a Luis.

Esta es la forma como se ve en phpmyadmin
.

Si no es mucha molestia les pediria que me ayuden a salir de este embrollo tan rollo

Gracias y saludos
  #2 (permalink)  
Antiguo 21/04/2003, 09:40
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Antes que otra cosa, debes considerar que tu tabla "pudiera" tener mas de un registro con el valor "Mesa"...

En ese caso, debes decidir que hacer antes de meterte en la programación de la solución.

Te adelanto que si el caso es que no tendrás duplicados en el campo articulo, la solución sería mas o menos así...


Asumiendo también que tienes un formulario con el campo "articulo" que te direcciona a el siguiente script:
Código PHP:
//aqui te conectas con tu BD
$seleccionado=$_POST["articulo"];
$QS_Articulos=mysql_query("select * from dem where articulo='$seleccionado'");
$RS_Articulos=mysql_fetch_array($QS_Articulos);

echo 
"Articulo seleccionado: ".$RS_Articulos["articulo"]."<br>";
echo 
"Lugar: ".$RS_Articulos["lugar"]."<br>";
echo 
"Propietario: ".$RS_Articulos["pripiedad"]."<br>"
Bueno, las variantes que hay son MUCHAS, pero la escencia es basicamente la misma...

Espero haberte ayudado!

__________________
Manoloweb
  #3 (permalink)  
Antiguo 21/04/2003, 16:10
DeM
 
Fecha de Ingreso: marzo-2003
Ubicación: The heart of Southamerica
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Te agradesco mucho Manoloweb, ya probe el código que me pasate pero, a pesar de que me sirve la estructura y no genera ningún error, sigue sin aparecer los resultados en pantalla.

Donde dice
Cita:
//aqui te conectas con la BD
Coloque lo siguiente:
Código PHP:
$linkbd mysql_connect("localhost""nombre""contraseña");
mysql_select_db("dem"$linkbd); 
No se si es lo correcto
  #4 (permalink)  
Antiguo 21/04/2003, 16:18
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Todo parece correcto...

Estas manejando un formulario con un campo "articulo"?
__________________
Manoloweb
  #5 (permalink)  
Antiguo 21/04/2003, 17:50
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 15 años
Puntos: 0
mm creo que
$QS_Articulos=mysql_query("select * from dem where articulo='$seleccionado'");

cambialo por

$QS_Articulos=mysql_query("SELECT * FROM dem WHERE articulo like '%$seleccionado%'");
__________________

la vida es bella cuando no es culera
  #6 (permalink)  
Antiguo 21/04/2003, 18:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si usas WHERE articulo='$seleccionado' .. tendrás q buscar por la palabra EXACTA .. osese: Mesa por ejemplo ...

Con LIKE y esos comodines (willcards %) .. podras buscar Mesa en toda una cadena .. Ahora el problema es de si estas buscado Mesa o mesa ..

Y si usas el $linkbd .. usalo en todas las funciones que lo requieran:

Código PHP:
$QS_Articulos=mysql_query("select * from dem where articulo='$seleccionado'",$linkbd) or die(mysql_error()); 
Usar el mysql_error() en todas las funciones que usen Mysql te vendrá bien para detectar errores de SQL o de conexión (o selección de la BD). Usalo ...


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 22/04/2003, 09:22
DeM
 
Fecha de Ingreso: marzo-2003
Ubicación: The heart of Southamerica
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Como dice Manoloweb en su firma
Cita:
La mejor manera de aprender es Leer, Probar y preguntar
Y lo leí, Probe y ahora pregunto a Cluster Porque me aparece el siguiente error cuando coloco el código que me paseaste:
Cita:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in f:\server\www\test\test1.php on line 16
Donde la linea 16 es
Código PHP:
$QS_Articulos=mysql_query("select * from dem where articulo='$seleccionado'",$linkbd) or die(mysql_error()); 
Espero no estar causandoles muchas molestias
  #8 (permalink)  
Antiguo 22/04/2003, 09:53
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Lo mas probable es que tu cadena de conexión tenga algun problema.

Es posible que no te diera errores antes, ya que mysql_query, si no se le especifica un "link identifier", utiliza el ultimo abierto O ABRE UNO AUTOMATICAMENTE (como mysql_connect() sin argumentos)

Revisa bien tu username y tu password, así como el host de tu conección ($linkbd)

Saludos
__________________
Manoloweb
  #9 (permalink)  
Antiguo 22/04/2003, 12:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Yo te comenté que usases el ... or die(mysql_error)) .... En todas las funciones que uses de mysql_xxx().

Si lo usas en el:
Código PHP:
msyql_connect("host","user","pass") or die(mysql_error)); 
Veras lo mas problable el error concreo que hay con la conexión ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 20:40.