Busquedad Php

74
Hola santi... estoy por probar el código que me enviaste, muchas gracias nuevamente y ya te contaré. Pero tengo una duda con el código anterior que me funcionó de maravilla y te cuento lo que no me sale... Tengo ya las 3 tablas... provincias, localidades, zonas... y la tabla empresas. En el resultado de la consulta con las listas desplegables, los campos aparecen así: id_empresa id_provincia id_localidad id_zona nombre 1 1 1 1 Resto Marx Así como está, funciona PERFECTO y me trae el resultado completo de la info que le pedí desde las listas desplegables y el código que utilicé es este: Código PHP: // conexion a la base $conexion = ...... // realizar esta función si se apretó el botón de enviar en el formula rio de busqueda if (isset($_POST['action']) && $_POST['action'] == 'submit') //if(isset($_POST['boton'])) // declarar variables los datos del formulario $select1 = $_POST['select1']; $select2 = $_POST['select2']; $select3 = $_POST['select3']; { // declarar las condiciones usando la opción WHERE, dependiendo de lo enviado en el formulario // más info WHERE: http://newsourcemedia.com/home.php?view=82 $condiciones = ""; if ($select1 != "") $condiciones .= "WHERE id_provincia = $select1"; if ($select2 != "" && $condiciones != "") $condiciones .= " AND $selec t2 = id_localidad"; if ($select2 != "" && $condiciones == "") $condiciones .= " WHERE $sel ect2 = id_localidad"; if ($select3 != "" && $condiciones != "") $condiciones .= " AND $selec t3 = id_zona"; if ($select3 != "" && $condiciones == "") $condiciones .= " WHERE $sel ect3 = id_zona"; // imprimir resultados normalmente

Transcript of Busquedad Php

Page 1: Busquedad Php

Hola santi... estoy por probar el código que me enviaste, muchas gracias nuevamente y ya te contaré. Pero tengo una duda con el código anterior que me funcionó de maravilla y te cuento lo que no me sale...

Tengo ya las 3 tablas... provincias, localidades, zonas... y la tabla empresas.En el resultado de la consulta con las listas desplegables, los campos aparecen así:

id_empresa id_provincia id_localidad id_zona nombre1 1 1 1 Resto Marx

Así como está, funciona PERFECTO y me trae el resultado completo de la info que le pedí desde las listas desplegables y el código que utilicé es este:

Código PHP:// conexion a la base$conexion = ......

// realizar esta función si se apretó el botón de enviar en el formulario de busquedaif (isset($_POST['action']) && $_POST['action'] == 'submit')//if(isset($_POST['boton']))

// declarar variables los datos del formulario$select1 = $_POST['select1'];$select2 = $_POST['select2'];$select3 = $_POST['select3'];{

// declarar las condiciones usando la opción WHERE, dependiendo de lo enviado en el formulario// más info WHERE: http://newsourcemedia.com/home.php?view=82$condiciones = "";if ($select1 != "") $condiciones .= "WHERE id_provincia = $select1";if ($select2 != "" && $condiciones != "") $condiciones .= " AND $select2 = id_localidad";if ($select2 != "" && $condiciones == "") $condiciones .= " WHERE $select2 = id_localidad";if ($select3 != "" && $condiciones != "") $condiciones .= " AND $select3 = id_zona";if ($select3 != "" && $condiciones == "") $condiciones .= " WHERE $select3 = id_zona";

// imprimir resultados normalmente       echo '<table width="90%" border="0" align="center" class="txt-verd-08">';       echo '    <tr>';       echo '      <td height="30" align="center"><strong>ID</strong></td>';       echo '      <td height="30" align="center"><strong>PROVINCIA</strong></td>';       echo '      <td height="30" align="center"><strong>LOCALIDAD</strong></td>';       echo '      <td height="30" align="center"><strong>ZONA</strong></td>';       echo '      <td height="30" align="center"><strong>NOMBRE</strong></td>';       echo '  </tr>';

Page 2: Busquedad Php

// obtener datos de la base$sql = "SELECT * FROM empresas $condiciones";$result = mysql_query($sql, $conexion);//$result = mysql_query($query) or die('Error, query failed');while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

    echo '  <tr>';    echo '    <td align="center">' .$row['id_empresa']. '</td>';    echo '    <td align="center">' .$row['id_provincia']. '</td>';    echo '    <td align="center">' .$row['id_localidad']. '</td>';    echo '    <td align="center">' .$row['id_zona']. '</td>';    echo '    <td align="center">' .$row['nombre']. '</td>';    echo '  </tr>';

    }            //libero el recordset//            mysql_free_result($result);

        // Cierro la conexion        mysql_close($conexion); 

       echo '</table>'; 

Ahora... yo quisiera que en vez de los id me aparezcan los nombres. La relación sería así:

empresas.id_provincia = provincias.id_provincialocalidades.id_localidad = empresa.id_localidadzonas.id_zona = empresa.id_zona

Esto lo probé modificando la parte de $condiciones tambien pero no funcionó.

Cuando pido que en el listado con el código 1 que es Buenos Aires, lo que hace es listarme tooooda la tabla de provincias... no sé por qué.

En esta parte lo que hice fue:

// obtener datos de la base$sql = "SELECT * FROM empresas, provincias $condiciones";

Si lo modifico así... me trae todo el listado de las provincias y no solo el 1 (Buenos Aires).

Igual voy a probar con urgencia lo que me pasaste porque sçestoy cortando clavos con este proyecto y estoy casi en el horno.

Millon de gracias otra vez santi por todo tu tiempo.

Saludos. MArcelo.

Page 3: Busquedad Php

html form:

CODE

<html>    <head>        <title>Search Test</title>    </head>    <body topmargin="0" leftmargin="0">        <form action="search.php" method="post">            Search Term <input type="text" name="searchterm"><br />            <input type="submit" value="Search">        </form>    </body></html>

php search.php:

CODE

<?php/*set varibles from form */$searchterm = $_POST['searchterm'];trim ($searchterm);/*check if search term was entered*/if (!$searchterm){    echo 'Please enter a search term.';}/*add slashes to search term*/if (!get_magic_quotes_gpc()){$searchterm = addslashes($searchterm);}

/* connects to database */@ $dbconn = new mysqli('host', 'username', 'password', 'database'); if (mysqli_connect_errno()) {echo 'Error: Could not connect to database.  Please try again later.';exit;}/*query the database*/$query = "select * from tablename where tablerow like '%".$searchterm."%'";$result = $dbconn->query($query);/*number of rows found*/$num_results = $result->num_rows;

Page 4: Busquedad Php

echo '<p>Found: '.$num_results.'</p>';/*loops through results*/for ($i=0; $i <$num_results; $i++){$num_found = $i + 1;$row = $result->fetch_assoc();echo "$num_found. ".($row['tablerow'])." <br />";}/*free database*/$result->free();$dbconn->close();?>

Page 5: Busquedad Php

this code source...

<?php/*set varibles from form */$searchterm = $_POST['searchterm'];Trim ($searchterm);/*check if search term was entered*/If (!$searchterm){    echo 'Please enter a search term.';}/*add slashes to search term*/If (!get_magic_quotes_gpc()){$searchterm = addslashes($searchterm);}

/* connects to database */@ $dbconn = new mysqli('localhost', 'root', '', 'sample1');If (mysqli_connect_errno()){Echo 'Error: Could not connect to database.  Please try again later.';Exit;}/*query the database*/$query = "select * from sheet1 where IndexNo like '%".$searchterm."%'";$result = $dbconn->query($query);/*number of rows found*/$num_results = $result->num_rows;

echo '<p>Found: '.$num_results.'</p>';/*loops through results*/For ($I=0; $I <$num_results; $I++){$num_found = $I + 1;$row = $result->fetch_assoc();Echo "$num_found. ".($row['IndexNo'])." <br />";Echo "<table border='1'><tr><th>IndexNo</th><th>Name</th><th>Marks</th><th>Rank</th></tr>";

  echo "<tr>";  echo "<td>" . $row['IndexNo'] . "</td>";  echo "<td>" . $row['Name'] . "</td>";  echo "<td>" . $row['Marks'] . "</td>";

Page 6: Busquedad Php

  echo "<td>" . $row['Rank'] . "</td>";Echo "</tr>";}Echo "</table>";/*free database*/$result->free();$dbconn->close();?>

-reply by Prashanth

Page 7: Busquedad Php

En esta entrega, elQuique nos enseña, como realizar un formulario de búsqueda en nuestro reporte, de manera de localizar fácilmente las propiedades ingresadas. Esta búsqueda podrá ser adaptada a cualquier tipo de búsqueda y es realizada a fines de ejemplo.

En la entrega anterior, vimos como realizar un Reporte de Propiedades, recomendamos mirar esa Quinta Entrega, y las anteriores para entenderlas antes de realizar esta parte.

Esta Sexta Entrega, nos permitirá aprender a realizar un Formulario de Búsqueda para localizar fácilmente las propiedades ingresadas, ahí vamos.

Primero nos ubicaremos debajo del Titulo y antes de nuestra Tabla de Resultados (1 ver imagen), ahí vamos a Insert (Insertar), Form (Formulario), TextField (Campo de Texto), (2 ver imágen).

Cuando nos pida el nombre de la etiqueta, le indicaremos Buscar:, como indica la imagen, y luego le damos OK.

Page 8: Busquedad Php

Nos preguntara también si deseamos agregar un formulario, a lo cual le diremos YES (SI).

Luego vamos a seleccionar el Campo de Texto recien agregado y le daremos de nombre txtBusqueda, es importante nombrarlo para utilizar este nombre como referencia.

Page 9: Busquedad Php

Luego, nuevamente con Insert (Insertar), Form (Formulario), Button (Botón), para que nos quede el botón que presionaremos al realizar la búsqueda.

Page 10: Busquedad Php

Este botón, también es importante personalizarlo, lo vamos a Seleccionar (1 en la imágen), como valor le indicaremos IR (2 en la imágen), de manera que es sea el texto que muestra el botón, y de nombre le indicaremos cmdBuscar (3 en la imagen).

El código final del formulario generado, es el siguiente:

<form name="form1" method="post" action=""><label>Buscar:<input type="text" name="txtBusqueda" id="txtBusqueda"></label><input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR"></form>

este código xHTML lo podemos ver con la opción de Visualizar Código de Dreamweaver. En vez de haber hecho el formulario mediante Menú Insertar, podríamos haber escrito lo mismo y funcionaria igual, esta es la forma en que trabajan los programadores, como este tutorial esta hecho para Diseñadores y nuevos Programadores lo hacemos de las dos formas.

Page 11: Busquedad Php

La parte de Diseño del Formulario, estaría completa, pasaremos ahora a la Programación necesaria para que se efectúe la Búsqueda.

Lo primero es indicar que debe pasar cuando presionamos el botón IR, de nuestro nuevo formulario. Esto lo hacemos con la sección action, que permite especificar que debe pasar cuando presionamos el botón Enviar o IR en un formulario.

En este caso, haremos que el Formulario llame el mismo listado que estamos viendo, y luego programaremos el listado para reconocer si debe mostrar todo, o si estamos realizando una Búsqueda. Mi archivo PHP del listado se llama busquedapropiedades.php, por tanto ese nombre debo usar en el action, esta línea:

<form name="form1" method="post" action="">

debe quedar así:

<form name="form1" method="post" action="busquedapropiedades.php">

Es importante que usen el mismo nombre de archivo, por tanto si le llamaron de otra forma lo deben tener en cuenta.

Si probamos hasta acá nuestra Busqueda de Propiadades, funcionara igual que como antes, o sea que muestra todo, debemos hacer que funcione como búsqueda, siempre y cuando se llame desde el botón IR. Para esto debemos establecer una condición que pregunte si se llamo desde el formulario, y en ese caso, realice el filtro correspondiente.

Esta condición modificará la selección de registros, mostrando todos como era antes, o mostrando solo los que coinciden con la búsqueda. Recordemos en nuestro listado, la siguiente línea de laentrega anterior del tutorial ( Quinta Parte):

$tabla = mysql_query('SELECT propiedades.*, ciudades.* FROM propiedades, ciudades WHERE propiedades.idciudad = ciudades.id ORDER BY ciudades.nombre ASC');

Esa línea, es la que selecciona todas las propiedades, y su correspondiente ciudad, tal como explicamos, la nueva condición debe filtrar los datos que coninciden con la búsqueda, quedando así:

$tabla = mysql_query("SELECT propiedades.*, ciudades.* FROM propiedades, ciudades WHERE propiedades.idciudad = ciudades.id AND propiedades.titulo LIKE '%" . $_POST['txtBusqueda'] . "%' ORDER BY ciudades.nombre ASC");

En rojo esta el agregado, lo explico:

Hasta el momento, la condición era que propiedades.idciudad = ciudades.id, esto es que cada propiedad tuviera su ciudad, de manera de mostrar el nombre de la ciudad en el listado como explicamos en la entrega anterior.

Page 12: Busquedad Php

Como hemos agregado otra condición utilizamos el AND, que significa Y, de manera que se debe cumplir la primer condición Y también esta otra que dice: propiedades.titulo LIKE ....blabla...

Explico esa parte:

LIKE permite comparar

$_POST identifica un valor enviado desde el formulario, en este caso trae los datos de txtBusqueda

% es un comodín que indica que ahí puede existir cualquier conjunto de texto

La condición, podría ser: propiedades.titulo = 'apartamento', pero esto haría que si o si deba ser identico a 'apartamento', por lo si el titulo dice 'apartamento 2do piso' no lo encontraria.

Para no hacer una igualdad tan rígida, no utilizamos =, utilizamos LIKE, y le damos mayor flexibilidad agregandole un comodín como el %, por ejemplo así:propiedades.titulo LIKE 'apartamento%', esto quiere decir que busque un texto que diga 'apartamento' y luego cualquier conjunto de letras

por tanto todas estas son válidas:

'apartamento 2 ambientes''apartamento 3er piso''apartamento amoblado'etc

para ampliar más la búsqueda hemos usado dos comodines %, uno delante y otro detras de manera que pueda aparecer cualquier titulo que contenga al comienzo, al medio o al final, la palabra 'apartamento'. También cabe destacar que al no utilizar =, y usar LIKE son válidos las palabras esten o no en mayúsculas o minúsculas, etc.

Lo último, es que no siempre buscaremos fijo la palabra 'apartamento', si no que sera cualquier palabra que enviamos mediante el formulario, por tanto si la condición es:

"... propiedades.titulo LIKE '%apartamento%' ... "

quedaría así:

"...AND propiedades.titulo LIKE '%" . $_POST['txtBusqueda'] . "%' ..."

recordando que $_POST['txtBusqueda'] es una variable que contiene la palabrita o las palabritas que escribimos para buscar en el formulario.

O sea que tenemos 2 posibilidades, una es cuando mostramos el listado por primera vez, sin ningún filtro, y otra es cuando presionamos en IR y debemos aplicar el filtro. Afortunadamente PHP, nos permite establecer diversos caminos a seguir segun sea o no

Page 13: Busquedad Php

el caso, para esto utilizamos if() que permite establecer justamente, un camino, según se cumpla una condición, o haga otra cosa si no se cumple. El código quedaria asi:

...if (isset($_POST['txtBusqueda'])) { // esa es la condicion que debe cumplirse para el primer camino, y dice que si viene del formulario, haga el filtro

$tabla = mysql_query("SELECT propiedades.*, ciudades.* FROM propiedades, ciudades WHERE propiedades.idciudad = ciudades.id AND propiedades.titulo LIKE '%" . $_POST['txtBusqueda'] . "%' ORDER BY ciudades.nombre ASC"); // filtro para abrir la tabla con la condicion explicada recien

} else { // de otra forma, o sea si no viene del formulario, haga el filtro como estaba antes

$tabla = mysql_query("SELECT propiedades.*, ciudades.* FROM propiedades, ciudades WHERE propiedades.idciudad = ciudades.id ORDER BY ciudades.nombre ASC"); // sin filtro, muestra todo

} // fin del if

...Si bien, incluí en letra italica (inclinada) la explicación de cada línea, les explico el significado de la condición:

if (isset($_POST['txtBusqueda'])) {

isset, es una función que da verdadero o falso si existe una determinada variable o parametro. Por tanto la linea se lee así,

si (existe el campo de formulario llamado txtBusqueda, haga lo siguiente...

Se entiende ??, si no es asi los espero en el foro jeje.

Les dejo el código xHTML con PHP, completo hasta acá, para poder descargar: Descargar PHP

En la próxima entrega, veremos el formulario de ingreso de ciudades y almacenamiento de eso en la base de datos.

Page 14: Busquedad Php

hola soy webmaster_jj tengo el mismo porblema de este amigos de que quieres hacer un formulario que me haga una busqueda en mi base de datos pero el problema es que me hace la busqueda pero solo de la primera obcion digamos que tengo mi formulario

marcamodeloañopiezay el boton de buscar

cuando lleno estos campos de texto en mi buscado solo me sale las considencias que busco digamos que si yo le puse a mi formulario esto en los campos

marca:hondamodelo:Civicaño:2009pieza:bomba de agua

me arrojael resultado que bien por que si me hace la busqueda pero el problema es que me arroja todas las considencias de mi primer campo marca:honda y lo que quiero es que me aroje solo la informacion que le estoy pidiendo que me diga

sabes que aqui esta

marca: honda modelo:civic año:2009 pieza:bomba de agua

alguien me puede ayudar se lo agradecesria

aqui les dejo mi codigo para que me ayuden gracias

codigo formulario

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Sistema RV piezas</title><style type="text/css"><!--body {background-image: url();background-repeat: no-repeat;}

Page 15: Busquedad Php

.Estilo1 {font-family: Arial, Helvetica, sans-serif;font-size: 36px;color: #000000;}--></style><script type="text/JavaScript"><!--function MM_findObj(n, d) { //v4.01var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);if(!x && d.getElementById) x=d.getElementById(n); return x;}function MM_validateForm() { //v4.0var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);if (val) { nm=val.name; if ((val=val.value)!="") {if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';} else if (test!='R') { num = parseFloat(val);if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';if (test.indexOf('inRange') != -1) { p=test.indexOf(':');min=test.substring(8,p); max=test.substring(p+1);if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }} if (errors) alert('The following error(s) occurred:\n'+errors);document.MM_returnValue = (errors == '');}//--></script></head><body><table width="515" height="525" border="0" align="center" bgcolor="#FFFFFF"><tr><td width="569"><div align="center"><img src="images/banner.png" width="506" height="217" /></div></td></tr><tr><td height="290"><table width="509" border="0" align="center"><tr><td width="193" height="265"><div align="center"><img src="images/lupa.jpg" width="193"

Page 16: Busquedad Php

height="184" /></div></td><td width="306"><form action="buscador.php" method="get" enctype="text/plain" name="bus" id="bus" onsubmit="MM_validateForm('buscar','','R','buscar2 ','','R','buscar3','','R');return document.MM_returnValue"><table width="306" height="220" border="0" align="center"><tr><td width="50"><div align="center"><img src="images/auto.jpg" width="48" height="48" /></div></td><td width="240"><div align="left"><p align="center">Marca<br /><input type="text" name="buscar" size="40" onkeypress="return validar(event)"/><br /></p></div></td></tr><tr><td><div align="center"><img src="images/datos-ico.jpg" width="48" height="48" /></div></td><td><div align="center"><p align="center">Modelo<input type="text" name="buscar2" size="40" onkeypress="return validar(event)"/><br /></p></div></td></tr><tr><td height="52"><div align="center"><img src="images/imagesCAWPN8BQ.jpg" width="49" height="52" /></div></td><td><div align="center">A&ntilde;o<br /><input type="text" name="buscar3" size="40" onkeypress="return validar(event)"/></div></td></tr><tr><td height="52"><div align="center"><img src="images/herramientas.jpg" width="46" height="47" /></div></td><td><div align="center">Pieza<br /><input type="text" name="buscar4" size="40" onkeypress="return validar(event)"/></div></td></tr></table><p align="center"><input name="submit" type="submit" onclick="MM_validateForm('buscar','','R','buscar2' ,'','R','buscar3','','R');return document.MM_returnValue" value=" Buscar " /></p></form></td>

Page 17: Busquedad Php

</tr></table></td></tr><tr> </tr></table></body></html>

codigo de la busqueda

<?php/* Conexion a la BD en mysql Si deseas saber cómo realizar la función de conexión a la BD visita nuesto ejemplo de<a href="http://www.sbcodigo.com/ejemplo/php/....php">Conexion BD en php</a>*/require('conexion.php');?>

<?php/* Recuperamos los valores pasados en el formulario de búsqueda */$busqueda = $_GET["buscar"];

/* Título de la página */echo "<title>Buscar</title>";echo "\r";?>

</head><style type="text/css"><!--body {background-image: url(images/fondo.jpg);}a:link {color: #000000;}a:visited {color: #FF0000;}a:hover {color: #000000;}a:active {color: #0000FF;}

Page 18: Busquedad Php

--></style><body><p><?php/* Consulta de la BD para recuperar los valores */$consulta ="SELECT * FROM datosregistros WHERE codigobarras LIKE '%$busqueda%' or marca LIKE '%$busqueda%' or nombreauto LIKE '%$busqueda%' or año LIKE '%$busqueda%' or nombrepieza LIKE '%$busqueda%' or costo LIKE '%$busqueda'";/* Resultado de la consulta Si se produce un error imprime el mensaje */$resultado=mysql_query($consulta) or die ("Error de búsqueda en la BD: ". mysql_Error());/* Cuenta el número de coincidencias en la BD con la palabra buscada */$numResultados = mysql_num_rows($resultado);/* Parte Inicial de La página */echo "<b>Resultado de la búsqueda:</b>"; echo '<div align="center"><u>'.$busqueda.'</u> se han econtrado '.$numResultados.' coincidencias.<table width="656" border="0" align="center"><tr><td width="650"></td></tr></table><table width="200" border="1" align="center" bordercolor="#000000"><tr><td><img src="images/lupa.jpg" width="334" height="320"></td><td><FORM method="get" enctype="text/plain" ACTION="buscador.php" name="bus"><table width="306" height="86" border="0" align="center"><tr><td width="50"><div align="center"><img src="images/auto.jpg" width="48" height="48" /></div></td><td width="240"><div align="center">Marca del auto <br /><input type="text" name="buscar" size="40" onKeyPress="return validar(event)"/></div></td></tr><tr><td><img src="images/datos-ico.jpg" width="48" height="48" /></td><td><div align="center">Nombre del auto y modelo <br /><input type="text" name="buscar2" size="40" onKeyPress="return validar(event)"/></div></td></tr></tr><tr><td><img src="../sesion/imagenes/week_f2.png" width="48" height="48" /></td><td><div align="center">Año del Auto <br /><input type="text" name="buscar3" size="40" onKeyPress="return validar(event)"/></div></td>

Page 19: Busquedad Php

</tr><tr><td><img src="images/herramientas.jpg" width="46" height="47" /></td><td><div align="center">Nombre del la Pieza <br /><input type="text" name="buscar4" size="40" onKeyPress="return validar(event)"/></div></td></tr><tr> </tr></table><div align="center"><input name="submit" type="submit" value=" Buscar "></div></FORM></td></tr></table><hr /><br /></div>';/* Comprobamos que se ha encontrado alguna coincidencia */if($numResultados>0){while($linea=mysql_fetch_array($resultado,MYSQL_BO TH)){/* Guardamos los valores de la BD en variables */$codigobarras=$linea["codigobarras"];$marca=$linea["marca"];$nombreauto=$linea["nombreauto"];$año=$linea["año"];$nombrepieza=$linea["nombrepieza"];$costo=$linea["costo"];/* Imprimimos el resultado */echo '

<table width="200" border="1" align="center" bordercolor="#990000"><tr><td><div align="center">Codigo de barras;</td><td><div align="center">Marca del Auto&nbsp;</td><td><div align="center">Nombre del Auto y modelo&nbsp;</td><td><div align="center">Año del Auto&nbsp;</td><td><div align="center">Nombre de la pieza&nbsp;</td><td><div align="center">Costo de la pieza&nbsp;</td></tr><tr><td><div class="codigobarras">'.$codigobarras.'</div>&nbsp;</td><td><div class="marca">'.$marca.'</div>&nbsp;</td><td><div class="nombreauto">'.$nombreauto.'</div>&nbsp;</td><td><div class="año">'.$año.'</div>&nbsp;</td><td><div class="nombrepieza">'.$nombrepieza.'</div>&nbsp;</td><td><div class="costo">'.$costo.'</div>&nbsp;</td>

Page 20: Busquedad Php

</tr></table></p></p></p>';} } else { /* La búsqueda en la BD no produce ningún resultado */echo "Los sentimos, no se ha encontrado ninguna coincidencia con '$busqueda' en nuetra Web.<br /><br />Si usted desea realizar otra búsqueda:<br />";}?><!-- Fin de la página --> </p></body></html>

codigo conexion

<?$servidor="localhost";$usuario="root";$password="rvaldemar";$basededatos="sistemabusquedarv";$conexion=mysql_connect($servidor,$usuario,$passwo rd) or die ("Error: el Servidor no puede conectarse con la base de datos");$descriptor=mysql_select_db($basededatos,$conexion );?>

Page 21: Busquedad Php

Aca esta, no se si esta bien, recien empiezo con php, asi que si esta mal, mil disculpas

Código PHP:<?php  $NombreBD = "baseejemplo";  $Servidor = "localhost";  $Usuario = "root";

 $IdConexion = mysql_connect($Servidor, $Usuario);

 mysql_select_db($NombreBD, $IdConexion);

 $Query = 'SELECT campoejemplo FROM baseejemplo;';  $IdConsulta = mysql_query($Query, $IdConexion);  $NFilas = mysql_num_rows($IdConsulta); ?> <CENTER> <TABLE BORDER=0 BGCOLOR=#FFFFFF CELLPADDING=4 CELLSPACING=3>

<?  for($i=0;$i<$NFilas;$i++)  {    $ResultQuery = mysql_fetch_array($IdConsulta);    print("<TR>");    print("<TD>La busqueda devolvio este dato: ".$ResultQuery["campoejemplo"]."</TD>");    print("</BR>");    } ?>

Saludos

Responder

Citar

Me gusta este mensaje

desconectado

770

MENSAJES

rul_ escribió el 24/01/2003 a las 13:24 hs. ¿Mensaje inapropiado?

#5

me parece que pide algo distinto a lo que le pusieron uds

Responder

Citar

Page 22: Busquedad Php

Me gusta este mensaje

desconectado

434

MENSAJES

KaOSLiTo escribió el 24/01/2003 a las 14:37 hs. ¿Mensaje inapropiado?

#6

Me parece que rul tiene razon.Aca va una modificación sin testear del código que posteo Mat

Código PHP:<?php

if (!$submit){

/* * Por default Ejecuta esto. * Devuelve un formulario para la busqueda */ echo "<CENTER><FORM method=\"post\">           <TABLE BORDER=\"0\" CELLPADDING=\"4\" CELLSPACING=\"3\">             <tr>                     <td>Busqueda:</td>                     <td><INPUT type=\"text\" name=\"valorBuscado\"/></td>             </tr>             <tr>                     <td><BUTTON type=\"submit\" value=\"Buscar\" name=\"submit\"></BUTTON></td>             </tr>             </TABLE>             </FORM>"; }else{ /* * Si hizo submit a la busqueda, entonces busca en la base ese valor * e imprime los resultados */

 $NombreBD = "baseejemplo";  $Servidor = "localhost";  $Usuario = "root";

 $IdConexion = mysql_connect($Servidor, $Usuario);

 mysql_select_db($NombreBD, $IdConexion);

 $Query = "SELECT campoejemplo FROM baseejemplo WHERE campojemplo like '%".$_POST['valorBuscado']."%';";  $IdConsulta = mysql_query($Query, $IdConexion);  $NFilas = mysql_num_rows($IdConsulta);

Page 23: Busquedad Php

 echo "<CENTER><TABLE BORDER=\"0\" BGCOLOR=\"#FFFFFF\" CELLPADDING=\"4\" CELLSPACING=\"3\">";

 for($i=0;$i<$NFilas;$i++)  {    $ResultQuery = mysql_fetch_array($IdConsulta);    print("<TR>");    print("<TD>La busqueda devolvio este dato: ".$ResultQuery["campoejemplo"]."</TD>");    print("</BR>");    } } ?>

Page 24: Busquedad Php

Archivo: buscador_generico.php

<?// Buscador para tablas MySQL escrito en PHP. Por Alex para www.webtaller.com// Creado el 13-10-2003

////////////////////////////// Configuración///////////////////////////

//modifica estas variables según tu servidor de MySQL

$bd_servidor = "localhost";

$bd_usuario = "pepito";

$bd_contrasenya = "grillo";

$bd_bdname = "mybd";

$bd_tabla = "unatabla"; // Tabla donde se harán las búsquedas

// Conexión y selección de la base de datos

$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contrasenya);

mysql_select_db($bd_bdname,$link);

////////////////////////////// Formulario///////////////////////////

?>

<center><p><h2>Introduce las palabras para la búsqueda</h2></p><p><form name="buscador" method="post" action="buscador_generico.php"><br>Buscar en:<select name="campo"><?php

//Con este query obtendremos los campos por los cuales el usuario puede buscar

$result = mysql_query("SHOW FIELDS FROM `$bd_tabla`",$link);

while($row = mysql_fetch_row($result)) {

Page 25: Busquedad Php

// en $row[0] tenemos el nombre del campo// de esta manera no necesitamos conocer el nombre de los campos// por lo que cualquier tabla nos valdrá

?><option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option><?php

}

?></select>Palabra(s): <input type="text" name="palabra"><br><input type="submit" value="Enviar" name="enviar"></form></p></center>

<?

////////////////////////////// Proceso del Formulario///////////////////////////

if(isset($_POST['enviar'])) {

// Solo se ejecuta si se ha enviado el formulario

$query = "SELECT * from $bd_tabla WHERE `{$_POST['campo']}` LIKE '%{$_POST['palabra']}%'";

$result = mysql_query($query,$link);

$found = false; // Si el query ha devuelto algo pondrá a true esta variable

while ($row = mysql_fetch_array($result)) {

$found = true;

echo "<p>";

foreach($row as $nombre_campo => $valor_campo) {

// Tenemos que mostrar todos los campos de las filas donde se haya// encontrado la búsqueda.

if(is_int($nombre_campo)) {

Page 26: Busquedad Php

continue; //Cuando hacemos mysql_fetch_array, php genera un array// con todos los valores guardados dos veces, uno con// índice numérico y otro con índice el nombre del campo.// Solo nos interesa el del nombre del campo.

}

echo "<b>".$nombre_campo."</b> : ".$valor_campo."<br>";}

echo "</p>";

}

if(!$found) {

echo "No se encontró la palabra introducida";

}

}?>

Page 27: Busquedad Php

lo que pasa es que tengo un formulario de registro de alumnos de una guarderiay tengo que llenar los datos del formulario para que se guarden en la bd lo que quisiera es extraer dichos datos con un formulario de busqueda ya sea por alumno o por algun numero de idtengo el script de extraccion de informacion de la bd pero lo que quiero es que si quiero encontrar algun alumno poderlo buscar con un formulario no se si me explico aqui esta el script en php

Código :

<?php$conexion = mysql_connect("localhost", "------", "--------");mysql_select_db("----------", $conexion);

$queEmp = "SELECT * FROM usuarios ORDER BY username ASC";$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());$totEmp = mysql_num_rows($resEmp);?><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Ejemplo PHP-MySQL</title><style type="text/css"><!--body {   font-family: "Trebuchet MS", Tahoma, Verdana;   font-size: 12px;   font-weight: normal;   color: #666666;   text-decoration: none;   padding: 20px;}h4 {   color: #CC0000;}--></style></head><body><h4>Informacion personal</h4><?php if ($totEmp> 0) {   while ($rowEmp = mysql_fetch_assoc($resEmp)) {      echo "Nombre: <strong>".$rowEmp['nombre']."</strong><br></br>";      echo "Apellidos: ".$rowEmp['apellidos']."<br></br>";      echo "Usuario: ".$rowEmp['username']."<br></br>";      echo "Telefono: ".$rowEmp['telefono']."<br></br>";      }}?></body></html>

cher1_7

clabLevel: 55

Page 28: Busquedad Php

      MP   Email   Web Citar            

Publicado: 08 Mar 2009 02:57 am Código :

<?php

$conexion = mysql_connect("localhost", "------", "--------");mysql_select_db("----------", $conexion);

$conUsu = mysql_query(" SELECT * FROM usuarios");

echo "<form><select>";while ($resUsu = mysql_fetch_array($conUsu)){          echo ("<option>".$resUsu['nombre']."</option>");}echo "</select></form>";

@@mysql_free_result($conUsu);@@mysql_close($conexion);?>

Algo asi para crear una lista con los nombres de los usuarios en tu BBDD.

eseceve

clabLevel: 26

      MP     Citar            

Publicado: 08 Mar 2009 03:10 am es que pasaron un script para hacer las busquedas de mis alumnos pero me manda a un errormira

este es el formulario de busqueda

Código :

<form method="post" action="archivo_destino.php" /> Nombre del Alumno: <input type="text" name="nomb" size="24" maxlength="24" /><br /><br /> <input type="submit" value="Buscar por Nombre" /> </form> 

y este es el codigo en php para que me muestre la info pero ahi es donde me marca este error

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/chicharrin/domains/chicharrines.net/public_html/new_image/busqueda/archivo_destino.php on line 27

cher1_7

clabLevel: 55

Page 29: Busquedad Php

Código :

<?php  //TOMAMOS LA VARIABLE NOMBRE DEL FORMULARIO $nombre= addslashes($_POST['nomb']); //conectamos a la base de datos y seleccionamos la database $conn = mysql_connect ("localhost", "chicharrin_1", "123456"); mysql_select_db("chicharrin_chicharrines",$conn);   // definimos la consulta $consulta = "SELECT * FROM usuarios WHERE nombre='$nombre';";   //realizamos las consulta $result = mysql_query($consulta) or die (mysql_error());   //si no se llevo a cabo escribir lo siguiente y salir de php if (!$result) {    echo "No se pudo llevar a cabo la busqueda";    exit; }   //contamos los resultados $totalum = mysql_num_rows($result);   // Y ACA ESTA LA LINEA NUMERO 27 DESDE AQUI MARCA EL ERROR QUE ESTARE HACIENDO MAL  if ($totalum> 0) {      while ($rowEmp = mysql_fetch_assoc($resEmp)) {          echo "Nombre: <strong>".$rowalum['nombre']."</strong><br></br>";          echo "Apellidos: ".$rowalum['apellidos']."<br></br>";          echo "Usuario: ".$rowalum['username']."<br></br>";          echo "Telefono: ".$rowalum['telefono']."<br></br>";            }  }   ?> 

      MP   Email   Web Citar            

Publicado: 10 Mar 2009 02:00 pm Código :

while ($rowEmp = mysql_fetch_assoc($resEmp))  //Cambia la línea de arriba por:  while ($rowEmp = mysql_fetch_assoc($result))  

Eso debería solucionar el warning que te arroja, lo que pasa es que $resEmp no está seteado, $result es la variable que tiene el resultado de la consulta...

Page 30: Busquedad Php
Page 31: Busquedad Php

Hola,

Estoy realizando este formulario de busqueda desplagable y me falla algo que no encuentro. El problema es que el campo del formulario que sería para seleccionar una ciudad me funciona correctamente pero el de seleccionar un tipo de vivienda no, a la hora de realizar la busqueda es como sino existiese. El problema viene de esta parte del código php (if (intval($_POST['tipovivienda']) > 0) {$sql .= " AND propiedades.idvivienda = '" . intval($_POST['tipovivienda']) . "'";).

Si alguien encontrara el fallo me haría un gran favor para poder solucionarlo!!

Código PHP:<?php $conexion = mysql_connect('localhost', '', ''); mysql_select_db(''); ?> <html> <head> <title>Reporte de Propiedades</title> </head> <body> <h1>B&uacute;squeda de Propiedades</h1>

<form name="form1" method="post" action="Busqueda.php"> <label>Tipo de vivienda:<br /> <select name="tipovivienda" id="tipovivienda">   <option value="0">--Escoja tipo alquiler--</option>   <?php     $tablavivienda = mysql_query("SELECT * FROM vivienda ORDER BY id ASC"); // Seleccionamos las ciudades de la tabla ciudades     while ($registrovivienda = mysql_fetch_array($tablavivienda)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla ?>         <option value="<?php echo $registrovivienda['id']; ?>"><?php echo $registrovivienda['tipo']; ?></option>   <?php     } // termina la zona de repeticion     mysql_free_result($tablavivienda); // se libera la memoria usada por la tabla ?> </select>     <br> </label>     <label>Ciudad:<br />       <select name="ciudad" id="ciudad">         <option value="0">---Escoja la ciudad---</option>         <?php     $tablaciudades = mysql_query("SELECT * FROM ciudades ORDER BY id ASC"); // Seleccionamos las ciudades de la tabla ciudades     while ($registrociudad = mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla ?>         <option value="<?php echo $registrociudad['id']; ?>"><?php echo $registrociudad['nombre']; ?></option> <?php     } // termina la zona de repeticion     mysql_free_result($tablaciudades); // se libera la memoria usada p

Page 32: Busquedad Php

or la tabla ?>       </select>     </label>     <input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR"> </form> <table border="1"> <tr> <td>Referencia</td> <td>Foto</td> <td>Tipo Vivienda</td> <td>Ciudad</td> <td>Población</td> <td>Precio</td> <td>Descripción</td> </tr> <?php $sql = "SELECT propiedades.*, ciudades.*, vivienda.* FROM propiedades, ciudades, vivienda WHERE propiedades.idciudad = ciudades.id && propiedades.idvivienda = vivienda.id "; if (isset($_POST['ciudad']) > 0) {     $sql .= " AND propiedades.idciudad = '" . ($_POST['ciudad']) . "'";;     if (intval($_POST['tipovivienda']) > 0) {         $sql .= " AND propiedades.idvivienda = '" . intval($_POST['tipovivienda']) . "'";     } } $sql .= " ORDER BY vivienda.tipo ASC"; $tabla = mysql_query($sql); while ($registro = mysql_fetch_array($tabla)) { ?> <tr> <td><?php echo $registro['referencia']; ?></td> <td><img src="ver.php?referencia=<?php echo $registro['referencia']; ?>" width="200" height="150" alt="" /></td> <td><?php echo $registro['tipo']; ?></td> <td><?php echo $registro['nombre']; ?></td> <td><?php echo $registro['poblacion']; ?></td> <td><?php echo $registro['precio']; ?></td> <td><?php echo $registro['descripcion']; ?></td> </tr> <?php } mysql_free_result($tabla); mysql_close($conexion); ?> </table> </body> </html>

Page 33: Busquedad Php

ues lo primero que tienes que hacer... es armarte las tablas en la base de datos por ejemplo carros, marca, modelo, categorias, carros2categorias.. este seria como un ejemplo para los dropmenus de ajax y conjugar las diferentes tablas en php... para este tipo de buscas es bueno usar match en sql.. fulltext, ya a la hora que tengas todas tus tablas echas ya puedes empezar con php puede ser con una funcion algo asi

Código PHP:<?php 

   function encontrar_carro($query_tipo = NULL, $query_marca = NULL, $query_modelo = NULL){    db_conecion();           $select = "SELECT                      carros.id                     etc,                     etc ";       $from = "FROM                      carros ";                            $where = "WHERE                      carros.id > 0 ";                            $order = " ORDER BY cars.id DESC";              if(!empty($query_tipo)){                   $select .= sprintf(", MATCH(title,location,description)                           AGAINST ('%s' IN BOOLEAN MODE)                           AS RELEVANSE ", mysql_real_escape_string($query_tipo)                          );         $where .= sprintf("AND MATCH(title,location,description) AGAINST                                                ('%s' IN BOOLEAN MODE) ",                                               mysql_real_escape_string($query_tipo)                                               );                                                        $order = " ORDER BY relevance DESC";       }              if(!empty($query_marca)){                       $from .= ", carros2categorias ";                      $where .= sprintf("AND carros.id = carros2categorias.carro.id                                               AND carros2categorias.categoria_id = '%s'",                                              mysql_real_escape_string($query_marca)                                              );              }              if(!empty($query_modelo)){                       $from .= ", carros2modelo ";

Page 34: Busquedad Php

                     $where .= sprintf("AND carros.id = carros2modelo.carro.id                                               AND carros2modelo.modelo_id = '%s'",                                              mysql_real_escape_string($query_modelo)                                              );              }              $query = $select.$from.$where.$order;              $result = mysql_query($query);       $result = db_result_to_array($result);          return $result;        }        function db_result_to_array($result){          $res_array = array();     for($count=0; $row = mysql_fetch_array($result); $count++){                    $res_array[$count] = $row;     }    return $res_array;  }

?>

Page 35: Busquedad Php

Hola gracia x leerme:Debo hacer un buscado con un grupo de opciones y no me marca errores pero no me devuelve ningun resultado. estoy trabajando con php, mysql y dreamweaver.Necesito hacer consultas q involucran varias tablas.Esto es el codigo:para hacer la conexion<?PHP $bd_servidor = "localhost";$bd_usuario = "root";$bd_contraseña = "xxxxxxxxxxxx";$bd_bdname = "nom_mibd";$bd_tabla1 = "tab1"; // Tabla donde se harán las búsquedas$bd_tabla2 = "tab2";$bd_tabla3 = "tab3";$bd_tabla4 = "tab3";$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contras eña);mysql_select_db($bd_bdname,$link);?>

//luego tengo una forma con un grupo de opciones radio (la edite)<form name="form1" method="POST" action="notica.php"><label><input type="radio" name="GrupoOpciones1" value="num"><label><label><input type="radio" name="GrupoOpciones1" value="med">Medio</label><br><label><input type="radio" name="GrupoOpciones1" value="niv">Nivel</label></p></form>

//otra forma donde tngo el boton<form name="form2" method="post" action="noticia.php" ><input type="text" name="criterio"><input type="submit" name="enviar" value="Buscar"> </form>

//luego en donde muestro las noticias tengo esto:<?phpif(isset($_POST['enviar'])){// Solo se ejecuta si se ha enviado el formulario si se ha oprimido el boton de Buscarif (isset($_POST['GrupoOpciones1'])){if ($_POST['GrupoOpciones1'] = 'num')$result = mysql_query("SELECT * FROM noticia WHERE id_noticia LIKE '%{$_POST['criterio']}

Page 36: Busquedad Php

%'", $link);if ($_POST['GrupoOpciones1'] = 'med')$result = mysql_query("SELECT * FROM noticia left JOIN medio ON noticia.id_medio = medio.id_medio WHERE medio.nombre_medio LIKE '%{$_POST['criterio']}%'", $link);if ($_POST['GrupoOpciones1'] = 'niv')$result = mysql_query("SELECT * FROM noticia left JOIN nivel ON noticia.id_nivel_noticia=nivel.id_nivel_noticia WHERE noticia.nivel LIKE '%{$_POST['criterio']}%'", $link);if ($_POST['GrupoOpciones1'] = 'fec')$result = mysql_query("SELECT * FROM noticia WHERE fecha_noticia LIKE '%{$_POST['criterio']}%'", $link);If ($_POST['GrupoOpciones1'] = 'tit')$result = mysql_query("SELECT * FROM noticia WHERE titulo_noticia LIKE '%{$_POST['criterio']}%'", $link);if ($_POST['GrupoOpciones1'] = 'con')$result = mysql_query("SELECT * FROM noticia WHERE contenido_noticia LIKE '%{$_POST['criterio']}%'", $link);if ($_POST['GrupoOpciones1'] = 'aut')$result = mysql_query("SELECT * FROM noticia WHERE autor_noticia LIKE '%{$_POST['criterio']}%'", $link);$found = false; while ($row = mysql_fetch_array($result)) {$found = true;echo "<p>";foreach($row as $nombre_campo => $valor_campo) {if(is_int($nombre_campo)) {continue;} echo "<b>".$nombre_campo."</b> : ".$valor_campo."<br>";}echo '"</p>"';}if(!$found) {echo "No se encontró la palabra introducida";}}}?>pero nunca encuentra nada y no tengo idea alguien puede ayudarme x favor?mm :(

jaja he hecho de más de 20 opciones en diferentes tablas.. ;)..mi la cosa es relativamente facil.en la página que recibe las variables del formularioen una variable almacenas el select básicoes decir por ejemplo $sql="select tb1.campo1,tb2,campo2,tb3.campo3 from tb1,tb2,tb3 where1=1"...

Page 37: Busquedad Php

importante el 1=1..ya que te dará la opción de que se desplieguen todos lo datos en caso de no hacber filtro.

luego por cada opción haces los siguienteif($opcion1!=""){$op1=" and tb1.campo=valor";}else{$op1="";} etc...el espacio antes del and es importante

luego simple concatenas $sql=$sql.$op1.$op2.....etcy ejecutas la consulta...asi se te arma dinámicamente...

bueno usando el moismo concepti y poniendote más esquicito puedes hace r lo mismo con el texto luego del from para armar joins etcc... y copncatener en el select.. etc.

Page 38: Busquedad Php

En este caso inicio mi conexion a base de datos:

Código PHP:<?php // conexion al servidor $server_link = mysql_connect("localhost", "root", ""); if(!$server_link){ die("Falló la Conexión ". mysql_error()); } // seleccion de base de datos $db_selected = mysql_select_db("encuentra", $server_link); if(!$db_selected){  die("No se pudo seleccionar la Base de Datos ". mysql_error()); }

?>

Luego, creo mi form para que el usuario pueda acceder a la busqueda:

Código PHP:<form action="<?php $_SERVER['PHP_SELF'] ?>" method="get" name="buscar">                        <table width="654" border="0" cellpadding="0" cellspacing="0">

 <tr>

  <td width="314"><span class="descriptionBuscador">Empresa</span><br />     <input name="empresa" type="text" class="campos" value="<?php echo $_GET['empresa']; ?>" /></td>

    <td width="23">&nbsp;</td>

    <td width="241" rowspan="2">     <span class="observacion">Puedes realizar una búsqueda independiente por el nombre o rubro, o bien combinar ambos parámetros.      </span>       </td>       </tr>                                                        <tr>         <td>&nbsp;</td>         <td>&nbsp;</td>     </tr>

                             <tr>     <td>      <span class="descriptionBuscador">Rubro</span><br />               <select name="rubros" class="campos">                 <option value="Todos">Todos los Rubros</option>                 <?php

            //Con este query obtengo los campos por los cuales 

Page 39: Busquedad Php

el usuario puede buscar

            $result = mysql_query("SELECT * FROM rubro ORDER BY rubro_id",$server_link);

              //Este while me trae todos los campos de mi BD que se llama "encuentra" //en la tabla "rubro"

            while($filas = mysql_fetch_array($result)) {

        ?>         <option value="<?php echo $filas['Rubro']; ?>"><?php echo $filas['Rubro']; ?></option>                        <?php

        }//fin while

        ?>               </select>              </td>

        <td>&nbsp;</td>         <td valign="bottom">           <input name="encontrar" type="submit" class="botonBuscar" value="Encontrar!" />         </td>   </tr>                                             <tr>     <td>&nbsp;</td>     <td>&nbsp;</td>     <td>&nbsp;</td>  </tr>

</table> </form>

Hasta aca, sin Dramas, pues el Form Select me trae todos mis rubros disponibles en la tabla rubros, lo que no estoy pudiendo entender es lo que sigue, es decir, como vincular el campo INPUT donde la gente mete el nombre de la empresa, con el campo Select, y que tambien em realice una busqueda, si solo quiere poner una frase o palabra, o solo seleccionar un rubro, o si quiere combinar ambos

 

10-ago-2009, 13:25

  #4 (permalink)

loncho_roja

Respuesta: Buscador Avanzado Multiple PHP MySql

Page 40: Busquedad Php

s

 970 Mensajes Ubicación: Paraguay

Aca es donde traigo los resultados, que como dije, el Match Against, me sirven para el campo INPUT, incluso, como estan indexados mis campos puedo meter no solo el nombre de la empresa, sino un telefono, apellido, mail, direccion, o lo que sea, y me trae los resultados desde el Input.. pero no logro, o al menos ya se fatigo mi pequeña mente de como hacer que tambien se combinen con el select.. hice un intento, y no lo logre, ahi va (repito, mi problema es el select que no puedo agruparla con la busqueda de mi input, o que haga una busqueda independiente)

Código PHP:<div id="resultados">             <?php

        // varificamos que el formulario halla sido enviado         if(isset($_GET['encontrar']) && $_GET['encontrar'] == 'Encontrar!'){             $empresa = addslashes($_GET['empresa']);             $rubro = addslashes($_GET['Rubro']);                          // hacemos la consulta de busqueda             // ver explicación mas abajo             if(isset($_GET['empresa'])){             $sqlBuscar = mysql_query("SELECT Empresa, Rubro, Telefono, Movil, Direccion, Ciudad, Mail,             MATCH (Empresa, Rubro, Telefono, Movil, Direccion, Ciudad, Mail)             AGAINST ('$empresa' IN BOOLEAN MODE) AS coincidencias             FROM empresas             WHERE MATCH (Empresa, Rubro, Telefono, Movil, Direccion, Ciudad, Mail)             AGAINST ('$empresa' IN BOOLEAN MODE)             ORDER BY coincidencias DESC", $server_link)             or die(mysql_error());              }                                   if(isset($_GET['rubro'])) {          $sqlBuscar = mysql_query("SELECT *              FROM empresas              WHERE               rubro LIKE '%$rubro%'", $server_link);             }             $totalRows = mysql_num_rows($sqlBuscar);                          // Enviamos un mensaje             // indicando la cantidad de resultados ($totalRows)             // para la frase busada ($frase)             if(!empty($totalRows)){             echo stripslashes("<p><span class='resultado'>Resultados Encontrados:</span>               <strong>$totalRows</strong> <span class='resultado'>para la b&uacute;squeda </span> <strong>$frase</strong></p>");                           // mostramos los resultados             while($row = mysql_fetch_array($sqlBuscar)){

Page 41: Busquedad Php

            echo "<em>Coincidencias de palabras: ". round($row['coincidencias']) ."</em>";             echo "<table width='700' border='0' cellpadding='0' cellspacing='0'>             <tr>              <td width='70'>Empresa:</td>             <td width='630'>             <strong><a href='#'>$row[Empresa]</a>:</strong></td>             </tr>";             echo "<tr>              <td>Rubro:</td><td>".substr(strip_tags($row['Rubro']), 0, 255)."</td></tr>";             echo "<tr> <td>Tel&eacute;fono:</td><td>".substr(strip_tags($row['Telefono']), 0, 255)."</td></tr>";             echo "<tr> <td>Movil:</td><td>".substr(strip_tags($row['Movil']), 0, 255)."</td></tr>";             echo "<tr> <td>Ciudad:</td><td>".substr(strip_tags($row['Ciudad']), 0, 255)."</td></tr>";             echo "<tr> <td>Ciudad:</td><td>".substr(strip_tags($row['Mail']), 0, 255)."</td></tr>";             echo "</table><p>&nbsp;</p>";             }                          // si se ha enviado vacio el formulario             // mostramos un mensaje del tipo Oops...!             }elseif(empty($_GET['empresa'])){             echo "Debe introducir una palabra o frase.";                                       // si no hay resultados             // otro mensaje del tipo Oops...!             }elseif($totalRows == 0){             echo stripslashes("Su busqueda no arrojo resultados para <strong>$frase</strong>");             }         }//if         ?>                                     </div>

</body> </html>

Page 42: Busquedad Php

<html> <head>

<title>Documento sin título</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<?php$con = mysql_connect('localhost', 'root', 'root');mysql_select_db('empresa');?>

<script> function componer_Centros(cod_area) { //alert(cod_area); document.miformulario.depto.length=0; document.miformulario.depto.options[0] = new Option("-- Seleccione --","","defaultSelected",""); var indice=1; <? $sql_depto = "SELECT * from especialidades"; $rs_depto = mysql_query($sql_depto, $con); if(mysql_num_rows($rs_depto)>0) { while($row_depto = mysql_fetch_assoc($rs_depto)) {

?> if(cod_area=='<?=$row_depto["cod_cat"]?>') { document.miformulario.depto.options[indice] = new Option("<?=$row_depto["desc_esp"]?>","<?=$row_depto["cod_esp"]?>"); indice++; } <? } } mysql_close($con); ?> }

</script> </head>

<body>

Page 43: Busquedad Php

<p>Seleccion de un select y cambiar los valores de otro select sin tener que submitar (valido segun su uso)</p>

<form name="miformulario" method="post" action="PAGINA2.php"> <table width="249" border="0" cellspacing="0" cellpadding="0"> <tr> <td>Zona</td> <td>Categorias</td> <td>Especialidad</td> </tr>

<tr> <tr> <td><select name="zonas" id="zonas"> <option value="">--Seleccione--</option> <? $bd_host = "localhost"; $bd_usuario = "root"; $bd_password = "root"; $bd_base = "empresa"; $con = mysql_connect($bd_host, $bd_usuario, $bd_password); mysql_select_db($bd_base, $con); ?> <? $sql = "SELECT * from zonas"; $rs = mysql_query($sql, $con); ?><? if(mysql_num_rows($rs)>0) { while($row = mysql_fetch_assoc($rs)) { ?> <option value="<?=$row["cod_zona"]?>"><?=$row["desc_zona"]?></option> <? } } ?> </select><td><select name="empresa" id="empresa" onChange="componer_Centros(this.value)"> <option value="">--Seleccione--</option> <? $bd_host = "localhost"; $bd_usuario = "root"; $bd_password = "root"; $bd_base = "empresa"; $con = mysql_connect($bd_host, $bd_usuario, $bd_password);

Page 44: Busquedad Php

mysql_select_db($bd_base, $con); ?> <? $sql = "SELECT * from categorias"; $rs = mysql_query($sql, $con); ?><? if(mysql_num_rows($rs)>0) { while($row = mysql_fetch_assoc($rs)) { ?> <option value="<?=$row["cod_cat"]?>"><?=$row["desc_cat"]?></option> <? } } ?> </select></td> <td><select name="depto" id="depto"> <option>--seleccione--</option> </select></td> <TD><input type="submit" name="cmdBuscar" id="cmdBuscar" value="IR"></TD></tr> <tr> <td> </td> <td> </td> </tr> </table> </form>

</body> </html>

y esta es la pagina llamada pagina2.php a la cual llama el formulario:

<body><table border="1"><tr><td>ID Propiedad </td><td>Propiedad</td><td>Ciudad</td><td>Descripci&oacute;n</td><td>Precio</td>

Page 45: Busquedad Php

</tr><?php$bd_host = "localhost"; $bd_usuario = "root"; $bd_password = "root"; $bd_base = "empresa"; $con = mysql_connect($bd_host, $bd_usuario, $bd_password); mysql_select_db($bd_base, $con); ?><?php$sql = "SELECT * FROM medicos, zonas, categorias, especialidades where medicos.cod_zona=zonas.cod_zona and categorias.cod_cat=medicos.cod_cat and categorias.cod_cat=especialidades.cod_cat and medicos.cod_esp=especialidades.cod_esp ";if ($HTTP_POST_VARS['zonas']) $sql .= " AND medicos.cod_zona = " .$_POST['zonas'];

if ($HTTP_POST_VARS['empresa']) $sql .= " AND medicos.cod_cat = " .$_POST['empresa'];

if ($HTTP_POST_VARS['depto']) $sql .= " AND medicos.cod_esp= " .$_POST['depto'];

$sql .= " ORDER BY nombre_med ASC";$resultado = mysql_query($sql) or die ($Sql .mysql_error()."" );while ($registro = mysql_fetch_array($resultado)) {?><tr><td><?php echo $registro['cod_zona']; ?></td><td><?php echo $registro['desc_zona']; ?></td><td><?php echo $registro['nombre_med']; ?></td><td><?php echo $registro['direccion_med']; ?></td></tr>

<?php}mysql_free_result($resultado);mysql_close($con);?></table>

</table></body></html>

Page 46: Busquedad Php

ola!Soy nuevo en esto, quiero ver si me puedes ayudar, para hacer dos combos: por ejemplo estoy hablando de una tabla de productos, si selecciono una familia en el primer combo, me muestre los codigos que pertenezcan a la familia, una vez que selecciones el codigo, ya sin combo me muestre la descripción, la unidad de medida y precio, pero estos 3 ultimos datos en un textfiel que no se pueda modificar. Estoy trabajando con php y mysql.

Espero me puedas ayudar.

Puedes utilizar un código similar a este remodelándolo.

<script type="text/javascript"> var teveo = null; var formus = [null, 'TD', 'TC', 'FID', 'CTA']; function muestra(formulario) { if (teveo != null) document.getElementById(teveo).style.display = 'none'; if (formus[formulario] != null) document.getElementById(formus[formulario]).style. display = 'block'; teveo = formus[formulario] } </script> <body>

<form> <select onchange="muestra(this.selectedIndex);"> <option value="0">Seleccione un producto</option> <option value="1">Tarjeta de débito</option> <option value="2">Tarjeta de crédito</option> <option value="3">Fideicomiso</option> <option value="4">Cuenta de ahorro, corriente o FAL</option> </select> </form>

<form action="" method="post" name="form1" id="TD" style="display:none;"> <select name="uno"> <option value="0">Seleccione un producto</option> <option value="1">débito 1</option> <option value="2">débito 2</option> <option value="3">débito 3</option> <option value="4">débito 4</option>

Page 47: Busquedad Php

</select> </form>

<form id="TC" name="form1" method="post" action="" style="display:none;"> <select name="uno"> <option value="0">Seleccione un producto</option> <option value="1">crédito 1</option> <option value="2">crédito 2</option> <option value="3">crédito 3</option> <option value="4">crédito 4</option> </select> </form>

<form id="CTA" name="form1" method="post" action="" style="display:none;"> <select name="uno"> <option value="0">Seleccione un producto</option> <option value="1">corriente 1</option> <option value="2">corriente 2</option> <option value="3">corriente 3</option> <option value="4">corriente 4</option> </select> </form>

<form id="FID" name="form1" method="post" action="" style="display:none;"> <select name="uno"> <option value="0">Seleccione un producto</option> <option value="1">fideicomiso 1</option> <option value="2">fideicomiso 2</option> <option value="3">fideicomiso 3</option> <option value="4">fideicomiso 4</option> </select> </form>

Page 48: Busquedad Php

<FORM name="isc">

<table border="0" cellspacing="0" cellpadding="0">

<tr align="center">

<td nowrap height="11"> &nbsp;

<select name="example" size="1" onChange="redirect(this.options.selectedIndex)">

<option selected>---Select1-------------</option>

<option>Webmaster Sites</option>

<option>News Sites</option>

</select>

<select name="stage2" size="1" onChange="redirect1(this.options.selectedIndex)">

<option value=" " selected> </option>

<option value=" " selected>---Select2--------------</option>

<option value=" " selected>---Select2--------------</option>

</select>

<select name="stage3" size="1" onChange="redirect2(this.options.selectedIndex)">

<option value=" " selected> </option>

<option value=" " selected>---Select3----------------</option>

<option value=" " selected>---Select3----------------</option>

</select>

<script>

<!--

/*

Page 49: Busquedad Php

Triple Combo Script Credit

By Hamid Cheheltani/ JavaScript Kit (http://www.javascriptkit.com)

Visit http://javascriptkit.com for this and over 400+ other scripts

*/

var groups=document.isc.example.options.length

var group=new Array(groups)

for (i=0; i<groups; i++)

group[i]=new Array()

group[0][0]=new Option("---Select2---"," ");

group[1][0]=new Option("Now Select This One"," ");

group[1][1]=new Option("JavaScript","47");

group[1][2]=new Option("CSS","46");

group[1][3]=new Option("Ajax","45");

group[2][0]=new Option("Now Select This One"," ");

group[2][1]=new Option("General News","115");

group[2][2]=new Option("Technology News","116");

var temp=document.isc.stage2

function redirect(x){

for (m=temp.options.length-1;m>0;m--)

temp.options[m]=null

Page 50: Busquedad Php

for (i=0;i<group[x].length;i++){

temp.options[i]=new Option(group[x][i].text,group[x][i].value)

}

temp.options[0].selected=true

redirect1(0)

}

var secondGroups=document.isc.stage2.options.length

var secondGroup=new Array(groups)

for (i=0; i<groups; i++) {

secondGroup[i]=new Array(group[i].length)

for (j=0; j<group[i].length; j++) {

secondGroup[i][j]=new Array() }}

secondGroup[0][0][0]=new Option("---Select 3---"," ");

secondGroup[1][0][0]=new Option("---Select 3---"," ");

secondGroup[1][1][0]=new Option("Now Select This One"," ");

secondGroup[1][1][1]=new Option("JavaScript Kit","http://javascriptkit.com");

secondGroup[1][1][2]=new Option("Dynamic Drive","http://www.dynamicdrive.com");

secondGroup[1][1][3]=new Option("Java-Scripts.net","http://java-scripts.net");

secondGroup[1][2][0]=new Option("Now Select This One"," ");

secondGroup[1][2][1]=new Option("CSS Drive","http://www.cssdrive.com");

secondGroup[1][2][2]=new Option("CSS Library","http://www.dynamicdrive.com/style/");

secondGroup[1][2][3]=new Option("CSS Help Forums","http://www.codingforums.com/forumdisplay.php?f=13");

Page 51: Busquedad Php

secondGroup[1][3][0]=new Option("Now Select This One"," ");

secondGroup[1][3][1]=new Option("Ajaxian","http://www.ajaxian.com");

secondGroup[1][3][2]=new Option("Ajax Scripts","http://www.javascriptkit.com/script/cutindex11.shtml");

secondGroup[2][0][0]=new Option("---Select 3---"," ");

secondGroup[2][1][0]=new Option("Now Select This One"," ");

secondGroup[2][1][1]=new Option("CNN","http://www.cnn.com");

secondGroup[2][1][2]=new Option("MSNBC","http://www.msnbc.com");

secondGroup[2][1][3]=new Option("ABC News","http://www.abcnews.com");

secondGroup[2][2][0]=new Option("Now Select A Page"," ");

secondGroup[2][2][1]=new Option("News.com","http://www.news.com");

secondGroup[2][2][2]=new Option("Wired","http://www.wired.com");

var temp1=document.isc.stage3

function redirect1(y){

for (m=temp1.options.length-1;m>0;m--)

temp1.options[m]=null

for (i=0;i<secondGroup[document.isc.example.options.selectedIndex][y].length;i++){

temp1.options[i]=new Option(secondGroup[document.isc.example.options.selectedIndex][y][i].text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)

}

temp1.options[0].selected=true

}

function redirect2(z){

Page 52: Busquedad Php

window.location=temp1[z].value

}

//-->

</script>

</td>

</tr>

</table>

</FORM>

<p><font face="arial" size="-2">This free script provided by</font><br>

<font face="arial, helvetica" size="-2"><a href="http://javascriptkit.com">JavaScript

Kit</a></font></p>

Page 53: Busquedad Php

<body><h1>Resultados de la Busqueda</h1><?php trim($terminobusqueda); if (!$tipobusqueda||!$terminobusqueda){ echo "No has introducido los detalles de la búsqueda. Por favor vuelve e intentalo de nuevo.";exit; }// $tipobusqueda = addslashes($tipobusqueda);$terminobusqueda = addslashes($terminobusqueda);$db=mysql_connect("localhost","root",""); if(!$db) { echo"Error: No se ha podido conectar a la base de datos. Por favor, pruebe de nuevo más tarde";exit; }mysql_select_db("nómina");$consulta="select * from empresa INNER JOIN empleado ON Empleado.codemp=empresa.codmpe and empresa.$tipobusqueda like'%$terminobusqueda%'";$resultado=mysql_query($consulta);if(!$resultado) { die("Hubo un error.My sql dijo:".mysql_error());} $num_resultados=mysql_num_rows($resultado);echo"<p>El Número de Empleados encontrados es:".$num_resultados."</p>"; for ($i=0;$i<$num_resultados;$i++){ $row=mysql_fetch_array($resultado);echo"<p><strong>".($i+1).".Cédula:"; echo ($row["ci"]);echo"</strong><br>Nombre:";echo ($row["nombrei"]);echo"<br>Apellido:"; echo ($row["apellido"]);echo"<br>Dirección:"; echo ($row["direccion"]);echo"<br>Teléfono:"; echo ($row["telefono"]);?></body></html>

este es el codigo html

<h1 Busqueda deEmpleados por Empresa</h1>

<form action="archivophp" method="post"><big Selecciona el tipo de busqueda</span> </big><br>

  <select name="tipobusqueda">  <option value="codigo"> Codigo de la Empresa </option>  <option value="nombre"> Nombre de la Empresa</option>  <option value="direccion"> Direcci&ograve;n de la Empresa </option>

Page 54: Busquedad Php

  <option value="telefono"> Tel&egrave;fono de la Empresa </option>  </select>

  <br>

  <br style="font-weight: bold;">

  <big>Escribe el termino de busqueda</span>  </big><br>

  <input name="terminobusqueda" tipo="text"> <br>

  <br>  <div style="text-align: center;">  <input value="Buscar" type="submit"></div> </form>

</body></html>

 

Page 55: Busquedad Php

Hola!Soy novata en PHP Y Mysql y necesitaria ayuda con respecto al codigo PHP para crear una cartilla medica.Tengo una base de datos con tres tablas. Ellas son:

ZONAS: -cod_zona (primary key)-desc_zona (es el nombre de la zona)

CATEGORIAS-cod_cat(primary key)-desc_cat(es el nombre de la categoria)

MEDICOScod_med (primary key)nombre_meddireccion_medtelefono_medcod_zona (index)cod_cat (index)

Lo primero que he hecho es crear un formulario simple que contiene dos listas desplegables y un boton de busqueda.En la primera lista desplegable aparecen las zonas y en la segunda lista desplegable las categorias.La idea es que en base a la zona que se halla elegido (como por ejemplo, Capital Federal) y en base a la categoria (como por ejemplo, Sanatorios y Clinicas), me de como resultado al presionar el boton de busqueda, todos los sanatorios y clinicas de Capital Federal que se encuentran contenidos en la tabla medicos.Pero la verdad es que no se como hacerlo.

Aca les dejo el codigo php de las listas desplegables de las categorias y zonas.

Mostrar/Ocultar Número de línea | Expandir/Contraer | Seleccionar todo

1. <?php2. $servidor= "localhost";3. $root= "root";4. $contraseña= "***";5. $db= "****";6.  7. $coneccion = mysql_connect('localhost', 'root',

'***');8. if (!$db)9.   {10.      echo "Error: No se ha podido conectar a la

base de datos.  Por favor, prueba de nuevo más tarde.";

11.      exit;12.   }13. @ mysql_select_db("****");14.  

Page 56: Busquedad Php

15. $sql="select * from zonas order by desc_zona ";16. $result= mysql_query($sql, $coneccion);17.  18. ?>19.  20. <form method="post" action="ultimores2.php">21.   <p>Elige la Zona:<br>22.     <select name="select1">23.  24. <?php25.      while ($myrow=mysql_fetch_array($result))26.      {27.      echo "<option

value=$myrow[cod_zona]>$myrow[desc_zona]</option>";28.      }29.      ?>  30.   31.   </select>  32.     33.  34. <?php35.  36. $sql="select * from categorias order by desc_cat

";37. $result= mysql_query($sql, $coneccion);38.  39. ?>40.  41. </p>42.   <p>  Elige la Categoria:<br>43.     <select name="select2">      44.  45. <?php46.      while ($myrow=mysql_fetch_array($result))47.      {48.      echo "<option

value=$myrow[cod_cat]>$myrow[desc_cat]</option>";49.      }50.      ?>  51.  52. </select>53.     </p>54.     <br>55.    <input type="submit" value="Buscar"56. name="B1" />57.      58. </form>

Page 57: Busquedad Php

Hola! Gracias por responder... esta tarde estuve tratando de resolver el problema y he conseguido algo... logre que en base a lo elegido en las listas desplegables, me muestre el registro corespondiente a la tabla medicos. Es decir, si en la lista zona selecciono Capital federal.. y en la de categorias Clinicas y Sanatorios.. me muestra los registros que coinciden con la busqueda... pero ahora me surgio otro problema...y es que si en la lista de zonas selecciono "todas las zonas" y en la de catagerias "clinicas y sanatorios" o cualquier otra.. no me aparece nada. Lo mismo sucede si en las dos listas elijo "todas las zonas" y "todas las categorias".. es decir, siempre que en una de las listas (o en las dos) seleccione la opcion "todas" no me aparece nada...

Cambie el formulario por este:

Mostrar/Ocultar Número de línea | Expandir/Contraer | Seleccionar todo

1. <?php2. $servidor= "localhost";3. $root= "root";4. $contraseña= "****";5. $db= "***";6.  7. $coneccion = mysql_connect('localhost', 'root',

'***');8. if (!$db)//ERROR QUE SE MUESTRA SI NO SE CONECTA A LA

BASE DE DATOS9.   {10.      echo "Error: No se ha podido conectar a la

base de datos.  Por favor, prueba de nuevo más tarde.";

11.      exit;12.   }13. @ mysql_select_db("***");//SELECCIONA LA BASE DE

DATOS A UTILIZAR14.  15. $res= mysql_query ("select * from zonas order by

desc_zona ");16. while ($row=mysql_fetch_array($res))17. $select1 .= "<option

value=$row[cod_zona]>$row[desc_zona]</option>";18.  19. $res= mysql_query ("select * from categorias

order by desc_cat ");20. while ($row=mysql_fetch_array($res))21. $select2 .= "<option

value=$row[cod_cat]>$row[desc_cat]</option>";22.  23. ?>24.  25. <form method="post" action="ultimores3.php">26.   <table>27.   <tr>28.   <td>Elige la Zona:</td>

Page 58: Busquedad Php

29.   <td>30.     <?php31.     echo '<select name="selNZ"><option value=0

selected>Todas las Zonas</option>'.$select1.'</select>';

32.      ?>  33.    </td>34.    </tr>35.    <tr>36.     <td>Elige la Categoria:</td>37.   <td>38.     <?php39.     echo '<select name="selNC"><option value=0

selected>Todas las Categorias</option>'.$select2.'</select>';

40.      ?>  41.    </td>42.    </tr>43.    <tr>44.    <td colspan="2"><input type="submit"

value="Buscar" name="subbuscar" /></td>45.      </tr>46.      </table>47.      48. </form>

Hola! Gracias por responder... esta tarde estuve tratando de resolver el problema y he conseguido algo... logre que en base a lo elegido en las listas desplegables, me muestre el registro corespondiente a la tabla medicos. Es decir, si en la lista zona selecciono Capital federal.. y en la de categorias Clinicas y Sanatorios.. me muestra los registros que coinciden con la busqueda... pero ahora me surgio otro problema...y es que si en la lista de zonas selecciono "todas las zonas" y en la de catagerias "clinicas y sanatorios" o cualquier otra.. no me aparece nada. Lo mismo sucede si en las dos listas elijo "todas las zonas" y "todas las categorias".. es decir, siempre que en una de las listas (o en las dos) seleccione la opcion "todas" no me aparece nada...

Cambie el formulario por este:

Mostrar/Ocultar Número de línea | Expandir/Contraer | Seleccionar todo

1. <?php2. $servidor= "localhost";3. $root= "root";4. $contraseña= "****";5. $db= "***";6.  7. $coneccion = mysql_connect('localhost', 'root',

'***');8. if (!$db)//ERROR QUE SE MUESTRA SI NO SE CONECTA A LA

BASE DE DATOS9.   {

Page 59: Busquedad Php

10.      echo "Error: No se ha podido conectar a la base de datos.  Por favor, prueba de nuevo más tarde.";

11.      exit;12.   }13. @ mysql_select_db("***");//SELECCIONA LA BASE DE

DATOS A UTILIZAR14.  15. $res= mysql_query ("select * from zonas order by

desc_zona ");16. while ($row=mysql_fetch_array($res))17. $select1 .= "<option

value=$row[cod_zona]>$row[desc_zona]</option>";18.  19. $res= mysql_query ("select * from categorias

order by desc_cat ");20. while ($row=mysql_fetch_array($res))21. $select2 .= "<option

value=$row[cod_cat]>$row[desc_cat]</option>";22.  23. ?>24.  25. <form method="post" action="ultimores3.php">26.   <table>27.   <tr>28.   <td>Elige la Zona:</td>29.   <td>30.     <?php31.     echo '<select name="selNZ"><option value=0

selected>Todas las Zonas</option>'.$select1.'</select>';

32.      ?>  33.    </td>34.    </tr>35.    <tr>36.     <td>Elige la Categoria:</td>37.   <td>38.     <?php39.     echo '<select name="selNC"><option value=0

selected>Todas las Categorias</option>'.$select2.'</select>';

40.      ?>  41.    </td>42.    </tr>43.    <tr>44.    <td colspan="2"><input type="submit"

value="Buscar" name="subbuscar" /></td>45.      </tr>46.      </table>47.      48. </form>

Page 60: Busquedad Php

Hola!! muchas gracias!! solucione el problema de esta forma:

Mostrar/Ocultar Número de línea | Expandir/Contraer | Seleccionar todo

1. <?php2. $servidor= "localhost";3. $root= "root";4. $contraseña= "";5. $db= "empresa6.  7. $coneccion = mysql_connect('localhost', 'root', ' ');8. if (!$db)//ERROR  SI NO SE CONECTA A LA BASE DE DATOS9.  {10.     echo "Error: No se ha podido conectar a la

base de datos.  Por favor, prueba de nuevo más tarde.";

11.     exit;12.  }13. @ mysql_select_db("empresa");//SELECCIONA LA BASE

DE DATOS A UTILIZAR14. ?>15.  16. <?php17. $sql = "SELECT * FROM medicos, zonas, categorias

where medicos.cod_zona=zonas.cod_zona and categorias.cod_cat=medicos.cod_cat ";

18. if ($HTTP_POST_VARS['selZona']) 19.    $sql .= " AND medicos.cod_zona = " .

$_POST['selZona'];20.  21. if ($HTTP_POST_VARS['selCat']) 22.    $sql .= " AND medicos.cod_cat = "  .

$_POST['selCat'];23.  24.  25. $sql .= " ORDER BY nombre_med ASC";26. $tabla = mysql_query($sql);27.  28. if(mysql_num_rows($tabla)==0) {29. echo "No se encontraron resultados.";30. exit;31. }32.  33. // imprimir resultados normalmente34.       echo '<table width="90%" border="0"

align="center" class="txt-verd-08">';35.       echo '    <tr>';36.       echo '      <td height="30"

align="center"><strong>ID</strong></td>';37.       echo '      <td height="30"

align="center"><strong>PROVINCIA</strong></td>';

Page 61: Busquedad Php

38.       echo '      <td height="30" align="center"><strong>LOCALIDAD</strong></td>';

39.       echo '  </tr>';40.  41.  42. while ($row = mysql_fetch_array($tabla)) {43. ?>44. <?php45. echo '  <tr>';46.    echo '    <td align="center">' .

$row['nombre_med']. '</td>';47.    echo '    <td align="center">' .

$row['direccion_med']. '</td>';48.    echo '    <td align="center">' .

$row['telefono_med']. '</td>';49.    echo '  </tr>';50. ?>51. <?php52. }53.  54. mysql_free_result($tabla);55. mysql_close($coneccion);56. ?>57. </table>