Foros del Web » Programando para Internet » PHP »

Duda en consulta Mysql con php

Estas en el tema de Duda en consulta Mysql con php en el foro de PHP en Foros del Web. 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 ... ...
  #1 (permalink)  
Antiguo 11/01/2013, 08:05
 
Fecha de Ingreso: junio-2006
Mensajes: 17
Antigüedad: 17 años, 10 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
  #2 (permalink)  
Antiguo 11/01/2013, 09:34
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 12
Respuesta: Duda en consulta Mysql con php

Holaa compañero, primero que nada utililiza las etiquetas "Highlight" para que sea mas facil.

Porque muchos no ayudan si no usan las etiquetas.
  #3 (permalink)  
Antiguo 11/01/2013, 09:38
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Duda en consulta Mysql con php

Según lo que te entendi quieres 2 text área para buscar por rangos cierto?

bueno agrega los 2 text area, el primero será DESDE y el segundo HASTA, agregas un botón de enviar.

creas un archivo que va a capturar los 2 valores (por ejemplo uno será $desde y el otro $hasta) y lo mandas a través de un Query así

Código PHP:
$query "SELECT * from tu_tabla WHERE SDK BETWEEN $desde AND $hasta 
no si si eso responde tu preguta no entendi muy bien xD

veo q usas JQuery puedes usar un $ajax para filtrar en la tabla

el archivo q recibe el $ajax pones lo siguiente

Código PHP:
if ($desde AND $hasta==NULL)
{
generas el QUERY SELECT from tu_tabla
}
else { 
// significa que si insertaron rangos
$query "SELECT * from tu_tabla WHERE SDK BETWEEN $desde AND $hasta 


Ese codigo de antes lo que hace es verificar si los campos DEDE y HASTA estan en uso si no lo están genera la tabla con todos los registros
si desde y HASTA reciben valores cambia el query y genera la tabla solo con esos resultados

si planteas mejor la pregunta podre ayudarte mejor

Última edición por angelsds; 11/01/2013 a las 09:47
  #4 (permalink)  
Antiguo 11/01/2013, 10:51
 
Fecha de Ingreso: junio-2006
Mensajes: 17
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Duda en consulta Mysql con php

Gracias angel .. es exactamente lo que andaba buscando .. pero se me paso por alto algo jejeje, la consulta donde muestro los valores es la siguiente

SELECT * from prueba WHERE stk BETWEEN 5001 AND 5010

perfecto me muestra todos los valores que tengan en stk de 5001 a 5010, pero aca me tope con otro problemita

si te das cuenta, hay un campo "receptora" .. yo necesitaria seleccionar primero que numero de receptora es mas el rango de stk


ejemplo

receptora=2384 desde stk 5001 a stk 5010

ya que tengo algunas receptoras con el mismo numero de stk ... y si mando a buscar las que tengan el rango de 5001 a 5010 me salen de todas las receptoras y yo quiero que sea especifico a una ...

espero haberme hecho entender ..

dejo una imagen como para que entiendan mejor

  #5 (permalink)  
Antiguo 11/01/2013, 13:03
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: Duda en consulta Mysql con php

Si no me equivoco hay entraria el SQL SELECT DISTINCT Statement.

Etiquetas: consulta-mysql, mysql
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 09:24.