PHP - BUSCADOR PHP POR CAMPOS

   
Vista:
Imágen de perfil de Sandra

BUSCADOR PHP POR CAMPOS

Publicado por Sandra ssanchezc1984@gmail.com (50 intervenciones) el 14/05/2015 12:53:42
Buenas de nuevo, estoy intentando hacer un buscador que me busque en diferentes campos.. Pro me sale siempre que no hay coincidencias. Os pego el código de las dos páginas.

Página donde está el buscador
(Es una web en phpnuke por lo que el buscador es un módulo mas)

1
2
3
4
5
6
7
8
9
<form action="http://gestion-acrasesores.s15c4aed.alojamientovirtual.com/modules.php?name=buscatelem" method="post">
			<input type="text" name="txtBuscar" placeholder="Buscador..."/>
<select NAME='pqbuscar'>
<option SELECTED>Id
<option>RAZON_SOCIAL
<option>TELEFONO1
<option>E-MAIL1
</select>
<input type="submit" value="Buscar">

Página que realiza la búsqueda

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$xqbuscar=$_POST["xqbuscar"];
$busqueda = ISSET($_POST['txtBuscar']) ? $_POST['txtBuscar'] : null;
			$conexion = mysql_connect("localhost", "s15c4aed_TELEM", "password");
			mysql_select_db("s15c4aed_TELEMARKETING",$conexion);
			$result = mysql_query("SELECT * FROM TELEMEMPRESAS WHERE".$xqbuscar." LIKE '%".$busqueda."%'");
 
                        if ($busqueda != ""){
				if (mysql_affected_rows($conexion) > 0){
					echo "<b>--SE HAN ENCONTRADO ".mysql_num_rows($result)." REGISTROS.--</b><br><BR><BR>";
					?>
<TABLE><th width=85>Razón Social</th> <th width=250>Teléfono1</th><th width=150>Teléfono2</th><th width=210>E-Mail1</th><tr></table>
<?
					while($row = mysql_fetch_array($result)){
						echo "<table>
      <td width='200'><a href='http://gestion-acrasesores.s15c4aed.alojamientovirtual.com/modules.php?name=vermodifempresa&idcli=$row[ID_CLIENTE]' target='_blank'><FONT COLOR='blue'><b>".$row['RAZON_SOCIAL']."</b></font></a></td>
      <td width='200'>".$row['TELEFONO1']."</td>
      <td width='200'>".$row['TELEFONO2']."</td>
      <td width='200'>".$row['E-MAIL1']."</td>
      </tr>
</TABLE><br>";
					}
				} else{
					echo "No existen coincidencias.";
				}
				mysql_close($conexion);
			}
?>

A ver que pasa ahi....

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alberto

BUSCADOR PHP POR CAMPOS

Publicado por Alberto (221 intervenciones) el 14/05/2015 18:58:37
Hola...

Solo estas buscando por la caja de texto que tienes en tu formulario, lo cual no importa que opción elijas, sino controlas la forma de buscar de acuerdo a lo seleccionado tendrás resultados raros en tu búsqueda, mi consejo es que también captures el valor de tu combo, eh de suponer que si selecciono email entonces va a buscar por mi correo electrónico y así sucesivamente con los demás campos.

Para ello debes ponerle un valor a cada opción de tu combo; es decir...

1
2
3
4
5
6
<select NAME='pqbuscar'>
	<option value='1' SELECTED>Id
	<option value='2'>RAZON_SOCIAL
	<option value='3'>TELEFONO1
	<option value='4'>E-MAIL1
</select>

De esa manera cuando al archivo PHP que realiza todo tu proceso solo es cuestión de hacer un SWITCH para saber bajo que forma buscar...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch($opcion){
	case 1 :
		// Buscar por ID
	break;
	case 2 :
		// Buscar por RAZON SOCIAL
	break;
	case 3 :
		// Buscar por TELEFONO
	break;
	case 4 :
		// Buscar por EMAIL
	break;
	default : break;
}

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sandra

BUSCADOR PHP POR CAMPOS

Publicado por Sandra ssanchezc1984@gmail.com (50 intervenciones) el 15/05/2015 09:23:43
Aaah, perfecto! lo probaré, entonces en cada case he de poner la sentencia sql que busca por cada campo... lo probaré. Gracias, os comento si me ha fucionado :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sandra

BUSCADOR PHP POR CAMPOS

Publicado por Sandra ssanchezc1984@gmail.com (50 intervenciones) el 15/05/2015 10:12:55
Pos na, no funciona..me muestra el valor del textbox pero el del select no, y estan dentro de un form... se supone que se pasa por $_POST no? pego el codigo nuevo con el switch :P
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
$xqbuscar=$_POST["xqbuscar"];
echo $xqbuscar;
$busqueda = ISSET($_POST['txtBuscar']) ? $_POST['txtBuscar'] : null;
			$conexion = mysql_connect("localhost", "s15c4aed_TELEM", "TELEMASERGIA111");
			echo $busqueda;
			mysql_select_db("s15c4aed_TELEMARKETING",$conexion);
		   switch($xqbuscar){
			   case 1:
			   $result = mysql_query("SELECT * FROM TELEMEMPRESAS WHERE Id LIKE '%".$busqueda."%'");
			   break;
			     case 2:
			   $result = mysql_query("SELECT * FROM TELEMEMPRESAS WHERE RAZON_SOCIAL LIKE '%".$busqueda."%'");
			   break;
			     case 3:
			   $result = mysql_query("SELECT * FROM TELEMEMPRESAS WHERE TELEFONO1 LIKE '%".$busqueda."%'");
			   break;
			     case 4:
			   $result = mysql_query("SELECT * FROM TELEMEMPRESAS WHERE EMAIL1 LIKE '%".$busqueda."%'");
			   break;
		   }
 
                        if ($busqueda != ""){
				if (mysql_affected_rows($conexion) > 0){
					echo "<b>--SE HAN ENCONTRADO ".mysql_num_rows($result)." REGISTROS.--</b><br><BR><BR>";
					?>
<TABLE><th width=85>Razón Social</th> <th width=250>Teléfono1</th><th width=150>Teléfono2</th><th width=210>E-Mail1</th><tr></table>
<?
					while($row = mysql_fetch_array($result)){
						echo "<table>
      <td width='200'><a href='http://gestion-acrasesores.s15c4aed.alojamientovirtual.com/modules.php?name=vermodifempresa&idcli=$row[Id]' target='_blank'><FONT COLOR='blue'><b>".$row['RAZON_SOCIAL']."</b></font></a></td>
      <td width='200'>".$row['TELEFONO1']."</td>
      <td width='200'>".$row['TELEFONO2']."</td>
      <td width='200'>".$row['E-MAIL1']."</td>
      </tr>
</TABLE><br>";
					}
				} else{
					echo "No existen coincidencias.";
				}
				mysql_close($conexion);
			}
?>

Algo falla ahi y no lo veo como siempre jeje, investigare a ver si lo saco..
Thanks!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sandra

BUSCADOR PHP POR CAMPOS

Publicado por Sandra ssanchezc1984@gmail.com (50 intervenciones) el 15/05/2015 17:22:15
Ya está! como siempre una tonteria, la variable que recoje el campo por el que buscar.... no la estaba recojiendo como toca en el $_POST jejeje ya funciona y por consiguiente el otro buscador que tenia tambien lo puedo arreglar. Oleole!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar