Foros del Web » Programando para Internet » PHP »

busqueda por fechas

Estas en el tema de busqueda por fechas en el foro de PHP en Foros del Web. Hola de nuevo, me aparece este error al querer buscar por fechas: 1ERROR AL BUSCAR LA INFORMACION: You have an error in your SQL syntax; ...
  #1 (permalink)  
Antiguo 07/04/2011, 12:15
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 9 meses
Puntos: 2
Pregunta busqueda por fechas

Hola de nuevo, me aparece este error al querer buscar por fechas:

1ERROR AL BUSCAR LA INFORMACION: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE '%0000-00-00%'' at line 1

Pero si busco por numero de permiso o nombre del material si me da el resultado de la busqueda.

Código PHP:
  $consulta mysql_query("SELECT * FROM octava WHERE $campo LIKE '%$BUSQUEDA%'");
    if (!
$consulta) {die("ERROR AL BUSCAR LA INFORMACION: " mysql_error());} 
De esta forma hago la consulta para iniciar una paginacion; el error solo me aparece cuando busco por fechas, estoy escribiendo las fechas con el formato aaaa-mm-dd, que es el formato por defecto en mysql.

Que podra ser la falla?
  #2 (permalink)  
Antiguo 07/04/2011, 12:28
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: busqueda por fechas

Mostranos que tiene $busqueda
  #3 (permalink)  
Antiguo 07/04/2011, 12:33
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: busqueda por fechas

Aqui esta el html donde se origina la busqueda:

Código HTML:
<!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=utf-8" />
<title>BUSCAR PERMISO</title>

<script type="text/javascript">
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
</script>
<script>
function valida_envia(){
	
	if (document.form1.BUSCAR.value.length==0){
		alert("DEBE INDICAR UN VALOR")
		document.form1.BUSCAR.focus()
		return 0;
	}
		//el formulario se envia
	alert("CONSULTA ENVIADA");
	document.form1.submit();
}
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
</script>

</head>

<body bgcolor="#CCCCCC" onload = "document.forms[0].elements[0].focus()">
<form id="form1" name="form1" method="post" action="search_permiso_toxicos.php">
  <table width="481" border="1" cellspacing="1" cellpadding="1">
    <tr>
      <td width="473" class="TITULOTABLA" scope="col"><p>BUSCAR POR: 
          <label for="select"></label>
          <label for="select"></label>
          <select name="SELECCIONAR" id="SELECCIONAR">
            <option selected="selected">NUMERO DE AUTORIZACION</option>
            <option>NOMBRE DEL MATERIAL</option>
            <option>FECHA DE INICIO</option>
            <option>FECHA DE TERMINACION</option>
          </select>
          <label for="textfield4"></label>
          <input name="BUSCAR" type="text" id="textfield4" size="20" maxlength="14" />
      </p>
      <p align="center">
        <input onclick="valida_envia()" type="button" name="button" id="button" value="BUSCAR" />
      </p></td>
    </tr>
  </table>
</form>
<p>&nbsp;</p>
</body>
</html> 
Y este es el php donde se imprime el resultado:

Código PHP:
<?php

//////////////////////////////////////
if (isset ($_GET['BUSCAR'])) { 
$BUSQUEDA $_GET['BUSCAR'];}
else
$BUSQUEDA $_POST['BUSCAR'];}
///////////////////////////////////////
if (isset ($_GET['SELECCIONAR'])) { 
$seleccion $_GET['SELECCIONAR'];}
else
$seleccion $_POST['SELECCIONAR'];}
//////////////////////////////////

//Limito la busqueda 
$TAMANO_PAGINA 1
$pagina = ( (!isset( $_GET["pagina"] ) ||  empty( $_GET["pagina"] ) )? '0' :  $_GET["pagina"]  );
//examino la página a mostrar y el inicio del registro a mostrar 
//$pagina = $_GET["pagina"]; 
if (!$pagina) { 
        
$inicio 0
        
$pagina=1

else { 
       
$inicio = ($pagina 1) * $TAMANO_PAGINA
}
?>
<!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=utf-8" />
<title>BUSQUEDA</title>

</head>

<body bgcolor="#CCCCCC">
<p>
 <?php
$conexion 
mysql_connect("localhost","root","");
if (!
$conexion) {die("Fallo la conexión a la Base de Datos: " mysql_error());}

$seleccionar_bd mysql_select_db("pruebas"$conexion);
if (!
$seleccionar_bd) {die("Fallo la selección de la Base de Datos: " mysql_error());}

switch (
$seleccion){
    
    case 
"NUMERO DE AUTORIZACION":
    
$campo "NUM_AUTORIZACION";
    break;
    
    case 
"NOMBRE DEL MATERIAL":
    
$campo "NOMBRE_COMERCIAL";
    break;
    
    case 
"NECHA DE INICIO":
    
$campo "DESDE";
    break;
    
    case 
"FECHA DE TERMINACION":
    
$campo "HASTA";
    break;
    
}

    
$consulta mysql_query("SELECT * FROM toxicos_sustancias_peligrosas WHERE $campo LIKE '%$BUSQUEDA%'");
    if (!
$consulta) {die("1ERROR AL BUSCAR LA INFORMACION: " mysql_error());}

    
$num_total_registros mysql_num_rows($consulta); 
    
//calculo el total de páginas 
    
$total_paginas ceil($num_total_registros $TAMANO_PAGINA); 

    
//pongo el número de registros total, el tamaño de página y la página que se muestra 
    
echo "Número de registros encontrados: " $num_total_registros "<br>"
    echo 
"Se muestran páginas de " $TAMANO_PAGINA " registro cada una<br>"
    echo 
"Mostrando la página " $pagina " de " $total_paginas "<p>"

switch (
$seleccion) {

    case 
"NUMERO DE AUTORIZACION":
        
        
$consulta mysql_query("SELECT * FROM toxicos_sustancias_peligrosas WHERE $campo LIKE '%$BUSQUEDA%' LIMIT $inicio, $TAMANO_PAGINA");
        
        if (!
$consulta) {die("ERROR AL BUSCAR LA INFORMACION: " mysql_error());}
        
        
$row mysql_fetch_array($consulta);
        
        break;
        
        
    case 
"NOMBRE DEL MATERIAL":
    
        
$consulta mysql_query("SELECT * FROM toxicos_sustancias_peligrosas WHERE $campo LIKE '%$BUSQUEDA%' LIMIT $inicio, $TAMANO_PAGINA");
        
        if (!
$consulta) {die("2ERROR AL BUSCAR LA INFORMACION: " mysql_error());}

        
$row mysql_fetch_array($consulta);
        
        break;
        
        
    case 
"FECHA DE INICIO":
        
$insert mysql_query("SELECT * FROM toxicos_sustancias_peligrosas WHERE $campo LIKE '%$BUSQUEDA%' LIMIT $inicio, $TAMANO_PAGINA");
        
        if (!
$insert) {die("ERROR AL BUSCAR LA INFORMACION: " mysql_error());}
        
        
$row mysql_fetch_array($insert);
        
        break;
        
        
    case 
"FECHA DE TERMINACION":
       
        
$insert mysql_query("SELECT * FROM toxicos_sustancias_peligrosas WHERE $campo LIKE '$BUSQUEDA' LIMIT $inicio, $TAMANO_PAGINA");
        
        if (!
$insert) {die("ERROR AL BUSCAR LA INFORMACION: " mysql_error());}
        
        
$row mysql_fetch_array($insert);
        
        break;        
}

?>
</p>
<table width="741" border="1" cellpadding="1" cellspacing="1">
<thead>
  <tr>
    <th colspan="3" class="TITULOTABLA">PERMISO DE IMPORTACION DE SUSTANCIAS TOXICAS
      </td>
    </th>
    <td colspan="2" class="TITULOTABLA">FECHA DE EXPEDICION:
      <?php
    
echo $row['FECHA_EXPEDICION'];
      
?></td>
  </tr>
  </thead>
  <tr>
    <td colspan="3"><span class="TITULOTABLA">NUMERO DE AUTORIZACION:
     <?php
    
echo $row['NUM_AUTORIZACION']; 
      
?>
    </span></td>
    <td width="164"><span class="TITULOTABLA">VIGENCIA DESDE:
      <?php
    
echo $row['DESDE']; 
      
?>
    </span></td>
    <td width="172"><span class="TITULOTABLA">HASTA:
      <?php
    
echo $row['HASTA']; 
      
?>
    </span></td>
  </tr>
  <tr>
    <td colspan="5"><span class="TITULOTABLA">LIC. SAN:
      <?php
    
echo $row['LIC_SAN']; 
      
?>
    </span></td>
  </tr>
  <tr>
    <td colspan="3"><span class="TITULOTABLA">NOMBRE COMERCIAL:
      <?php
    
echo $row['NOMBRE_COMERCIAL']; 
      
?>
    </span></td>
    <td colspan="2"><span class="TITULOTABLA">NUMERO CAS:
     <?php
    
echo $row['NUM_CAS']; 
      
?>
    </span></td>
  </tr>
  <tr>
    <td colspan="3"><span class="TITULOTABLA">COMPONENTES:
      <?php
    
echo $row['COMPONENTES'];
      
?>
    </span></td>
    <td><span class="TITULOTABLA">CATEGORIA TOXICOLOGICA:
      <?php
    
echo $row['CATEGORIA_TOXICOLOGICA']; 
      
?>
    </span></td>
    <td><span class="TITULOTABLA">CONCENTRACION EN %:
      <?php
    
echo $row['CONCENTRACION']; 
      
?>
    </span></td>
  </tr>
  <tr>
    <td width="99"><span class="TITULOTABLA">CANTIDAD:
      <?php
    
echo $row['CANTIDAD']; 
      
?>
    </span></td>
    <td width="92"><span class="TITULOTABLA">UNIDAD DE MEDIDA:
      <?php
    
echo $row['UNIDAD_MEDIDA']; 
      
?>
    </span></td>
    <td><span class="TITULOTABLA">CANTIDAD UMT:
      <?php
    
echo $row['CANTIDAD_UMT']; 
      
?>
    </span></td>
    <td><span class="TITULOTABLA">ESTADO FISICO:
      <?php
    
echo $row['ESTADO_FISICO']; 
      
?>
    </span></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="3"><span class="TITULOTABLA">USO ESPECIFICO:
      <textarea  name="uso_especifico" id="textarea" cols="55" rows="3"><?php
    
echo $row['USO_ESPECIFICO']; 
      
?>
      </textarea>
    </span></td>
    <td colspan="2"><span class="TITULOTABLA">FRACCION ARANCELARIA:
      <?php
    
echo $row['FRACCION_ARANCELARIA']; 
      
?>
    </span></td>
  </tr>
  <tr>
    <td colspan="3" ><span class="TITULOTABLA">PAIS DONDE SE ELABORA O PRODUCE LA SUSTANCIA TOXICA:
      <?php
    
echo $row['PAIS_FABRICACION']; 
      
?>
    </span></td>
    <td><p><span class="TITULOTABLA">PAIS DE PROCEDENCIA:
      <?php
    
echo $row['PAIS_PROCEDENCIA']; 
      
?>
    </span></p></td>
    <td><span class="TITULOTABLA">ADUANA DE ENTRADA:
        <?php
    
echo $row['ADUANA_ENTRADA']; 
      
?>
    </span></td>
  </tr>
</table>
<?php
//muestro los distintos índices de las páginas, si es que hay varias páginas 
if ($total_paginas 1){ 
       for (
$i=1;$i<=$total_paginas;$i++){ 
           if (
$pagina == $i
              
//si muestro el índice de la página actual, no coloco enlace 
              
echo $pagina " "
           else 
              
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página 
              
echo "<a href='search_permiso_toxicos.php?pagina=" $i "&BUSCAR=" $BUSQUEDA "&SELECCIONAR=".$seleccion."'>" $i "</a> "
       } 
}

mysql_close($conexion);
?>

<p>&nbsp;</p>
<p>Si desea realizar otra consulta precione <a href="search_permiso_toxicos.html">aqui</a>.</p>
</body>
</html>
  #4 (permalink)  
Antiguo 07/04/2011, 12:39
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: busqueda por fechas

$buscar es el textfield, $seleccion es el select/menu, $campo el el nombre del campo de la tabla segun la seleccion del select/menu
  #5 (permalink)  
Antiguo 07/04/2011, 12:49
Avatar de omar_gutierrez  
Fecha de Ingreso: febrero-2011
Mensajes: 144
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: busqueda por fechas

HAGG!!! FFFUUU!!

NECHA DE INICIO???, mas bien es FECHA DE INICIO.

Etiquetas: falla, fechas
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 18:28.