Mi problema es que al enviar la consulta desde un formulario, simpre me sale que la consulta: no ahy resultados: Vualva a hacer la consulta.
El codigo del formulario es el siguiente:
Código HTML:
Estilo26 Estilo26Elija una o Varias Dependencias:<br />
<?
mysql_connect("localhost","pdu1906","netcom");
mysql_select_db("pdu1906_1");
?>
<?
$result=mysql_query("select * from dependenciasl");
?>
<select name="dependencia" size="4" multiple="multiple" id="dependencia">
<option>Todas</option>
<?
while ($row=mysql_fetch_array($result))
{
echo '<option value="'.$row["dependencia"].'">'.$row["dependencia"].'</option>
';
}
mysql_free_result($result)
?>
</select>
Tipo de Incidencias que Desea buscar: <br />
<?
mysql_connect("localhost","pdu1906","netcom");
mysql_select_db("pdu1906_1");
?>
<?
$result=mysql_query("select * from tipoincidencia");
?>
<select name="inicidencia" size="3" multiple="multiple" id="inicidencia">
<option value="Todas">Todas</option>
<?
while ($row=mysql_fetch_array($result))
{
echo '<option value="'.$row["incidencia"].'">'.$row["incidencia"].'</option>
';
}
mysql_free_result($result)
?>
</select>
Equipo al que esta Afectado la incidencia: <select onchange="cambiar()" name="equipo" id="equipo">
<option>Seleccionar</option>
<option value="CPU">CPU</option>
<option value="Monitor">Monitor</option>
<option value="Impresora">Impresora</option>
<option value="Teclado">Teclado</option>
<option value="Mouse">Mouse</option>
<option value="Otros">Otros</option>
</select>
Marca:
<select name="marca" id="marca">
<option selected="selected">Seleccionar</option>
<option value="HP">HP</option>
<option value="Acer">Acer</option>
<option value="Tatung">Tatung</option>
<option value="Compaq">Compaq</option>
<option value="Clon">Clon</option>
<option value="IBM">IBM</option>
<option value="CDR">CDR</option>
</select>
Modelo:
<select name="modelo" id="modelo">
<option>Seleccionar</option>
<option value="HP">HP</option>
<option value="Acer">Acer</option>
<option value="Tatung">Tatung</option>
<option value="Compaq">Compaq</option>
<option value="Clon">Clon</option>
<option value="IBM">IBM</option>
<option value="CDR">CDR</option>
</select>
Elija si necesita filtrar por Prioridad <select name="prioridad" id="prioridad">
<option value="*" selected="selected">Seleccionar</option>
<option value="Alta">Alta</option>
<option value="Baja">Baja</option>
<option value="Normal">Normal</option>
</select>
Responsable <select name="responsable" id="responsable">
<option>Seleccionar</option>
<option value="Marcelo">Marcelo</option>
<option value="Juan Pablo">Juan Pablo</option>
<option value="Alberto">Alberto</option>
<option value="NetCom">NetCom</option>
</select>
Fecha desde:
<label>
<select name="fechainicio" id="fechainicio">
<option>Seleccionar</option>
<option value="Enero">Enero</option>
<option value="Febrero">Febrero</option>
<option value="Marzo">Marzo</option>
<option value="Abril">Abril</option>
<option value="Mayo">Mayo</option>
<option value="Junio">Junio</option>
<option value="Julio">Julio</option>
<option value="Agosto">Agosto</option>
<option value="Septiembre">Septiembre</option>
<option value="Octubre">Octubre</option>
<option value="Noviembre">Noviembre</option>
<option value="Diciembre">Diciembre</option>
</select>
</label>
Fecha hasta:
<select name="fechafinal" id="fechafinal">
<option>Seleccionar</option>
<option value="Enero">Enero</option>
<option value="Febrero">Febrero</option>
<option value="Marzo">Marzo</option>
<option value="Abril">Abril</option>
<option value="Mayo">Mayo</option>
<option value="Junio">Junio</option>
<option value="Julio">Julio</option>
<option value="Agosto">Agosto</option>
<option value="Septiembre">Septiembre</option>
<option value="Octubre">Octubre</option>
<option value="Noviembre">Noviembre</option>
<option value="Diciembre">Diciembre</option>
</select>
<input type="submit" name="button" id="button" value="ENVIAR DATOS" />
El codigo donde recivo los datos y los proceso es el siguiente:
Código PHP:
<?
$bd_servidor = "localhost";
$bd_usuario = "pdu1906";
$bd_contrasenya = "netcom";
$bd_bdname = "pdu1906_1";
$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contrasenya);
mysql_select_db($bd_bdname,$link);
?>
<?php
$dependencia= $_POST['dependencia'];//te traes por POST los datos desde el formulario
$incidencia= $_POST['incidencia'];
$nombre= $_POST['nombre'];
$equipo= $_POST['equipo'];
$marca= $_POST['marca'];
$modelo= $_POST['modelo'];
$prioridad= $_POST['prioridad'];
$responsable= $_POST['responsable'];
$fechainicio= $_POST['fechainicio'];
$fechafinal= $_POST['fechafinal'];
$strqry = "SELECT * FROM cerradas where 1 = 1"; //divides la consulta y según se escriba o no algo en un campo del formulario, cargo o no esa parte de la consulta; pero para evitar problemas de sintaxis, añado 1 = 1 en la primera consulta, pues uno nunca es menor que uno y con AND a continuación no altera el resultado de la consulta
if ($dependencia !==""){//si no se rellena este campo del formulario
$strqry.= " AND dependencia = '$dependencia'";}//añade esto a la consulta
if ($incidencia !==""){//si se añade este otro
$strqry.= " AND incidencia ='$incidencia'";}//añade esto (esto es para un campo numérico campo numérico)
if ($nombre !=="") {
$strqry.= " AND nombre ='$nombre'";}//para campo numérico
if ($equipo !==""){
$strqry.= " AND equipo ='$equipo'";}//para campo de texto, que debe ser exacto
if ($marca !==""){
$strqry.= " AND marca ='$marca'";}//para campo de texto, que debe ser exacto
if ($modelo !==""){
$strqry.= " AND modelo ='$modelo'";}//para campo de texto, que debe ser exacto
if ($prioridad !==""){
$strqry.= " AND prioridad ='$prioridad'";}//para campo de texto, que debe ser exacto
if ($responsable !==""){
$strqry.= " AND responsable ='$responsable'";}//para campo de texto, que debe ser exacto
if ($fechainicio !==""){
$strqry.= " AND fechainicio ='$fechainicio'";}//para campo de texto, que debe ser exacto
if ($fechafinal !==""){
$strqry.= " AND fechafinal='$fechafinal'";}//para campo de texto, que debe ser exacto
$sqry = mysql_query($strqry,$link);//ahora lanzas la consulta
$encontrados =mysql_num_rows ($sqry);//cuentas el número de resultados
if ($encontrados < 1) {echo "no hay resultados: vuelva a hacer la búsqueda";} else {while ($row = mysql_fetch_assoc($sqry)){ //muestras lo que sea;}}//si no hay ninguno, avisas; si hay alguno tendras que mostrarlo con echo
//muestro los echo......
}}
?>
Lo que hace este script es filtrar por los campos que elija en el formulario, de esta manera puedo buscar en forma independiente por cualquiera de los campos, o su vez por varios campos a la vez.
Espero una ayuda para solucionar el incoveniente.... gracias