Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/02/2012, 12:20
Avatar de srsombrero
srsombrero
 
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Configurando el buscador conectado a la bd

Cita:
Iniciado por kfh1992 Ver Mensaje
Hola forosdelweb, haber tengo nuevamente un problema y esta vez es con un buscador..el cual he seguido los pasos de un video y el codigo está correctamente escrito, los errores que me da son los siguientes

1 - Me ponen que estan indefinidos

( ! ) Notice: Undefined index: busqueda in C:\wamp\www\script\buscador.php on line 17
( ! ) Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\wamp\www\script\buscador.php on line 23


<form id="form1" name="form1" method="post" action="">
<p>
<label for="textfield"></label>
<input type="text" name="consulta" id="textfield" />
<input type="submit" name="buscar" id="button" value="Enviar" />
</p>
</form>
<?php
$busqueda = $_POST['busqueda'];
$buscar = $_POST['buscar'];
$consulta= $_POST['consulta'];
if (isset($buscar)){
$conexion = mysql_connect("localhost","kfernandez","hermanos2" ) or die(mysql_error());
$db = mysql_select_db("kfernandez",$conexion) or die (mysql_error);
$consulta = mysql_query("SELECT * FROM users WHERE name LIKE '%$consulta%'");
$contador = mysql_num_rows("$consulta");
if ($contador == 0){
print 'No hay usuarios';
} else{
while ($datos = mysql_fetch_assoc($consulta)){
print 'Se han encontrado '.$contador.'para esta consulta';
print '<table width="267">'.$datos['name'].'</td>';
}
print '</table>';
}
}
?>
El primer error (Notice: Undefined index: busqueda in C:\wamp\www\script\buscador.php on line 17) es porque la configuracion de errores error_reporting deberia estar en E_ALL & ~E_NOTICE, es justamente porque la variable de busqueda esta vacia y son Warnings no son Errores, para las especificaciones oficiales deben inicializarse todas las variables.Es suficiente con poner al principio del codigo:

Código PHP:
error_reporting (E_ALL & ~E_NOTICE); 

Por el otro lado el segundo error se debe a que te falta indicarle cual es el link de conexion a la funcion mysql_query.
Código PHP:
$consulta mysql_query("SELECT * FROM users WHERE name LIKE '%$consulta%'",$conexion); 
En fin tu codigo debe quedar asi:
Código PHP:
<?php
error_reporting 
(E_ALL & ~E_NOTICE);
$busqueda $_POST['busqueda'];
$buscar $_POST['buscar'];
$consulta$_POST['consulta'];
if (isset(
$buscar)){
$conexion mysql_connect("localhost","kfernandez","hermanos2") or die(mysql_error());    
$db mysql_select_db("kfernandez",$conexion) or die (mysql_error);
$consulta mysql_query("SELECT * FROM users WHERE name LIKE '%$consulta%'",$conexion);
$contador mysql_num_rows("$consulta");
if (
$contador == 0){
    print 
'No hay usuarios';
} else{
while (
$datos mysql_fetch_assoc($consulta)){
     print 
'Se han encontrado '.$contador.'para esta consulta';
     print 
'<table width="267">'.$datos['name'].'</td>';
}
print 
'</table>';
    }
    }
?>
__________________
Pablo Carnovale, Diseñador y Programador WEB

http://www.artdesigners.com.ar