Está en la página 1de 16

Pasos a seguir para la creacin de un buscador con PHP y MySQL.

Por Alfredo Anaya


Atencin: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

Supongo al lector familiarizado con la programacin en php y la administracin bsica de Mysql. Como punto de partida, la informacin a buscar la tenemos que tener almacenada en una tabla de nuestra base de datos. Pongamos como ejemplo una tabla con artculos tcnicos que llamaremos ARTICULOS. Esta tabla ARTICULOS tendr como mnimo dos campos llamados TITULO y DESARROLLO, que almacenarn el ttulo del artculo y su contenido respectivamente.

Los tipos de los campos a buscar debern ser CHAR, VARCHAR o TEXT con sus variantes. Ahora disearemos una pgina con un formulario y una caja de texto para escribir la cadena de consulta "busqueda" y llamar al script de bsqueda "buscar.php". Ejemplo: <FORM METHOD=POST ACTION="buscar.php"> Buscar: <INPUT TYPE="text" NAME="busqueda"> </FORM> En el fichero buscar.php es donde est el click de la cuestin. Hay que hacer la consulta que busque las palabras y devuelva como resultado los registros coincidentes. Hasta aqu parece fcil y podramos resolverlo as: SELECT * FROM ARTICULOS WHERE DESARROLLO LIKE '%$busqueda%' OR TITULO LIKE '%$busqueda%' Pues esta consulta nos mostrar todos los artculos que en su titulo o en su contenido aparezca la frase de bsqueda tal y como nosotros la introducimos. Esto es muy limitado ya que un cambio en el orden de las palabras o un artculo de separacin dar al traste con nuestra bsqueda no mostrando los resultados deseados. Si bien podramos depurar y mejorar la sintaxis de nuestra bsqueda utilizando el operador LIKE las bsquedas resultaran muy lentas y no tendran el resultado esperado. La solucin mas eficiente es utilizar los ndices FULLTEXT especficamente indicados para estos menesteres. Pues bien esto implica ir a nuestra base de datos, y crear un indice FULLTEXT con todos los campos que deseamos incluir en nuestra busqueda, que en nuestro caso son TITULO y DESARROLLO. Para ello basta con el phpmyadmin o bien escribir la instruccin directamente: ALTER TABLE ARTICULOS ADD FULLTEXT(TITULO, DESARROLLO);

Una vez creado el ndice la instruccin SQL para buscar ser: SELECT * FROM ARTICULOS WHERE MATCH(TITULO, DESARROLLO) AGAINST ('$busqueda') Esta lnea utiliza la funcin MATCH ... AGAINST ... que encuentra el texto buscado, usando consultas en lenguaje natural parecido a como lo hacen los motores de bsqueda. Adems, se calcula internamente una puntuacin en funcin de como aparecen los trminos buscados dentro de nuestro artculo. Perfeccionando la bsqueda: SELECT * , MATCH (TITULO,DESARROLLO) AGAINST ('$busqueda') AS puntuacion FROM ARTICULOS WHERE MATCH (TITULO, DESARROLLO) AGAINST ('$busqueda') ORDER BY puntuacion DESC LIMIT 50 Esta lnea devuelve los 50 primeros resultados encontrados ordenados de mas a menos puntuacin. El valor de la puntuacion es un nmero decimal comprendido entre 0 y 1 por cada ocurrencia del patrn de bsqueda, que se ir sumando si ese patrn es encontrado en varias ocasiones. De cualquier forma esta puntuacin es un algoritmo interno de la base de datos. Algunos problemas. Las bsquedas realizadas con MATCH ...AGAINST en ocasiones fallan cuando el trmino a buscar contiene una sola palabra. Por el contrario son unas bsquedas rapidsimas que producen mejores resultados que otros mtodos mas rudimentarios como el LIKE cuando se trata de varias palabras o frases. La solucin que le he dado a ese problema de las bsquedas con MATCH...AGAINST has sido chequear el nmero de palabras a buscar, utilizando una bsqueda simple con LIKE en el caso de una sola palabra, y el mtodo MATCH...AGAINST en el caso de varias. Ejemplo del fichero buscar.php <?php //cadena de conexion mysql_connect("host","usuario","password"); //DEBO PREPARAR LOS TEXTOS QUE VOY A BUSCAR si la cadena existe if ($busqueda<>''){ //CUENTA EL NUMERO DE PALABRAS $trozos=explode(" ",$busqueda); $numero=count($trozos); if ($numero==1) { //SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE $cadbusca="SELECT REFERENCIA, TITULO FROM ARTICULOS WHERE VISIBLE =1 AND DESARROLLO LIKE '%$busqueda%' OR TITULO LIKE '%$busqueda%' LIMIT 50"; } elseif ($numero>1) { //SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST

//busqueda de frases con mas de una palabra y un algoritmo especializado $cadbusca="SELECT REFERENCIA, TITULO , MATCH ( TITULO, DESARROLLO ) AGAINST ( '$busqueda' ) AS Score FROM ARTICULOS WHERE MATCH ( TITULO, DESARROLLO ) AGAINST ( '$busqueda' ) ORDER BY Score DESC LIMIT 50"; } $result=mysql("teleformacion", $cadbusca); While($row=mysql_fetch_object($result)) { //Mostramos los titulos de los articulos o lo que deseemos... $referencia=$row->REFERENCIA; $titulo=$row->TITULO; echo $referencia." - ".$titulo."<br>";; } ?> Enlaces para completar esta informacin: http://www.fabio.com.ar/verpost.php?id_noticia=959 http://dev.mysql.com/doc/mysql/en/Fulltext_Search.html

La instruccin utilizada es muy rpida pero he encontrado problemas: SELECT * FROM ARTICULOS WHERE MATCH(TITULO, DESARROLLO) AGAINST ('$busqueda') Se trata de buscar distintas palabras en varios campos, pero no he logrado que todas las palabras aparezcan en las bsquedas. Solamente aparecen registros que contienen alguna (o bien todas) de las palabras, pero lo til (o elegible con alguna opcin) es que "todas" las palabras estn en todos los registros seleccionados. Tensis alguna solucin para resolver este problema?. Gracias por vuestra ayuda y adelante con vuestro magnfico portal. Muguel Anguita. Pincha si este comentario es spam 24/10/2007 Por: NeoRod 0 votos Me parece muy bonito pero solo sirve para bases de datos y no para archivos comunes he aqui les paso el codigo fuente de un buscador dentro de un directorio web. Minibuscador php de NeoRod Busca un texto, dentro de archivos de un directorio web, y lista los resultados con algun contenido del archivo. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>by NeoRod</title> </head> <body> <h1>Minibuscador php de NeoRod</h1> <p>Busca un texto, dentro de archivos de un directorio web, y lista los resultados con algun contenido del archivo. </p> <form id="form1" name="form1" method="get"> Buscar Texto en pagina<input type="text" name="q"/> <input type="submit" value="Buscar" /> </form>

<p> <?php $dir = "../colegio"; //colocas la carpeta donde va a buscar los temas $directorio= @opendir($dir); if(@opendir($dir)==TRUE) { $i=0; while ($archivo = readdir($directorio)) { if($archivo != '.') { if(!is_dir("$dir/$archivo")) { $neo[$i]=$archivo; $i++;} } } closedir($directorio); if($_GET["q"]!="") { for($j=0;$j<count($neo);$j++) { $archivo=$neo[$j]; $fp = fopen($archivo,'r'); //leemos el archivo $texto = fread($fp, filesize($archivo)); if(eregi($_GET["q"],$texto)==1) { $lugar=strpos($texto,"<p>"); echo $prueba; echo "<p><a href=$archivo>$archivo</a><br>"; echo substr($texto, $lugar, 200); } } } } else echo "no puede abrirse el directorio o no existe<br>" ?> </p> <p>Atte. NeoRod </p> </body> </html> visitame en la web: http://gloriososancarlos.org <a href="http://gloriososancarlos.org">http://gloriososancarlos.org</a> Pincha si este comentario es spam Por: despistao 10/1/2008 0 votos

Hola a tod@s tengo un problema creo que phpMyAdmin no me reconoce el algoritmo Match Against Hace un par de aos insert un buscador como ste en una web que tena y funcionaba perfectamente... Desde hace un tiempo estoy trabajando en otra web e insert el buscador pero no me funciona, luego prob en local el buscador de mi web antigua, qu hace tiempo funcionaba perfectamente, y tampoco funciona. tambin ejecut la consulta sql con el match against, pero phpMyAdmin no encuentra ningn registro y hace la consulta bien... a que se puede deber? gracias por adelantado Un saludo Pincha si este comentario es spam Por: despistao Hola de nuevo, he encontrado la solucin al problema: insertando IN BOOLEAN MODE despus de la cadena de bsqueda del AGAINST de la clusula WHERE. De este modo: SELECT distinct id_pelicula, titulo, titulo_original, MATCH (titulo, titulo_original) AGAINST ( % .$search. % ) AS Criterio FROM peliculas WHERE MATCH (titulo, titulo_original) AGAINST ( % .$search. % IN BOOLEAN MODE ) ORDER BY Criterio DESC LIMIT 50&#8243; Un saludo Pincha si este comentario es spam Por: El Hispano 29/2/2008 0 votos 11/1/2008 0 votos

Magnifico articulo, sencillo, rapido y prctico. No estara mal que actualizarais con lo de IN BOOLEAN MODE ya que hasta que no aadi eso a mi sentencia, no consegu que funcionara correctamente. Pincha si este comentario es spam 19/9/2008 Por: Toni 0 votos Yo tenia el mismo problema pero como usaba tablas tipo InnoDB no cree el index. para solucionarlo use una funcion que cambia los espacios en blanco (" ") de las palabras de la busqueda y las cambie por "|" (OR logico en sql) y depues pase eso como parametro y use la funcion REGEXP de sql: ejemplo: buscar: hola que tal despues de cambiarlo queda: hola|que|tal entonces hago: select * from tabla where (campo1 regexp "cadena" or campo2 regexp "cadena"...)

cadena lo paso como parametro. Espero que les sirva :D Pincha si este comentario es spam 07/10/2008 0 votos Hola, ayuda por favor, trate de hacer las consultas pero me marca el sig error: Parse error: parse error in c:archivos de programaeasyphp1-8wwwcopiapruebacatalogo.php on line 55 Por: Ana mi cdigo es el siguiente espero me puedan ayudar: <? $host="localhost"; $user="root"; $password=""; $db="copiaprueba"; $conexion=mysql_connect($host,$user,$password); $select_db=mysql_select_db($db,$conexion); include("conecta.php"); $trozos=$_POST['area']; //DEBO PREPARAR LOS TEXTOS QUE VOY A BUSCAR si la cadena existe if ($busqueda<>''){ //CUENTA EL NUMERO DE PALABRAS $trozos=explode(" ",$busqueda); $numero=count($trozos); if ($numero==1) { //SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE $cadbusca="SELECT * FROM info2000 WHERE VISIBLE =1 AND area LIKE "%$busqueda%" OR aut LIKE "%$busqueda%" LIMIT 50"; } elseif ($numero>1) { //SI HAY UNA FRASE SE UTILIZA EL ALGORTIMO DE BUSQUEDA AVANZADO DE MATCH AGAINST //busqueda de frases con mas de una palabra y un algoritmo especializado $cadbusca="SELECT id, aut , MATCH ( aut, area ) AGAINST ( "$busqueda" ) AS aa FROM info2000 WHERE MATCH ( aut, area ) AGAINST ( '%"$busqueda"%' IN BOOLEAN MODE ) ORDER BY aa"; } $result=mysql("teleformacion", $cadbusca); While($row=mysql_fetch_object($result)) { //Mostramos los titulos de los articulos o lo que deseemos... $area=$row->AREA; $autor=$row->AUTOR; echo $area." - ".$autor."<br>";; }

?> <hr size="3" color="808080" width="100%" align="left"> <!-- lnea gris--> <? echo "<br>"; echo "<br>";

echo "<a href='info.php'>NUEVA CONSULTA</a>" ?> Pincha si este comentario es spam Por: Dinno 20/1/2009 0 votos

Hola, soy novato :P Copi el cdigo de buscar.php que aparece como ejemplo y lo ejecut en mi servidor (obviamente con los cambios correspondientes ^^) y me da el siguiente error "Parse error: syntax error, unexpected $end in E:local oboty.php on line 21" busqu que estaba mal, pero no le encuentro nada :S, prob a eliminar espacios, me fij en que todas las llaves se cerraran, agregu el cierre de conexin con MySQL y nada :S, alguin puede ayudarme :P??? Pincha si este comentario es spam 12/2/2009 Por: Rafael Navas 0 votos Hola a todos! Solamente tengo una duda, antes del ltimo while hay una llamada a la funcio mysql: "$result=mysql("teleformacion", $cadbusca);", esta no la conozco y no la encuentro por ningn lado mas. Ser un funcion personalizada? El script me parece muy practico y sencillo. Felicitaciones Miguel, sigue adelante, para atras ni para agarrar impulso. :) Saludos Pincha si este comentario es spam 30/4/2009 Gracias Por: Franco 0 votos Gracias despistao, utilize IN BOOLEAN MODE y anda perfecto!!!! Pincha si este comentario es spam 02/6/2009 varios errores Por: aka 0 votos encima de la linea [$result=mysql("teleformacion", $cadbusca);] falta un [}] (sin llaves) he copiado todo tal cual para crear el buscador y me da los siguientes errores: Notice: Undefined variable: busqueda in C:wampwwwusarticulosuscar.php on line 10 Notice: Undefined variable: cadbusca in C:wampwwwusarticulosuscar.php on line 23 Notice: mysql() [function.mysql]: This function is deprecated; use mysql_query() instead. in C:wampwwwusarticulosuscar.php on line 23 Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:wampwwwusarticulosuscar.php on line 24 alguna sugerencia?? gracias

Pincha si este comentario es spam 26/8/2009 Como evitar que busque en enlaces? (por ejemplo) Por: Miquel 0 votos El cdigo me funciona perfectamente y es rapidsimo. Lo he codificado para que la palabra o palabras buscadas salgan en color rojo y en negrita. Pero tengo un problema. Busca dentro del texto de un campo TEXT de una base de datos MySql. En algunos de esos campos hay enlaces para que al escribir en pantalla dicho campo aparezcan fotografias. Si en ese enlace aparece la palabra que busco encuentra el campo perfectamente, pero me causa dos problemas. Si esa palabra no aparece tambin en el texto no la remarca, pero... es que adems impide que aparezca la fotografia. Hay alguna forma de que no busque dentro de los enlaces? Gracias Pincha si este comentario es spam 26/8/2009 por fa ayendenme Por: nestor raul 0 votos tengo el siguiente codigo pero megenera errores <table width="100%" border="0" cellspacing="0" cellpadding="0"> Buscar: <input name="palabra"> <input type="submit" name="buscador" value="Buscar"> </form> <? if ($_POST['buscador']) { // Tomamos el valor ingresado $buscar = $_POST['palabra']; // Si est vaco, lo informamos, sino realizamos la bsqueda if(empty($buscar)) { echo "No se ha ingresado una cadena a buscar"; }else{ // Conexin a la base de datos y seleccion de registros $con=mysql_connect("localhost","root",""); $sql = "SELECT * FROM datose WHERE nombre like '%$buscar%' ORDER BY nombre"; mysql_select_db("estudiante", $con); $result = mysql_query($sql, $con); // Tomamos el total de los resultados $total = mysql_num_rows($result); // Imprimimos los resultados if ($row = mysql_fetch_array($result)){ echo "Resultados para: <b>$buscar</b>"; do { ?> <p><b><a href="noticia.php?id=<?=$row['id'];?>"><?=$row['titulo'];?></a></b></p> <? } while ($row = mysql_fetch_array($result)); echo "<p>Resultados: $total</p>"; } else { // En caso de no encontrar resultados

echo "No se encontraron resultados para: <b>$buscar</b>"; } } } ?> Pincha si este comentario es spam 09/12/2009 Perfeccionar busqueda php y mysql Por: ivan 0 votos Q tal amigos no soy experto en esto de los buscadores y est tutorial me parecio favorable y efectivo pero tengo un problema en la consulta $cadbusca="SELECT cve_producto,descripcion,precio, MATCH (cve_producto,descripcion) AGAINST ( '$busqueda' ) AS Score FROM productos WHERE MATCH(cve_producto,descripcion) AGAINST ('$busqueda') ORDER BY Score DESC LIMIT 50"; se supone que debe buscar y lo hace pero quiero que busque solo la frase correcta es decir por ejemplo si busco molino grande me deberia sacar solo estos resultados: Clave Descripcin precio Agregar 1027 molino electrico grande 128.0 267j molino de granos 2023.99 6025 molino electrico chico 578.4 pero me saca esto: Clave Descripcin precio Agregar 1027 molino electrico grande 1280 Carro 7777 podadora grande 8964 Carro 267j molino de granos 2099 Carro 6025 molino electrico chico 1231 Carro ae789 SOQUET DE PORCELANA REDONDO GRANDE 134 98 Carro como se dieron cuenta tomo la podadora y el soquet solo por contener la palabra grande y estoy de acuerdo en la busqueda pero como le hago para que solo me encuentre en el orden molino ---> grande ---> y que me omita las otras espero una respuesta de ante mano gracias Pincha si este comentario es spam 18/12/2009 Diferencias entre MACH y el LIKE Por: Mariano 0 votos aca se plantea que es mejor usar un MACH cuando lo que se busca es una cadena de caracteres ya que es mas rapido, e echo las pruebas y si es mas rapido pero no trae los misms resultados aqui va el ejemplo. Aca estan las dos consultas que en teoria funcionan igual, estan echas para encontrar la frace "es auto" dentro de la tabla 'tb_imagenes' SELECT * FROM tb_imagenes WHERE MATCH ( `titulo_img` , `descrip_img` , `tag_img` ) AGAINST ( 'es auto' IN BOOLEAN MODE

) SELECT * FROM tb_imagenes WHERE `titulo_img` like '%es auto%' or `descrip_img` like '%es auto%' or `tag_img` like '%es auto%'

Bueno si la cadena que tengo en el campo es "mi robot es automatico no manual" el LIKE encuentra "es auto" y el MACH no encuentra nada. probe ponerle comodines al mach pero no funciono: SELECT * FROM tb_imagenes WHERE MATCH ( `titulo_img` , `descrip_img` , `tag_img` ) AGAINST ( '%es auto%' IN BOOLEAN MODE ) Asi que tengo para pensar 2 cosas, la sentensia del mach le falta algo apra hacerla mas funcional o definitivamente el like tarda mas porque compara y el mach no Pincha si este comentario es spam 18/12/2009 Para que un MACH funcione igual que un LIKE Por: Mariano Ore 0 votos Para obtener los mismos resultados con un Mach que con un Like debemos tener en cuanta algunos aspectos. 1) con el like usamos el comodin "%" para que traiga lo que contiene y no la frase escata con el mach usamos el asterisco 2) Si queremos que todas las palabras se encuentren en todos los resultados deberemos utilizar el modo booleano "AGAINST ('es auto' IN BOOLEAN MODE)", por defecto esta en AGAINST ('es auto' IN NATURAL LANGUAGE MODE); 3) En 'modo booleano' se pueden aplicar tambin modificadores, por ejemplo, si queremos las tuplas con contenido 'texto' y sin 'basura'. SELECT * FROM tabla WHERE match(campo) against('+texto -basura' in boolean mode);

Les dejo dos ejemplos uno conlike y otro con Mach ambos traen los mismos resultados pero en cadenas de texto es mas eficiente el MACH SELECT * FROM tb_imagenes WHERE

`titulo_img` like '%es auto%' or `descrip_img` like '%es auto%' or `tag_img` like '%es auto%' ----------------------------------------------------SELECT * FROM tb_imagenes WHERE MATCH ( `titulo_img` , `descrip_img` , `tag_img` ) AGAINST ('*es auto*'IN BOOLEAN MODE) Espero les sirva Pincha si este comentario es spam 10/1/2010 Duda del buscador Por: CLAUDIA 0 votos Hola! Estoy siguiendo el ejemplo de tu buscador y me manda el siguiente error: Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:AppServwwwpruebauscador.php on line 35 Tengo la duda en la lnea que dice $result=mysql("teleformacion", $cadbusca); La palabra "teleformacion" a que se refiere? es el nombre de mi campo? Esta es mi lnea 34 y el error me lo da en la lnea 35, supongo que es porque no encuentra nada en mi BD, pero ya cambie "teleformacion" por el nombre de mi campo y an as sigue el error. Me puedes ayudar por favor?????? Pincha si este comentario es spam 09/3/2010 error Por: cephes5 0 votos preguntas idiotas, pero por ahi no tanto jeje bueno a mi me da error en la linea de else "{" veoque usas ir y else pero en el cofigo figura como elseif (por ahi es asi perocalculoque debe ser solo else) Hay una llave que no cierra, yo conjeturo que va al final despues de mostrar los resultados y antes de cerrar el php, pero por mas que lomodifico no me funciona y cada vez qaue lo pongode manera logica me da el error "Parse error: parse error, unexpected '{' in c:foxservwwwunouscar.php on line 23" que es justamene la del else o elseif, si lo dejo como elseif no me da error, pero tampoco hace nada niencuentra nada. Tambien vi que hay en una parte del codigo dos ;; "cho $referencia." - ".$titulo."<br>";; " esto puede ser un error o es asi tambien? preguntotodo estoporqu eme sigue sinfuncionar a pesar de haberlo revisado bastante Bueno seguramente hay algo que se me esta pasando pero realmente no lo estoy viendo, agradeceria tu respuesta muchas gracias Pincha si este comentario es spam 09/3/2010 disculpas Por: cephes5 0 votos antes que sea leido mi comentari opido disculpas porla forma que esta escxrit, pero mi teclado no esta funcionandobien la barra espaciadora y aveces sale todo junto

Pincha si este comentario es spam 15/4/2010 gracia buen aporte Por: backboot 0 votos Amigo gracias por tu aporte me fue muy util.......... Pincha si este comentario es spam 15/4/2010 Excelente aporte Por: Federico 0 votos Es una aporte extraordinariamente util, felicitaciones. Tanto el articulo como la mayoria de los comentarios han sido de gran utilidad para mi, que soy novato. Gracias a todos. Pincha si este comentario es spam 20/4/2010 hola me pueden ayudar Por: mil 0 votos estaba viendo el ejemplo Programar un buscador con php y mysql y me da error, por favor me puede ayudar soy novata y tengo que hacer un buscador donde se teclee la matricula del estudiante y salga su nombre este es mi codigo: <html> <head> <title>Buscador simple en PHP</title> </head> <body> <form action="buscar.php" method="post"> Buscar: <input name="palabra"> <input type="submit" name="buscador" value="Buscar"> </form> <? if ($_POST['buscador']) { // Tomamos el valor ingresado $buscar = $_POST['palabra']; // Si est vaco, lo informamos, sino realizamos la bsqueda if(empty($buscar)) { echo "No se ha ingresado una cadena a buscar"; }else{ // Conexin a la base de datos y seleccion de registros $con=mysql_connect("localhost","root",""); $sql = "SELECT * FROM co_estudiantes WHERE nombre like '%$buscar%' ORDER BY id DESC"; mysql_select_db("base_de_datos", $con); $result = mysql_query($sql, $con); // Tomamos el total de los resultados $total = mysql_num_rows($result); // Imprimimos los resultados if ($row = mysql_fetch_array($result)){ echo "Resultados para: <b>$buscar</b>"; do { ?> <p><b><a href="nombre.php?id=<?=$row['id'];?>"><?=$row['apellidos'];?></a></b></p>

<? } while ($row = mysql_fetch_array($result)); echo "<p>Resultados: $total</p>"; } else { // En caso de no encontrar resultados echo "No se encontraron resultados para: <b>$buscar</b>"; } } } ?> </body> </html> Pincha si este comentario es spam Busqueda PHP obteniendo valores de mi MySql 0 votos

28/4/2010

exis Buenos tardes, soy nuevo en esto mejor dicho un novato mas y estoy en aprietos estoy queriendo hacer una busqueda ejem: __________ ______ Ingrese Codigo:|_________| - es un textbox- y que al momento dar clik |buscar| en otra pantalla me muestre todos los campos solo de ese codigo

tabla:producto -codigo -descripcion -modelo -marca -condicion -fecha registro ya tengo varios registros ingresados en mi BD Pincha si este comentario es spam quiero editar un registro 0 votos

28/4/2010

exis tabla : empresa numactivo / nitem / descripcion / modelo / marca / categoria / ubicacion 123456 / 9.214 /Tornillo /TF 02 /Forte /41 - Herramientas /Plataforma H cond / obs / fecreg activo / dar mantenimiento 2010-04-27 05:04:18 Ya hize la busqueda por NActivo y me muestran los datos con esta programacion <?php

include ("connect.php"); //conectarse al gestor de la BD $enlace=mysql_connect('localhost', 'root', 'foot'); //selecionando la BD mysql_select_db('MIBD', $enlace); //establecer query $registro=mysql_query("select * from empresa where numactivo LIKE '%$buscar%'",$enlace); //selecionando la BD $fila=@mysql_fetch_array($registro); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Documento sin t&iacute;tulo</title> <style type="text/css"> <!-body { background-color: #99FFCC; } .Estilo1 { font-size: 18px; font-weight: bold; } --> </style></head> <body> <form name="form1" method="post" action=""> <p align="center">EMPRESA S.A.</p> <p align="center" class="Estilo1">FORMULARIO DE EDICION </p> <p align="left">&nbsp;</p> <table width="414" border="2" align="center"> <tr> <td width="116"><div align="right">N&deg; Activo:</div></td> <td width="280"><input name="c1" type="text" id="c1" value ="<? echo $fila[0] ?>" size="8" maxlength="6"></td> </tr> <tr> <td><div align="right">N&deg; Item:</div></td> <td><input name="c2" type="text" id="c2" value ="<? echo $fila[1] ?>"size="30" maxlength="30"></td> </tr> <tr> <td><div align="right">Descripci&oacute;n: </div></td> <td><input name="c3" type="text" id="c3" value ="<? echo $fila[2] ?>" size="30" maxlength="30"></td> </tr> <tr> <td><div align="right">Modelo:</div></td> <td><input name="c4" type="text" id="c4" value ="<? echo $fila[3] ?>" size="20" maxlength="20"></td> </tr> <tr>

<td><div align="right">Marca:</div></td> <td><input name="c52" type="text" id="c52" value ="<? echo $fila[4] ?>" size="20" maxlength="20"></td> </tr> <tr> <td><div align="right">Categoria:</div></td> <td><input name="c6" type="text" id="c6" value ="<? echo $fila[5] ?>" size="20" maxlength="20"></td> </tr> <tr> <td><div align="right">Ubicacion:</div></td> <td><input name="c53" type="text" id="c53" value ="<? echo $fila[6] ?>" size="20" maxlength="20"> <a href="edita.php"></a></td> </tr> <tr> <td><div align="right">Condici&oacute;n:</div></td> <td><input name="c54" type="text" id="c54" value ="<? echo $fila[7] ?>" size="20" maxlength="20"></td> </tr> <tr> <td><div align="right">Observaciones:</div></td> <td><input name="c5" type="text" id="c5" value ="<? echo $fila[8] ?>" size="30" maxlength="230"></td> </tr> </table> </body> </html> //---> lo que quisiera saber es como hago para editar los registros y que se guarden en mi MD que tengo en MySQL= http://localhost/phpMyAdmin/ Gracias Pincha si este comentario es spam Correccion que agrega BOOLEAN MODE 0 votos

08/5/2010

guiller... Para los que tienen error al ejecutar el buscador: el truco est en agregar la frase IN BOOLEAN MODE las dos veces. Queda as: $result = mysql_query("SELECT chapter_id,page_id,section_id,sections, MATCH(sections) AGAINST ('$search' IN BOOLEAN MODE) AS score FROM manual_contents WHERE MATCH (sections) AGAINST ('$search' IN BOOLEAN MODE) AND language LIKE '$language' ORDER BY score DESC LIMIT 30"); Pincha si este comentario es spam 02/2/2011 DESDE EL PRINCIPIO 0 votos jm2c #1214 - The used table type doesn't support FULLTEXT indexes ni me dejo intentar el PHP Pincha si este comentario es spam 10/7/2011 Grcias 0 votos

Zurfy Tutorial rapido de seguir si ya tienes conocimientos prvios de Mysql. Adems s fcil i rapido de entender. Muy bien explicado. Sigue as! Pincha si este comentario es spam Buenas Por que no me sale 0 votos elloco3... Chiscos Como Haria Yo para POner 3 Tablas en ese Buscador las Tablas serian Loteria chances Tiempos Porfa ayudemen MI email info@sliner.net Pincha si este comentario es spam Estupenda 0 votos

29/7/2011

24/8/2011

reyvi Me parece muy bueno este artculo, pues solamente buscaba con LIKE y cuando habas bsquedas de ms de una palabra no era muy efectivo. Con este ya he visto grandes resultados. FELICITACIOS y ....... GRACIAS MIL Pincha si este comentario es spam 08/11/2011 Cul es el cdigo que concluye este ejercicio? 0 votos merlyn3... Saludos: Sera bueno mostrar en algn lugar un enlace de descarga de los archivos necesarios para visualizar el funcionamiento del ejercicio propuesto... incluyendo paginacin. Agradezco que se haya compartido ste artculo. Que tengan buen da.

También podría gustarte