Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/01/2013, 08:05
Chilectro
 
Fecha de Ingreso: junio-2006
Mensajes: 17
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta Duda en consulta Mysql con php

Buenas amigos foreros, tengo una duda ojala me puedan ayudar.

Estoy realizando un pequeño sistema de registro de información, hasta el momento todo oK ... pero ahora se me dio el caso de que tengo que buscar y presentar una información filtrada por varios campos .. primero va la foto.



La cuestión es la siguiente realizo la consulta primaria por "STK" campo de DB, pero despues de esa busqueda tengo que filtrar desde donde hasta donde quiero mostrar .. ejemplo .. tal cual esta en la imagen adjunta, quiero tener dos campos de texto para poner un DESDE y HASTA quisiera buscar todos los registros que esten dentro del rango de STK 6001 a 6012 ... quiero me me muestre en un listado 6001,6002,6003 .. etc hasta el 12 con su respectiva informacion.

Este es mi codigo de busqueda.php .. funciona muy bien quizas le sirva a alguien

<!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>Untitled Document</title>
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
<script language="javascript">
$(document).ready(function() {
$(".botonExcel").click(function(event) {
$("#datos_a_enviar").val( $("<div>").append( $("#Exportar_a_Excel").eq(0).clone()).html());
$("#FormularioExportacion").submit();
});
});
</script>

<link href="../css/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<?
//Archivo: busqueda.php
$bd_servidor = "localhost";

$bd_usuario = "root";

$bd_contrasenya = "123456";

$bd_bdname = "******";

$bd_tabla = "prueba"; // Tabla donde se harán las búsquedas

// Conexión y selección de la base de datos
$link = mysql_connect($bd_servidor,$bd_usuario,$bd_contras enya);
mysql_select_db($bd_bdname,$link);
////////////////////////////
// Formulario
///////////////////////////
?>
<center>
<p>
<p><img src="../images/logo.png" width="157" height="98" />
<h2>&nbsp;</h2>
<h2>Introduzca la palabra a buscar</h2>
<p>&nbsp;</p>
<p><form name="buscador" method="post" action="busqueda.php">
<p><br>
Elija Campo en:
<select name="campo">
<?php
//Con este query obtendremos los campos por los cuales el usuario puede buscar
$result = mysql_query("SHOW FIELDS FROM topografia",$link);
while($row = mysql_fetch_row($result)) {

// en $row[0] tenemos el nombre del campo
// de esta manera no necesitamos conocer el nombre de los campos
// por lo que cualquier tabla nos valdrá
?>
<option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option>
<?php
}
?>
</select>
Palabra Ingresada:
<input type="text" name="palabra">
</p>
<p><br>
<input type="submit" value="Buscar" name="buscar">
</p>



</form></p>
</center>
<center>
<p><br>
<form action="print_topo.php" method="post" target="_blank" id="FormularioExportacion">
<p>Exportar a Excel <img src="../images/export_to_excel.gif" class="botonExcel" /></p>
<input type="hidden" id="datos_a_enviar" name="datos_a_enviar" />
</form>
</p>
</center>
<center>
<p><br>
<a href="../pagina.php">Back</a>
</p>
</center>
<?

if(isset($_POST['buscar'])) {
// Solo se ejecuta si se ha enviado el formulario
$query = "SELECT * from $bd_tabla WHERE `{$_POST['campo']}` LIKE '%{$_POST['palabra']}%'";
//$query = "SELECT * from $bd_tabla WHERE `{$_POST['campo']}` LIKE '%{$_POST['palabra']}%' AND `{$_POST['campo2']}` LIKE '%{$_POST['palabra2']}%'";
$result = mysql_query($query,$link);

$found = false; // Si el query ha devuelto algo pondrá a true esta variable
while ($row = mysql_fetch_array($result)) {

$found = true;
echo "<table border = '1' align='center' id='Exportar_a_Excel'> \n";
echo "<td class='list_superior'>Preplot</td><td class='list_superior'>Postplot</td><td class='list_superior'>Fecha</td><td class='list_superior'>Grupo</td><td class='list_superior'>Offset</td><td class='list_superior'>Motivo</td><td class='list_superior'>Tipo Linea</td><td class='list_superior'>Nivelado</td><td class='list_superior'>Editar</td>";

//Mostramos los nombres de las tablas
echo "<tr> \n";

echo "</tr> \n";
do {
echo "<tr> \n";
//echo "<td>".$row["id"]."</td> \n";
echo "<td class='resultado_topo'>".$row["preplot"]."</td> \n";
echo "<td class='resultado_topo'>".$row["postplot"]."</td> \n";
echo "<td class='resultado_topo'>".$row["fecha"]."</td> \n";
echo "<td class='resultado_topo'>".$row["grupo"]."</td> \n";
echo "<td class='resultado_topo'>".$row["offset"]."</td> \n";
echo "<td class='resultado_topo'>".$row["motivo"]."</td> \n";
echo "<td class='resultado_topo'>".$row["tipo"]."</td> \n";
echo "<td class='resultado_topo'>".$row["reg"]."</td> \n";
echo "<td class='notas'><a href=./actualizar.php?id=".$row["id"].">Modificar</a></td>\n";
//echo "<td class='resultado_topo'><a href='editar.php?id=".$row["id"].">Editar</a></td> \n";


echo "</tr> \n";
} while ($row = mysql_fetch_array($result));
echo "</table> \n";
//echo "<p>";
//foreach($row as $nombre_campo => $valor_campo) {
// Tenemos que mostrar todos los campos de las filas donde se haya
// encontrado la búsqueda.

//if(is_int($nombre_campo)) {
//continue; //Cuando hacemos mysql_fetch_array, php genera un array
// con todos los valores guardados dos veces, uno con
// índice numérico y otro con índice el nombre del campo.
// Solo nos interesa el del nombre del campo.
//}
//

//
/*echo '<table><tr class="bg1"><td>'.$nombre_campo.'</td>';
echo '<tr> '.$estilo.'</tr>';
echo '<td></td><td></td><td></td><td></td><td></td><td></td>';
echo '<td>'.$valor_campo.'</td>';
echo '</tr>';*/
//echo "<b>".$nombre_campo."</b>: ".$valor_campo."<br>";


//}
//echo "</p>";
}
if(!$found) {
echo "No se encontró la palabra introducida";
}
}
?>

</body>
</html>


[URL="http://www.fdi-host.com/images/jquery-1.3.2.min.js"]aca está el archivo JS[/URL]


Muchas gracias de antemano.

Salu2