| ||||
busqueda en mysql hola amigos quisiera....por medio de un formulario donde colocar la palabra que se quiere encontrar en la base de datos....y asi mostrar los registros que contiene esa palabra....si alguien me puede dar una mano de como comenzar se lo agradeceria....ya busque en www.hotscripts.com pero es demasiado para lo qure deseo....desde ya muchas gracias!! |
| |||
Solo tienes que hacer consultas tipo: SELECT * FROM tabla WHERE campo LIKE '%$buscar%' Usando LIKE y los "wilcards" (comodines) "%" (tanto delante de la cadena a buscar como detras) puedes buscar las coincidencias de esa palabra en el campo q busques .. Si quieres la palabra "exacta" tan solo con un condicional en la consulta tipo: ... WHERE campo='$buscar' .. Puede servir .. (tambien un LIKE '$buscar' .. sin comodines ..) Cosas mas "complejas" como buscar en varios campos a la vez .. o por "palabraS .." Solo tendiras q usar operadores lógicos en tus consultas: AND .. OR . y mas LIKE de ese tipo ... Un saludo, |
| ||||
TODO MAL aqui les dejo amigos el codigo de busqueda para ver si me pueden orientar un poquito, porque la verdad estoy mas desubicado que "inodoro en el living" ---------------------------busqueda.php----------------------------------- <style type="text/css"> .boton{ font-size:10px; font-family:Verdana,Helvetica; font-weight:bold; color:white; background:#638cb5; border:0px; width:80px; height:19px; } </style> <HTML> <HEAD> <TITLE>Busqueda de un Cliente</TITLE> </HEAD> <BODY> <div align="center"> <h1>Ingrese el Cliente a Buscar</h1> <br> <FORM METHOD="POST" ACTION="buscar.php"> <table width="122" border="1" cellspacing="2" cellpadding="0"> <tr> <td><INPUT TYPE="TEXT" NAME="palabra"></td> </tr> </table> <INPUT TYPE="SUBMIT" value="Buscar" class="boton" name="boton"> </FORM> </div> </BODY> </HTML> --------------------------------buscar.php------------------------------------- Código PHP: |
| ||||
consulta bueno debes checar el nombre del usuario y si tiene password ponerselos . tambien debes meter dentro de un do los registros que resulten de esa consulta es decir. do{ echo "<td>$row[id]</td> "; echo "<td>$row[c_nombre]</td> "; echo "<td>$row[c_apellido]</td> \n \n"; echo "<td>$row[c_direccion]</td>"; echo "<td>$row[c_telefono]</td>"; echo "<td>$row[c_diagnostico]</td>"; }while($row = mysql_fetch_array($consulta)); Última edición por payo22; 12/02/2003 a las 22:52 |
| ||||
codigo de ejemplo aqui te mando un codigo de ejemplo: <html> <body> <?php $link = mysql_connect("localhost","usuario de la BD","password del usuario"); mysql_select_db("prueba",$link); $sql = "SELECT * FROM clientes WHERE nombre LIKE '%$buscar%'ORDER BY nombre" ; $result = mysql_query($sql,$link); if ($row=mysql_fetch_array($result)){ echo "<table border = '1'> \n"; //Mostrramos los nombres de las tablas //echo "<tr> \ndigo" style = "margin-left:50">echo "</tr> \n"; mysql_field_seek($result,0); while($field = mysql_fetch_field($result)){ echo "<td><b>$field->name</b></td> \n"; } echo "</tr> \n"; do{ echo "<tr> \n"; echo "<td>.$row[nombre].</td> \n"; echo "<td>.$row[edad].</td> \n"; echo "<td>.$row[sueldo].</td> \n"; echo "<td>.$row[memo].</td> \n"; }while($row = mysql_fetch_array($result)); echo "</table> \n"; }else{ echo "<p> No se encontro ningun registro!</p> \n"; } ?> </body> </html> espero te sirva |
| ||||
gracias payo22.........pero lo probaste al codigo a mi no me anda......de donde sale la variable $field->name ......si puedes decirme en que falla el codigo que yo puse te lo agradeceria mucho, sino me complico bastante. Desde Ya Muchas Gracias! |
| ||||
Gracias PAYO22 te agradezco de verdad el tiempo que me dedicas pero me sigue dando error......mira: Cita: o sea hace referencia a esta linea:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\gestion\buscar.php on line 64 Cita: si sabes algo al respecto te lo agradeceria "nuevamente" while ($row=mysql_fetch_array($busqueda)) |
| ||||
Haber si asi si <HTML> <HEAD> <TITLE>Busqueda</TITLE> </HEAD> <BODY> <form> <h1><div align="center">Visualizacion de los Clientes Encontrados</div></h1> <br> <br> <? //Mostramos los registros $conexion = mysql_connect("localhost","root","admin"); mysql_select_db("Informe",$conexion); $consulta = "SELECT * FROM clientes WHERE nombre = $Buscar"; $busqueda = mysql_query($consulta,$conexion); echo "<table width='100%' border=1 cellspacing='0' align='center' bordercolor='#000000'>\n"; echo "<tr> <td bgcolor=#cccccc> <div align='center'><font color='#000000'>id</font></div> </td> <td bgcolor=#cccccc> <div align='center'><font color='#000000'>Nombre</font></div> </td> <td bgcolor=#cccccc> <div align='center'><font color='#000000'>Apellido</font></div> </td> <td bgcolor=#cccccc> <div align='center'><font color='#000000'>Direccion</font></div> </td> <td bgcolor=#cccccc> <div align='center'><font color='#000000'>telefono</font></div> </td> <td bgcolor=#cccccc> <div align='center'><font color='#000000'>Diagnostico</font></div> </td> <td bgcolor=#cccccc> <div align='center'><font color='#000000'>Precio</font></div> </td> <td bgcolor=#cccccc> <div align='center'><font color='#000000'>Feecha</font></div> </td> </tr>\n"; $lista_colores=array('#4682B4','FF7F50'); $num_colores=2; $indice=0; while ($row=mysql_fetch_array($busqueda)) { $color=$lista_colores[$indice % $num_colores]; $indice++; echo "<tr bgcolor=\"$color\">"; echo "<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[ID]</font></td>"; echo "<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[Nombre]</font></td>"; echo "<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[Apellido]</font></td>"; echo "<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[Direccion]</font></td>"; echo "<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[Telefono]</font></td>"; echo "<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[Diagnostico]</font></td>"; echo "<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[Precio]</font></td>"; echo "<td bgcolor=\"$color\" align='center'><font color='#000000'>$row[Fecha]</font></td>"; echo " </tr>\n"; } echo "</table>"; ?> </form> </BODY> </HTML> espero asi ya salga pon atencion a lo que dice el Maestro Cluster. a mi ya me funciono asi espero te funcione igual. |
| ||||
Checa tu conexion Mira checa tu conexion esto lo haces mandando a imprimir dicha variable: echo $conexion; si el resultado = 1 entonces el problema no es con la conexion si no con la consulta checa el nombre de la DB como la tabla y la sentencia que hacer para realizar la busqueda. espero te ayude |
| |||
Para detectar errores de SQL . usa: Código PHP: Puedes emplear el or die(msyql_error)) .. en tus mysql_connect() y en cualquier funcion de mysql .. Un saludo, |
| |||
Hola, Comprueba que el valor devuelto por mysql_query() no es FALSE. Si es FALSE es que tu consulta SQL es erronea y puedes sacar el mensaje de error con mysql_error(). Seria algo asi: Código PHP: ... where nombre=''$Buscar" Suerte.
__________________ Josemi Aprendiz de mucho, maestro de poco. |