Comunidad de diseño web y desarrollo en internet online

Buscador con php y Mysql

Citar            
MensajeEscrito el 16 Nov 2007 04:19 am
Alguien me puede orientar, estoy tratando de hacer un buscador con php y mysql, ya hice la base de datos, el formulario con la variable "busqueda", y mi script busca.php, pero no funciona, no se que estoy haciendo mal, si alguien me ilumina muchas gracias!!!

este es el codigo de mis archivos:

Formulario:

<form method="post" action="busca.php">
<td colspan="2" bgcolor="#FFFFFF"><input name="busqueda" type="text" size="40"></td>
<td width="259" bgcolor="#FFFFFF"> <input type="submit" name="submit" value="Buscar">
</form>

busca.php

<?
if (!isset($busqueda)){
      echo "Debe especificar una cadena a bucar";
      exit;
}
$link = mysql_connect("localhost", "invitado", "dehonor");
mysql_select_db("directorio_empresas", $link);
$result = mysql_query("SELECT * FROM empresas WHERE Descripcion LIKE '%$busqueda%' ORDER BY nombre", $link);
if ($row = mysql_fetch_array($result)){
      echo "<table border = '1'> \n";
//Mostramos los nombres de las tablas
echo "<tr> \n";
while ($field = mysql_fetch_field($result)){
            echo "<td>$field->name</td> \n";
}
      echo "</tr> \n";
do {
            echo "<tr> \n";
            echo "<td>".$row["Logo"]."</td> \n";
            echo "<td>".$row["Nombre"]."</td> \n";
            echo "<td>".$row["Descripcion"]."</td> \n";
            echo "<td>".$row["Anuncio"]."</td> \n";
            echo "</tr> \n";
      } while ($row = mysql_fetch_array($result));
            echo "</table> \n";
} else {
echo " No se ha encontrado ningn registro, lo invitamos a navegar por las categorias !";
}
?>

Por guillermoz4

3 de clabLevel



Genero:Masculino  

Mexico

safari
Citar            
MensajeEscrito el 16 Nov 2007 05:09 am
¿Estás trabajando con register_globals = on?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 16 Nov 2007 02:35 pm
Gracias por responder, sinceramente no se a que te refieres, son mis pininos con php y mysql, pero te agradeceria mucho sí me amplias la informacion...de antemano muchas gracias y buen dia!!!

Por guillermoz4

3 de clabLevel



Genero:Masculino  

Mexico

msie7
Citar            
MensajeEscrito el 16 Nov 2007 03:41 pm
Te falta obtener la variable en busca.php por medio de POST que fue como lo definiste en el formulario.

Código :

$var = $_POST['busqueda'];


Algo así.

Saludos.

Por Reymond

Claber

1111 de clabLevel

5 tutoriales
1 articulo

Genero:Masculino  

Mobile developer

firefox
Citar            
MensajeEscrito el 16 Nov 2007 04:18 pm
ok voy a probarlo, gracias...

Por guillermoz4

3 de clabLevel



Genero:Masculino  

Mexico

msie7
Citar            
MensajeEscrito el 16 Nov 2007 09:22 pm
Lo pregunto porque en el script buscar.php haces esto:

Código :

<?
if (!isset($busqueda)){


Es decir, preguntas si la variable $busqueda está definida y eso solo ocurriría con register_globals en "on", caso contrario deberías hacer así:

Código :

<?
$busqueda = @$_POST['busqueda'];
if (empty($busqueda)){

Que más o menos lo que te dice Reymond.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 16 Nov 2007 09:38 pm
DriverOp me quede con la duda.

Para que usas el @ antes del $_POST?

Es pase de parámetros por referencia o algo así?.

Por Reymond

Claber

1111 de clabLevel

5 tutoriales
1 articulo

Genero:Masculino  

Mobile developer

firefox
Citar            
MensajeEscrito el 16 Nov 2007 09:57 pm
ok driverup voy a intentarlo como me dices, gracias

Por guillermoz4

3 de clabLevel



Genero:Masculino  

Mexico

msie7
Citar            
MensajeEscrito el 16 Nov 2007 11:20 pm
Reymond:
El @ delante de $_POST sirve para que el script no genere error en caso de que $_POST['cualquiercosa'] no esté definido, si ese es el caso la variable que está a la izquierda del = queda vacía (empty = true) que es lo que pregunto a continuación.
Es una forma "elegante" de evitar códigos como este:

Código :

if (isset($_POST['cualquiercosa'])) {
  if (!empty($_POST['cualquiercosa'])) { ...

Claro que hay casos en que es necesario saber si $_POST['cualquiercosa'] está definido o no pero no es el caso expuesto aquí.

Saludos.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 16 Ene 2013 12:34 pm

DriverOp escribió:

Reymond:
El @ delante de $_POST sirve para que el script no genere error en caso de que $_POST['cualquiercosa'] no esté definido, si ese es el caso la variable que está a la izquierda del = queda vacía (empty = true) que es lo que pregunto a continuación.
Es una forma "elegante" de evitar códigos como este:

Código :

if (isset($_POST['cualquiercosa'])) {
  if (!empty($_POST['cualquiercosa'])) { ...

Claro que hay casos en que es necesario saber si $_POST['cualquiercosa'] está definido o no pero no es el caso expuesto aquí.

Saludos.


Hola a todos! soy nueva en esto y estoy con el mismo problema que la persona que escribió este tema
ahora probé todo lo que ustedes dicen y sigo sin resolver mi problema.

Es posible que este faltando algo en esta parte del script donde dice algo así, es al principio del mismo
"Debe especificar una cadena a bucar"
y de concretarse mi sospecha podrían orientarme un poco para hallar la solución.

Desde ya muchas gracias!

Por Zonas

0 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.