Foros del Web » Programando para Internet » PHP »

Consultas en PHP con Filtros

Estas en el tema de Consultas en PHP con Filtros en el foro de PHP en Foros del Web. Hola estimados colaboradores tengo una consulta que busca en una tabla llamada Dotacion entregada a trabajadores DOT_TRA con la cuan puedo consultar por: Fecha del ...
  #1 (permalink)  
Antiguo 15/09/2010, 12:16
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Consultas en PHP con Filtros

Hola estimados colaboradores tengo una consulta que busca en una tabla llamada Dotacion entregada a trabajadores DOT_TRA con la cuan puedo consultar por:
Fecha del Trabajador: Hay veo todo la dotacion que se a entregado al Trabajador
Articulos: hay puedo consultar a quien le e entregado dicho articulo
Fecha: Donde Puedo Consultar la fecha en que fue entregado lqa Dotacio

Mi Consulta es:

Quiero al colocar la cedula y fecha mi filtre la consulta solo por: Cedula y Fecha
Por Favor a la espera de su pronta rerspuesta.
Gracias.

Tengo el siguiente codigo que me falta?
?>
<?php
$ced=$_POST['ced'];
$art=$_POST['art'];
$sup=$_POST['sup'];
$fec=$_POST['fec'];
?>

<?php
$con=mysql_connect("localhost","root");
if ($con)
{
$sql="select * from sig.asg_articulos where cedula='".$ced."' or des_articulo='".$art."' or supervisor='".$sup."' or fecha='".$fec."'";
  #2 (permalink)  
Antiguo 15/09/2010, 13:02
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: Consultas en PHP con Filtros

corazon tu consulta esta bien, solo te falta acomodar codigo:

Código PHP:
<?php
$ced
=$_POST['ced'];
$art=$_POST['art'];
$sup=$_POST['sup'];
$fec=$_POST['fec'];

$con=mysql_connect("localhost","root","");
$link=mysql_select_db("tu_base",$con);
$sql="select * from sig.asg_articulos where cedula='$ced' or des_articulo='$art' or supervisor='$sup' or fecha='$fec'"
$bus=mysql_query($sql,$link) or die ("Error: ".mysql_error());
$cons=mysql_fetch_array($bus);

//ya despues de hacer la consulta y tener los valores en variables las puedes imprimir.
do
{
echo 
$cons['campo1'] . $$cons['campo2'] . $cons['campo3'] ."<br>";
}
while(
$cons=mysql_fetch_array($bus));
mysql_close();
?>
  #3 (permalink)  
Antiguo 15/09/2010, 15:58
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

Hola Gracias por tu Respuesta no se por que pero me da error en esta linea mi codigo el siguiente:

Linea: bus=mysql_query($sql,$link) or die ("Error: ".mysql_error());


<?php
$ced=$_POST['ced'];
$art=$_POST['art'];
$sup=$_POST['sup'];
$fec=$_POST['fec'];
?>
<?php
$con=mysql_connect("localhost","root");
if ($con)
{
$sql="select * from sig.asg_articulos where cedula='".$ced."' or des_articulo='".$art."' or supervisor='".$sup."' or fecha='".$fec."'";
bus=mysql_query($sql,$link) or die ("Error: ".mysql_error());
$cons=mysql_fetch_array($bus);
$result=mysql_query($sql,$con);
if ($result)
{
$filas=mysql_num_rows($result);
if ($filas>0)
{
//ya despues de hacer la consulta y tener los valores en variables las puedes imprimir.
do
{
echo $cedula['ced'] . $des_articulo['art'] . $supervisor['sup'] . $Fecha['fec'] ."<br>";
}
while($cons=mysql_fetch_array($bus));
$nombre="resultados.csv";
$archivo_resultado=fopen($nombre,"w");
$cadena="Cedula;Frecuencia;Descripcion de Articulo;Cantidad;Fecha";
$cadena=$cadena.";Responsable de Entrega;Nombre del Trabajador\n"
?>
  #4 (permalink)  
Antiguo 15/09/2010, 17:27
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: Consultas en PHP con Filtros

disculpame es que comunmente hago la conexion de otra manera:

Código PHP:
mysql_query($sql,$link) or die(mysql_error($link)); 
  #5 (permalink)  
Antiguo 15/09/2010, 17:34
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Consultas en PHP con Filtros

Cita:
Iniciado por vbonive Ver Mensaje
Hola Gracias por tu Respuesta no se por que pero me da error en esta linea mi codigo el siguiente:

Linea: bus=mysql_query($sql,$link) or die ("Error: ".mysql_error());


<?php
$ced=$_POST['ced'];
$art=$_POST['art'];
$sup=$_POST['sup'];
$fec=$_POST['fec'];
?>
<?php
$con=mysql_connect("localhost","root");
if ($con)
{
$sql="select * from sig.asg_articulos where cedula='".$ced."' or des_articulo='".$art."' or supervisor='".$sup."' or fecha='".$fec."'";
bus=mysql_query($sql,$link) or die ("Error: ".mysql_error());
$cons=mysql_fetch_array($bus);
$result=mysql_query($sql,$con);
if ($result)
{
$filas=mysql_num_rows($result);
if ($filas>0)
{
//ya despues de hacer la consulta y tener los valores en variables las puedes imprimir.
do
{
echo $cedula['ced'] . $des_articulo['art'] . $supervisor['sup'] . $Fecha['fec'] ."<br>";
}
while($cons=mysql_fetch_array($bus));
$nombre="resultados.csv";
$archivo_resultado=fopen($nombre,"w");
$cadena="Cedula;Frecuencia;Descripcion de Articulo;Cantidad;Fecha";
$cadena=$cadena.";Responsable de Entrega;Nombre del Trabajador\n"
?>
ehm... y cual es el error???
en primera usas $con para la conexión, pero luego en el mysql_query usas $link... no será eso???
si te basaste en el código de ylellan, fijate que $link es el resultado de seleccionar la base de datos,
cosa que al parecer no tienes
si revisado eso sigue mostrando error entonces pregunto:
el usuario root tiene contraseña?? si tiene, falta, y si no, falta dejarla en blanco (tercer parámetro de mysql_connect)

revisa y comentas
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #6 (permalink)  
Antiguo 15/09/2010, 17:45
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: Consultas en PHP con Filtros

tienen razon, no me fije que solo pusiste el or die (); y ya, te falta seleccionar la base de datos, no se si este bien eso de
Código PHP:
$con=mysql_connect("localhost","root"); 
ya que debe de ser
Código PHP:
$con=mysql_connect("localhost","root","contraseña"); 
mejor empieza a leer un poco y tambien sobre como seleccionar la base de datos
  #7 (permalink)  
Antiguo 16/09/2010, 06:35
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

Amigos gracias por las respuesta actualmente me da error en esa misma linea:


<?php
$con=mysql_connect("localhost","root","");
if ($con)
{
$sql="select * from sig.asg_articulos where cedula='".$ced."' or des_articulo='".$art."' or supervisor='".$sup."' or fecha='".$fec."'";
bus=mysql_query($sql,$con) or die ("Error: ".mysql_error());
$cons=mysql_fetch_array($bus);
$result=mysql_query($sql,$con);
if ($result)
{
$filas=mysql_num_rows($result);
if ($filas>0)
{
//ya despues de hacer la consulta y tener los valores en variables las puedes imprimir.
do
{
echo $cedula['ced'] . $des_articulo['art'] . $supervisor['sup'] . $Fecha['fec'] ."<br>";
}
while($cons=mysql_fetch_array($bus));
$nombre="resultados.csv";
$archivo_resultado=fopen($nombre,"w");
$cadena="Cedula;Frecuencia;Descripcion de Articulo;Cantidad;Fecha";
$cadena=$cadena.";Responsable de Entrega;Nombre del Trabajador\n"
?>
  #8 (permalink)  
Antiguo 16/09/2010, 06:40
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

perdon el error me da es en esta linea

echo $cedula['ced'] . $des_articulo['art'] . $supervisor['sup'] . $Fecha['fec'] ."<br>";

ya que lo cambien a esta forma el codigo:

$con=mysql_connect("localhost","root","");
if ($con)
{
$sql="select * from sig.asg_articulos where cedula='".$ced."' or des_articulo='".$art."' or supervisor='".$sup."' or fecha='".$fec."'";
$bus=mysql_query($sql,$con) or die ("Error: ".mysql_error());
$cons=mysql_fetch_array($bus);
do
{
echo $cedula['ced'] . $des_articulo['art'] . $supervisor['sup'] . $Fecha['fec'] ."<br>";
}
while($cons=mysql_fetch_array($bus));
$result=mysql_query($sql,$con);
if ($result)
{
$filas=mysql_num_rows($result);
if ($filas>0)
{
$nombre="resultados.csv";
$archivo_resultado=fopen($nombre,"w");
$cadena="Cedula;Frecuencia;Descripcion de Articulo;Cantidad;Fecha";
$cadena=$cadena.";Responsable de Entrega;Nombre del Trabajador\n"
?>
  #9 (permalink)  
Antiguo 16/09/2010, 06:49
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

Hola e echo algunos cambios y poco a poco e estado saliendo pero me da un error en la linea:
do
{
echo $ced['cedula'] . $art['des_articulo'] . $sup['supervisor'] . $fec['fecha'];
}
while($cons=mysql_fetch_array($bus));

pero me muestra el siguiente error; Notice: Uninitialized string offset: SMS 1SSS
1SSS
1SSS
1SSS
1SSS
1SSS
1SSS
  #10 (permalink)  
Antiguo 16/09/2010, 07:49
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

Hola ya el error se fue estimados pero hay dos detalles:

1 SEGUN ME IMPRIME LAS SOLO LA FECHA QUE YO SELECCIONO PERO Y POR LA CEDULA ME LAS MUESTRA TODAS...

MI CONSULTA FUNCIONA BIEN, PERO QUICIERA QUE SELECCIONES CEDULA Y FECHA, ME BUSQUE DE TODOS LAS CEDULAS Y TODAS LAS FECHAS QUE HAY EN LA TABLA SOLO ME MUESTRE LA QUE LE ESTOY ESPECIFICANDO.

YA QUE QUE EL USUARIO QUE QUIERO CONSULTAR CON LA CEDULA QUE ESPECIFICO CONTIENE VARIAS FECHAS...
LA CEDULA SOLO LA PUEDE TENER UNA PERSONA PERO LA FECHA TODAS LOS CAMPOS EL ME MUETRA LA CEDULA Y ME MUESTRA LA FECHA QUE ESPECIFICO PERO DE VARIAS CEDULAS.
A LA ESPERA DE SU PRONTA RESPUESTA..

Última edición por vbonive; 16/09/2010 a las 08:12
  #11 (permalink)  
Antiguo 16/09/2010, 14:40
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Consultas en PHP con Filtros

Cita:
Iniciado por vbonive Ver Mensaje
Hola ya el error se fue estimados pero hay dos detalles:

1 SEGUN ME IMPRIME LAS SOLO LA FECHA QUE YO SELECCIONO PERO Y POR LA CEDULA ME LAS MUESTRA TODAS...
falta filtro de cédula si se quiere ver por alguna en específico

MI CONSULTA FUNCIONA BIEN, PERO QUIC(S)IERA QUE SELECCIONES CEDULA Y FECHA, ME BUSQUE DE TODOS LAS CEDULAS Y TODAS LAS FECHAS QUE HAY EN LA TABLA SOLO ME MUESTRE LA QUE LE ESTOY ESPECIFICANDO.
pues entonces debes, en un formulario, pedir esos datos en dos campos
y luego usar esos datos para hacer un WHERE y un AND en la consulta


YA QUE QUE EL USUARIO QUE QUIERO CONSULTAR CON LA CEDULA QUE ESPECIFICO CONTIENE VARIAS FECHAS...
LA CEDULA SOLO LA PUEDE TENER UNA PERSONA PERO LA FECHA TODAS LOS CAMPOS EL ME MUETRA LA CEDULA Y ME MUESTRA LA FECHA QUE ESPECIFICO PERO DE VARIAS CEDULAS.
es la misma solución anterior, tienes que mejorar tu redacción
A LA ESPERA DE SU PRONTA RESPUESTA..
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #12 (permalink)  
Antiguo 17/09/2010, 06:50
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

hola amigo multiprogramador gracias por tu ayuda..

tengo el siguiente codigo:

$sql="select * from sig.asg_articulos where cedula='".$ced."' or des_articulo='".$art."' or supervisor='".$sup."' or fecha='".$fec."'";

tal cual como me comentas con el and.

$sql="select * from sig.asg_articulos where cedula='".$ced."' and fecha='".$fec."'"; me funciona perfectamente como quiero.


pero con las otras dos variable le coloco and des_articulo='".$art."' and supervisor='".$sup."' y no me funciona nada..!
tinene que ser and o or?¿ como hay que especificar?
  #13 (permalink)  
Antiguo 17/09/2010, 07:54
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Consultas en PHP con Filtros

Cita:
Iniciado por vbonive Ver Mensaje
hola amigo multiprogramador gracias por tu ayuda..

tengo el siguiente codigo:

$sql="select * from sig.asg_articulos where cedula='".$ced."' or des_articulo='".$art."' or supervisor='".$sup."' or fecha='".$fec."'";

tal cual como me comentas con el and.

$sql="select * from sig.asg_articulos where cedula='".$ced."' and fecha='".$fec."'"; me funciona perfectamente como quiero.


pero con las otras dos variable le coloco and des_articulo='".$art."' and supervisor='".$sup."' y no me funciona nada..!
tinene que ser and o or?¿ como hay que especificar?
jajajajjaa, veo que en algunas ocasiones me dicen multi.... no me molesta,
solo que me pone a pensar en mi nick jajajjaja

bueno, a lo tuyo

cuando usas AND y OR, el primero solapa al segundo, es decir, si el AND no se cumple, el OR no le gana. así que yo cambiaría todo a OR (como lo tienes inicialmente) a menos que todos los datos que envias sean los de ese registro, en cuyo caso usaria AND para todo.
por otro lado, si los datos que envias no son totalmente identicos sino
coinciden en el inicio por ejemplo, entonces no uses igual sino usa LIKE

eso creo, bueno, prueba y comentas
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #14 (permalink)  
Antiguo 17/09/2010, 08:00
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Consultas en PHP con Filtros

buenas mortiprogramador el problema es que si en la bd tiene otros registro que tnga un dato igual se lo va a traer tambien x eso en parte tiene que usar el and entonces aunque sea deberia la cedula que es unica colocarla con el and viendolo desde este punto o no?? xq debe de haber algo que idetifiq como unico al trabajador ya que si kiere solo los datos de este
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #15 (permalink)  
Antiguo 17/09/2010, 08:05
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Consultas en PHP con Filtros

Cita:
Iniciado por carlos_belisario Ver Mensaje
buenas mortiprogramador el problema es que si en la bd tiene otros registro que tnga un dato igual se lo va a traer tambien x eso en parte tiene que usar el and entonces aunque sea deberia la cedula que es unica colocarla con el and viendolo desde este punto o no?? xq debe de haber algo que idetifiq como unico al trabajador ya que si kiere solo los datos de este
carlos_belisario, tienes razón, y de hecho eso yo siempre lo he visto como un PERO grande en la sintaxis mysql, se soluciona de este modo

Código MySQL:
Ver original
  1. $sql="SELECT * FROM sig.asg_articulos WHERE cedula='".$ced."' AND
  2. (des_articulo='".$art."' OR supervisor='".$sup."' OR fecha='".$fec."'");

haciendo una "trampa" como yo lo veo, a otros les gusta.... en fin,
esperemos que pueben y comenten
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #16 (permalink)  
Antiguo 17/09/2010, 08:14
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Consultas en PHP con Filtros

Cita:
Iniciado por mortiprogramador Ver Mensaje
carlos_belisario, tienes razón, y de hecho eso yo siempre lo he visto como un PERO grande en la sintaxis mysql, se soluciona de este modo

Código MySQL:
Ver original
  1. $sql="SELECT * FROM sig.asg_articulos WHERE cedula='".$ced."' AND
  2. (des_articulo='".$art."' OR supervisor='".$sup."' OR fecha='".$fec."'");

haciendo una "trampa" como yo lo veo, a otros les gusta.... en fin,
esperemos que pueben y comenten
saludos
a mi tambien me parece un pero, aunque tiene algo de coherencia o no ?? bueno yo uso eso solo cuando es necesario aunque no esta mal usarlo o si?? saludos y bueno esperemos a q el amigo nos cuente como le fue saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #17 (permalink)  
Antiguo 17/09/2010, 12:47
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

Amigos bueno con el metodo and y creando 2 formularios de consulta me funciona bien.. gracias son muy amables...
Saludos
  #18 (permalink)  
Antiguo 27/09/2010, 15:36
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

oye carlos con esa trampa con los () a mi me da error..]
  #19 (permalink)  
Antiguo 27/09/2010, 16:03
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Consultas en PHP con Filtros

que error te da debes de indicarnoslo xq asi x asi es muy dificil ayudarte xq lo he utilizado de echo mortiprogramador te lo indico es xq el tambien y hasta ahora funciona que error te dio??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #20 (permalink)  
Antiguo 27/09/2010, 19:58
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

Hola tal cual como lo coloco de ambos

$sql="SELECT * FROM sig.asg_articulos WHERE cedula='".$ced."' AND (des_articulo='".$art."' OR supervisor='".$sup."' OR fecha='".$fec."'");

me da error en esta linea cuando le coloco los () y cuando se los quito no me da error, pero la consulta solo de cedula con des_articulo los demas no me consulta nada nada..!
  #21 (permalink)  
Antiguo 27/09/2010, 20:20
Avatar de vbonive  
Fecha de Ingreso: septiembre-2010
Mensajes: 86
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Consultas en PHP con Filtros

Amigos revisando vien error estaba en que e () hay que colocarlo antes de una " de esta forma si me funciono si problemas:

$sql="SELECT * FROM sig.asg_articulos WHERE cedula='".$ced."' AND (des_articulo='".$art."' OR supervisor='".$sup."' OR fecha='".$fec."')";

Gracias amigos DISCULPA LA MOLESTA COMPAÑEROS........ NICE

Etiquetas: filtros
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 15:27.