Foros del Web » Programando para Internet » PHP »

Busqueda por id en php

Estas en el tema de Busqueda por id en php en el foro de PHP en Foros del Web. Hola amigos Tengo un catalogo de productos, cada catalogo tiene diversas categorias -id -cantidad -precio -foto por medio de php, hice que por medio de ...
  #1 (permalink)  
Antiguo 21/11/2011, 08:58
Avatar de hardy2  
Fecha de Ingreso: noviembre-2007
Mensajes: 129
Antigüedad: 16 años, 5 meses
Puntos: 0
Busqueda por id en php

Hola amigos

Tengo un catalogo de productos, cada catalogo tiene diversas categorias

-id
-cantidad
-precio
-foto

por medio de php, hice que por medio de un formulario me cargara todo esto a una base de datos y los mostrara en una pagina dinamica llamada detalles.php, por ejemplo:
datalles.php?id=14 este me muestra el producto identificado con el id 14 de la base de datos, datalles.php?id=130 , este otro me muestra el producto 130 que esta almacenada en la base de datos, y asi sucesivamente hasta 3000 productos

La pregunta es la siguiente.

tengo un "TextField"
Código HTML:
<form id="form1" name="form1" method="post" action="">
  <label for="buscar"></label>
  <input type="text" name="buscar" id="buscar" />
  <input type="submit" name="button" id="button" value="Submit" />
</form> 
necesito hacer la busqueda por id de cada producto por medio de este buscador,

por ejemplo: en el buscador ingreso el numero 130, me debe traer el articulo 130 almacenado en la base de datos, caragandola en la pagina dinamica detalles.php
quedaria entonces asi datalles.php?id=130

Ya hice lo mas dificil que fue ingresar todo el catalogo y hacer que funcionara, pero no he podido hacer que este buscador me funcione

les agradezco la ayuda que me puedan brindar


saludos!
  #2 (permalink)  
Antiguo 21/11/2011, 09:06
 
Fecha de Ingreso: enero-2010
Mensajes: 400
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Busqueda por id en php

Si no me equivoco yo tengo algo parecido echo, te dejo el codigo del buscador que utilizo, tenes que cambiarle el nombre de la tabla que queres que se realice la busqueda, espero que te sirva. Saludos

Código PHP:
  <form action="busquedapropiedades.php" method="post" name="form1" class="Estilo1">
    <label>
    <div align="center" class="Estilo7">Buscar:
      <input type="text" name="txtBusqueda" id="txtBusqueda">
    Ciudad:
    <select name="selCiudad" id="selCiudad">
      <option value="-1" selected>Todas</option>
        <?php
    $tablaciudades 
mysql_query("SELECT * FROM ciudades ORDER BY nombre ASC"); // Seleccionamos las ciudades de la tabla ciudades
    
while ($registrociudad mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>
      <option value="<?php echo $registrociudad['id']; ?>"><?php echo $registrociudad['nombre']; ?></option>
        <?php
    
// termina la zona de repeticion
    
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>
      </select>
    <input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR">
  #3 (permalink)  
Antiguo 21/11/2011, 09:19
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Busqueda por id en php

Código MySQL:
Ver original
  1. SELECT * FROM productos WHERE producto.id = $_POST['buscar']

aunque si este sistema lo usara el usuario (perdonen la redundancia) final, lo detestaria.
  #4 (permalink)  
Antiguo 21/11/2011, 09:20
Avatar de hardy2  
Fecha de Ingreso: noviembre-2007
Mensajes: 129
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Busqueda por id en php

Cita:
Iniciado por bbrian Ver Mensaje
Si no me equivoco yo tengo algo parecido echo, te dejo el codigo del buscador que utilizo, tenes que cambiarle el nombre de la tabla que queres que se realice la busqueda, espero que te sirva. Saludos

Código PHP:
  <form action="busquedapropiedades.php" method="post" name="form1" class="Estilo1">
    <label>
    <div align="center" class="Estilo7">Buscar:
      <input type="text" name="txtBusqueda" id="txtBusqueda">
    Ciudad:
    <select name="selCiudad" id="selCiudad">
      <option value="-1" selected>Todas</option>
        <?php
    $tablaciudades 
mysql_query("SELECT * FROM ciudades ORDER BY nombre ASC"); // Seleccionamos las ciudades de la tabla ciudades
    
while ($registrociudad mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>
      <option value="<?php echo $registrociudad['id']; ?>"><?php echo $registrociudad['nombre']; ?></option>
        <?php
    
// termina la zona de repeticion
    
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>
      </select>
    <input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR">

gracias por tu respuesta, efectivamente es algo muy parecido a lo que estoy buscando ,
pero tengo una duda, donde me cargaria la lista del catalogo, ya que hice por medio de php, que me cargara toda a una pagina llamada detalles.php
como redirecciono pra que carge alli.
  #5 (permalink)  
Antiguo 21/11/2011, 09:27
Avatar de hardy2  
Fecha de Ingreso: noviembre-2007
Mensajes: 129
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Busqueda por id en php

Cita:
Iniciado por memoadian Ver Mensaje
Código MySQL:
Ver original
  1. SELECT * FROM productos WHERE producto.id = $_POST['buscar']

aunque si este sistema lo usara el usuario (perdonen la redundancia) final, lo detestaria.
gracias por tu respuesta, te hago la misma pregunta que el otro amigo, si necesito que la busqueda me cargue en la pagina detalles.php, pues alli es donde tengo cargado todo el codigo para los productos como hago


gracias
  #6 (permalink)  
Antiguo 21/11/2011, 09:29
 
Fecha de Ingreso: enero-2010
Mensajes: 400
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Busqueda por id en php

Me carga en el mismo lugar donde pones el codigo, debajo del formulario.
agregandole esto logicamente.
Código PHP:
 <?php
$sql 
"SELECT propiedades.*, ciudades.* FROM propiedades, ciudades WHERE propiedades.idciudad = ciudades.id ";
if (isset(
$_POST['txtBusqueda'])) {
    
$sql .= " AND propiedades.titulo LIKE '%" $_POST['txtBusqueda'] . "%' ";
    if (
intval($_POST['selCiudad']) > 0) {
        
$sql .= " AND propiedades.idciudad = '" intval($_POST['selCiudad']) . "'";
    }
}
$sql .= " ORDER BY ciudades.nombre DESC";
$tabla mysql_query($sql);
while (
$registro mysql_fetch_array($tabla)) {
?>

  <tr>
        <td height="82" class="Estilo1"><span class="Estilo9"><?php echo $registro['id']; ?></span></td>
    <td class="Estilo1"><span class="Estilo9"><?php echo $registro['titulo']; ?></span></td>
    <td class="Estilo9"><?php echo $registro['idciudad']; ?><?php echo $registro['nombre']; ?></td>
    <td class="Estilo1"><span class="Estilo9"><?php echo $registro['descripcion']; ?></span></td>
    <td class="Estilo9">Venta: <?php echo $registro['precioventa']; ?> / Renta: <?php echo $registro['preciorenta']; ?></td>
    </tr>

Modifica con los datos de tus tablas
  #7 (permalink)  
Antiguo 21/11/2011, 09:43
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Busqueda por id en php

Creo que a esa consulta le falta algo bbrian, generlamente es una buena practica que al unir dos tablas no se use WHERE sino ON

es decir la forma correcta deberia ser

Código MySQL:
Ver original
  1. SELECT propiedades.*, ciudades.* FROM propiedades, ciudades ON propiedades.idciudad = ciudades.id

y ademas le falta introducir que id de propiedad se esta buscando


Código MySQL:
Ver original
  1. SELECT propiedades.*, ciudades.* FROM propiedades, ciudades ON propiedades.idciudad = ciudades.id WHERE propiedades.idciudad = $_POST['id']

por otro lado hardy2

tu al mandar un post lo puedes hacer a otra página o a la misma dependindo de tu gusto

pero por ejemplo si lo mandas via post a otra pagina como detalles.php este debe recoger el post del formulario

pero como lo colocas datalles.php?id=14 entonces es get

y simplemente debes hacer la consulta dentro de tu archivo.

Código PHP:
Ver original
  1. $query = "SELECT * FROM productos WHERE producto.id = $_GET['id']";

y de aqui para delante es básico :)
  #8 (permalink)  
Antiguo 23/11/2011, 20:25
Avatar de hardy2  
Fecha de Ingreso: noviembre-2007
Mensajes: 129
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Busqueda por id en php

Cita:
Iniciado por memoadian Ver Mensaje
Creo que a esa consulta le falta algo bbrian, generlamente es una buena practica que al unir dos tablas no se use WHERE sino ON

es decir la forma correcta deberia ser

Código MySQL:
Ver original
  1. SELECT propiedades.*, ciudades.* FROM propiedades, ciudades ON propiedades.idciudad = ciudades.id

y ademas le falta introducir que id de propiedad se esta buscando


Código MySQL:
Ver original
  1. SELECT propiedades.*, ciudades.* FROM propiedades, ciudades ON propiedades.idciudad = ciudades.id WHERE propiedades.idciudad = $_POST['id']

por otro lado hardy2

tu al mandar un post lo puedes hacer a otra página o a la misma dependindo de tu gusto

pero por ejemplo si lo mandas via post a otra pagina como detalles.php este debe recoger el post del formulario

pero como lo colocas datalles.php?id=14 entonces es get

y simplemente debes hacer la consulta dentro de tu archivo.

Código PHP:
Ver original
  1. $query = "SELECT * FROM productos WHERE producto.id = $_GET['id']";

y de aqui para delante es básico :)

Amigo, mucha gracias por tu ayuda

lo solucione de la siguiente manera
Código PHP:
Ver original
  1. <form method="GET" action="detalles.php" target="_blank">
  2.   <input type="text" name="Referencia" value="<?=urldecode($_GET['Referencia'])?>"> <input type="submit" value="Buscar!"><br>
  3. <?


muchas gracias por la ayuda

Última edición por hardy2; 24/11/2011 a las 08:52 Razón: encontre solucion

Etiquetas: formulario, busquedas
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 18:43.