Foros del Web » Programando para Internet » PHP »

ayuda con este buscador..

Estas en el tema de ayuda con este buscador.. en el foro de PHP en Foros del Web. Hola, tengo la sgte consulta: estoy tratando de hacer un buscador dentro de las difirentes tablas de mi base de datos, haber si me orientan ...
  #1 (permalink)  
Antiguo 19/03/2003, 23:56
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 2 meses
Puntos: 1
Mensaje ayuda con este buscador..

Hola, tengo la sgte consulta:
estoy tratando de hacer un buscador dentro de las difirentes tablas de mi base de datos, haber si me orientan un poco,
este es el código: (Mi base de datos cuenta con tres tablas , Personal,Seccion,Cargos)
Código PHP:
<form  method="post">
           Buscar en nuestra Base de Datos
          Ingresar Rut:
         <input type="text" name="table" value="<? echo $table?>">
        <select name="list">
        <option value="<?echo $PHP_SELF ?>">Seleccionar Tabla
        <option value="<?echo $PHP_SELF ?>?tb=Personal">Personal</option>
        <option value="<?echo $PHP_SELF ?>?tb=Sección">Sección </option>
        <option value="<?echo $PHP_SELF ?>?tb=Cargos">Cargos </option>
        </select><input type=button value="Ir" onClick="location.href=this.form.list.options.value" name="button">
</form>
<?php
switch ($tb){
case 
Personal:
include(
"conex.php");
$link=conexion();
$result=mysql_query("select * from personal where PERSONAL_RUT LIKE '$table' ",$link);
if (
$row=mysql_fetch_array($result)){
echo 
$row["PERSONAL_RUT"]."\n".$row["PERSONAL_NOMBRE"]."<br>\n".$row["SECCION_ID"]."\n".$row["SECCION_NOMBRE"]."<br><p>\n";
}
else{
echo
"No se han encontrado registros";
}
break;

case 
Seccion:
bla bla
break;

case 
Cargos:
bla,bla
break;
}
?>
en este caso el usuario ingresa un rut xxxx, para poder conocer el nombre de esa persona pero pasa lo sgte:
Al enviar los valores del form (la variable $table no la traspaza , no asi la opcion indicada por ejemplo en este caso tb=personal)por lo tanto
no me valida correctamente la $table """No se han encontrado registros";"", .

- otra cosa que me gustaría hacer es que el usuario pueda ingresar cualquier campo (así como el rut) , fecha de entrada, edad, sueldo,rut, y que me muestre los posibles candidatos
que cumplan con esos criterios, en ese caso como seria la consulta sql que debiera realizar?

Podría realizar algo así?:
$result=mysql_query("select * from personal where PERSONAL_RUT and PERSONAL_FECHA_ENTRADA and PERSONAL_SUELDO LIKE '$table' ",$link);

esta consulta no está correcta, de que manera se puede expresar.


Gracias y como siempre espero algun sabio consejo..
__________________
Cristian...
  #2 (permalink)  
Antiguo 21/03/2003, 15:41
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Tu primer problema es porque no estas enviando el formulario. Lo unico que haces es una redireccion a la URL del valor de la opcion seleccionada. El codigo que tienes es equivalente a una lista de <a href="">. Tienes varias soluciones, todas ellas HTML+Javascript:

1.- Poner en lugar de un boton normal un boton submit, quitale el onclick y poner un evento onsubmit al formulario donde le asignes el valor de la opcion seleccionada a la propiedad action del objeto form.

2.- En el onclick concatenar al valor de la opcion el texto '&table=' y el valor del campo table del formulario.

3.- Y mas sencilla. Cambia el boton por un boton submit sin onclick, renombra la lista a tb y pon como action del formulario <?echo $PHP_SELF ?>.

Y si tienes alguna duda sobre esto, pregunta en el foro de javascript.

Y para tu segundo problema, mira en el manual en www.mysql.com la sintaxis del select, donde tambien te explica los where.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 23/03/2003, 23:38
 
Fecha de Ingreso: enero-2003
Ubicación: Santiago
Mensajes: 301
Antigüedad: 21 años, 2 meses
Puntos: 1
Ok, gracias ..tienes razón ...
__________________
Cristian...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:22.