Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2012, 21:58
3ricks0ul
 
Fecha de Ingreso: junio-2012
Mensajes: 90
Antigüedad: 11 años, 10 meses
Puntos: 2
Problema con búsquedas PHP

Hola!, nuevamente consultado, verán, hizé una página donde hizé un switch de un valor donde dependiendo la opción seleccionada sea el tipo de búsqueda, son 4 tipos, al hacer el switch el primer tipo de búsqueda que es por fecha, no tengo problemas, el problema es cuando se pasa al case 2, que es de búsqueda por otro parámetro, ahí cuando le doy buscar y pongo algo en el cuadro de búsqueda no me lanza nada, en cambio si le doy buscar sin ponerle nada si me lanza todos los resultados, utilize un query con LIKE, aqí parte del código...


$idview=$_POST['text1'];
$_POST['busqueda'];

switch ($idview){

case 1:
include ('config.inc');
@mysql_select_db($dbname) or die( "Unable to select database");
$query="SELECT `laboratorios`.`id`,
DATE_FORMAT(`laboratorios`.`fecha`, '%M %D, %Y') AS `fecha`,
CONCAT(`hora_entrada`,\":00 - \",`hora_salida`,\":00\") AS `periodo`,
CONCAT(`docentes`.`nombre`,\" \",`docentes`.`apellido`) AS `docente`,
CONCAT(`responsables`.`nombre`,\" \",`responsables`.`apellido`) AS `responsable`,
`especialidades`.`nombre` AS `especialidad`,
`materias`.`nombre` AS `materia`,
`numero_alumnos` FROM `laboratorios`
JOIN `docentes` ON `docentes`.`id` = `laboratorios`.`docente`
JOIN `responsables` ON `responsables`.`id` = `laboratorios`.`responsable`
JOIN `materias` ON `materias`.`id` = `laboratorios`.`materia`
JOIN `especialidades` ON `especialidades`.`id` = `laboratorios`.`especialidad`
WHERE `fecha` LIKE '%$_POST[busqueda]%'";
$result=mysql_query($query);
$num=mysql_num_rows($result);
?>
<table border="0px" cellspacing="0" cellpadding="4px">
<tr>
<th class="tdnormal2">Fecha #</th>
<th class="tdnormal2">Docente</th>
<th class="tdnormal2">Responsable</th>
<th class="tdnormal2">Especialidad</th>
<th class="tdnormal2">Materia</th>
</tr>

<?php
$i=0;
while ($i < $num) {

$f1=mysql_result($result,$i,"fecha");
$f2=mysql_result($result,$i,"docente");
$f3=mysql_result($result,$i,"responsable");
$f4=mysql_result($result,$i,"especialidad");
$f5=mysql_result($result,$i,"materia");
?>
<tr>
<td class="tdnormal2"><a class="rfqlink" href="viewrequest.php?ID=<?php echo $f1; ?>&St=<?php //echo $f8; ?>"><?php echo $f1; ?></a></td>
<td align="center" class="tdnormal2"><?php echo $f2; ?></td>
<td align="center" class="tdnormal2"><?php echo $f3; ?></td>
<td align="center" class="tdnormal2"><?php echo $f4; ?></td>
<td align="center" class="tdnormal2"><?php echo $f5; ?></td>
</tr>
<?php
$i++;
}
?>
</table>
<?php
break;
case 2:
include ('config.inc');
@mysql_select_db($dbname) or die( "Unable to select database");
$query="SELECT `laboratorios`.`id`,
DATE_FORMAT(`laboratorios`.`fecha`, '%M %D, %Y') AS `fecha`,
CONCAT(`hora_entrada`,\":00 - \",`hora_salida`,\":00\") AS `periodo`,
CONCAT(`docentes`.`nombre`,\" \",`docentes`.`apellido`) AS `docente`,
CONCAT(`responsables`.`nombre`,\" \",`responsables`.`apellido`) AS `responsable`,
`especialidades`.`nombre` AS `especialidad`,
`materias`.`nombre` AS `materia`,
`numero_alumnos` FROM `laboratorios`
JOIN `docentes` ON `docentes`.`id` = `laboratorios`.`docente`
JOIN `responsables` ON `responsables`.`id` = `laboratorios`.`responsable`
JOIN `materias` ON `materias`.`id` = `laboratorios`.`materia`
JOIN `especialidades` ON `especialidades`.`id` = `laboratorios`.`especialidad`
WHERE `responsable` LIKE '%$_POST[busqueda]%'";
$result=mysql_query($query);
$num=mysql_num_rows($result);
?>
<table border="0px" cellspacing="0" cellpadding="4px">
<tr>
<th class="tdnormal2">Fecha </th>
<th class="tdnormal2">Docente</th>
<th class="tdnormal2">Responsable</th>
<th class="tdnormal2">Especialidad</th>
<th class="tdnormal2">Materia</th>
</tr>
<?php
$i=0;
while ($i < $num) {

$f1=mysql_result($result,$i,"fecha");
$f2=mysql_result($result,$i,"docente");
$f3=mysql_result($result,$i,"responsable");
$f4=mysql_result($result,$i,"especialidad");
$f5=mysql_result($result,$i,"materia");
?>
<tr>
<td class="tdnormal2"><a class="rfqlink" href="viewrequest.php?ID=<?php echo $f1; ?>&St=<?php //echo $f8; ?>"><?php echo $f1; ?></a></td>
<td align="center" class="tdnormal2"><?php echo $f2; ?></td>
<td align="center" class="tdnormal2"><?php echo $f3; ?></td>
<td align="center" class="tdnormal2"><?php echo $f4; ?></td>
<td align="center" class="tdnormal2"><?php echo $f5; ?></td>
</tr>
<?php
$i++;
}
?>
</table>
<?php
break; default;
echo "error";
?>
<?php
}
?>


No sé si me puedan ayudar, ya verifiqué que el valor del campo de búsqueda sea correcto y coinsida con los valores de las tablas y sí coinsiden, me gustaría me puedíeran orientar.....

pd: Sé que es mucho código, sólo lo estoy testeando, pero lo optimizaré :p
saludos....