Foros del Web » Programando para Internet » PHP »

Configurando el buscador conectado a la bd

Estas en el tema de Configurando el buscador conectado a la bd en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 02/02/2012, 10:21
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Configurando el buscador conectado a la bd

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>';
}
}
?>
  #2 (permalink)  
Antiguo 02/02/2012, 12:20
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años
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
  #3 (permalink)  
Antiguo 02/02/2012, 13:04
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Configurando el buscador conectado a la bd

Rectifico,he conseguido que me funcione pero como puedo hacer que en este codigo


while ($datos = mysql_fetch_assoc($consulta)){
print '<table width="267">'.$datos['name'].'</td>';
}

En la parte de este codigo hay un enlaze que carga el perfil del usuario...se podria aplicar al codigo de arriba?Estas cosas aun no las se hacer

echo "
<tr>
<a href=./members/profile.php?id_usuario=".$row['id'].">".$row['alias']."</a>;
</tr>

Última edición por kfh1992; 02/02/2012 a las 15:58
  #4 (permalink)  
Antiguo 03/02/2012, 04:34
 
Fecha de Ingreso: diciembre-2011
Mensajes: 414
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Configurando el buscador conectado a la bd

Alguna idea no soy capaz de hacerlo...lo dejo asi

print '"<a href=./members/profile.php?id_usuario="'.$row['id'].'">".$row['name'].</a>"';

Y no me funciona :(
  #5 (permalink)  
Antiguo 03/02/2012, 11:58
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Configurando el buscador conectado a la bd

Código PHP:
Ver original
  1. echo '<a href=/members/profile.php?id_usuario='.$row['id'].'>'.$row['alias'].'</a>';

Etiquetas: bd, conectado, mysql, sql, buscadores, variables, usuarios
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 06:36.