PHP - Seleccionar select y me muestre sus datos

 
Vista:
sin imagen de perfil

Seleccionar select y me muestre sus datos

Publicado por Roberto (3 intervenciones) el 12/03/2014 19:00:35
Hola y gracias por leer este post, y ayudarme en su solucion:

Estoy desarrollando un buscador de productos, para ello tengo un input, meto el texto y me busca el producto (una imagen) y la muestra correctamente, esa funcion si me sale bien, pero ahora quiero agregar un combobox php, al seleccionar una categoria de productos de esta lista, quiero que en la misma pagina donde me los muestra el input, me salgan estos mismos productos.


INPUT (En el index.php)...

1
2
3
4
5
6
7
8
9
<div id="header3" align="center">
<form name="form1" method="post" action="subcategorias2.php" id="cdr" >
  <h3>Busca Mi Negocio</h3>
      <p><br />
        <input name="busca"  type="text" onclick="this.value='';"  value="Escribe una palabra..." size="30" maxlength="30" />
     <br /><br />
          <button name="boton" type="submit">BUSCAR</button></p></form>
 
</div>


CODIGO QUE MUESTRA CONTENIDO (imagen) (subcategorias2.php)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$busca="";
$busca=$_POST['busca'];
mysql_connect("localhost","root","");// si haces conexion desde internnet usa 3 parametros si es a nivel local solo 2
mysql_select_db("escobedo");//nombre de la base de datos
if($busca!=""){
$busqueda=mysql_query("SELECT * FROM productos WHERE palabras LIKE '%".$busca."%'");//cambiar nombre de la tabla de busqueda
?>
 
<?php
							while( $f = mysql_fetch_row( $busqueda ) ){
								$palabras = $f[0];
 
					?>
 
								<tr>
<td align="center"><a href="detalles_producto.php?id=<?php echo $palabras ?>"><img src="images/tarjeta grande/<?php echo $palabras ?>.jpg" width="200" height="140"/> </a></td>
 
								</tr>
					<?php
							}
						}
					?>
 
			  </table>


ESTE CODIGO LO PONGO EN EL MENU DE INDEX PERO NO ME FUNCIONA COMO EN EL INPUT:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<li><a href="#" title="Directorio">
 
 
             <select name="buscar" onchange="window.location.href='subcategorias2.php'" >
 
    <option>DIRECTORIO</option>
    <?php
	while ($row1=mysql_fetch_array($result)){
	?>
    	<option value="<?=$row1["id_cat"]?>"><?=$row1["categoria"]?></option>
    <?php
	}
	?>
  </select>
 
     </a>
     </li>

Ayuda por favor, ya no se que hacer... Solo me manda a la pagina subcategorias2.php, pero me arroja el error:Notice: Undefined index: buscar in C:\xampp\htdocs\MercadoEscobedo\subcateg… on line 91
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Seleccionar select y me muestre sus datos

Publicado por Alejandro (840 intervenciones) el 12/03/2014 19:39:02
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Estas redirigiendo a la pagina pero sin enviar ningun valor.
Puedes crear una funcion en javascript

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>
function directorio(buscar){
    window.location.href='subcategorias2.php?buscar='+buscar;
}
</script>
 
<select name="buscar" onchange="directorio(this.value)'" >
 
<option>DIRECTORIO</option>
<?php
while ($row1=mysql_fetch_array($result)){
?>
<option value="<?=$row1["id_cat"]?>"><?=$row1["categoria"]?></option>
<?php
}
?>
</select>
De este modo pasas la variable $_GET['buscar']

tu sentencia sql podrian ser
1
$busqueda=mysql_query("SELECT * FROM productos WHERE palabras LIKE '%".$busca."%'" AND categoria = '".$_GET[buscar]."');

1
$busqueda=mysql_query("SELECT * FROM productos WHERE palabras LIKE '%".$busca."%'" OR categoria = '".$_GET[buscar]."');

espero que lo entiendas.
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

Seleccionar select y me muestre sus datos

Publicado por Roberto (3 intervenciones) el 13/03/2014 23:35:35
Hola...

ya puse el código tal cual, pero aun me da el error:

el Scrip lo puse arriba del </head>, la sentencia, use la segunda donde esta el "OR", pero quisiera saber si es por la sentencia o sigo sin enviar algún valor.

Lo que pasa es que en mi BD "Escobedo", tengo la tabla "categorías" ----> id_cat y categoría
en la tabla producto tengo---> id_producto, id_cat, producto, descripción, imagen.

En el select, jale la id_cat y la categoría

cuando selecciono un select (id_cat) quiero que en la pagina subcategorias2.php, me muestre la imagen que tengo en la tabla producto, cual podría ser la sentencia:

Quisiera saber si es algo asi o como???

$busqueda=mysql_query("SELECT * FROM productos WHERE palabras LIKE '%".$busca."%'" OR id_cat in (select id_cat from categorías where id_cat = '".$_GET[buscar]."')");


De antemano, muchas gracias por su apoyo.
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