Foros del Web » Programando para Internet » PHP »

¿Cómo puedo Filtrar una búsqueda en PHP?

Estas en el tema de ¿Cómo puedo Filtrar una búsqueda en PHP? en el foro de PHP en Foros del Web. Hola amigos!!! Disculpen, tengo un problema, en una tabla de mysql tengo un campo llamado MATRICULAS, y cada campo tiene un numero de serie... Cada ...
  #1 (permalink)  
Antiguo 13/11/2009, 17:54
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Pregunta ¿Cómo puedo Filtrar una búsqueda en PHP?

Hola amigos!!!

Disculpen, tengo un problema, en una tabla de mysql tengo un campo llamado MATRICULAS, y cada campo tiene un numero de serie...

Cada serie inicia con IEP despues le sigue con el año a 2 digitos ( 09 ) después el mes a 2 digitos ( 11 ) y finalmente 6 digitos seriados

Entonces, un ejemplo de como estan los registros en este campo sería:

IEP0911000500
IEP0911000501
IEP0911000502
IEP0911000503
IEP0911000504

ETC

Entonces, yo lo que quiero hacer es que de esos registros se filtren los últimos 6 digitos de cada uno y en php se imprima el que le sigue, en este caso tomando en cuenta el ejemplo de los anteriores registros tendría que arrojarme el 000505

Hay que tomar en cuenta, que, por ejemplo para diciembre habrá registros que inicien con 0912, y para enero 2010 con 1001... etc...

¿Alguien tiene una idea de cómo podría yo lograr esto??

Muchas gracias de antemano por sus amables respuestas.
  #2 (permalink)  
Antiguo 13/11/2009, 18:15
Avatar de marvinabrego  
Fecha de Ingreso: octubre-2009
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Entiendo que quieres filtrar una busqueda, es decir tu introduces el código en un formulario y esperas te devuelva coincidencias, si es así, debes usar substr()

$result = mysql_query("SELECT * FROM matricula");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
//supongamos que el cod es el primer campo

$cadena_a_consultar=substr($row[0],7,6);

if ($cadena_a_consultar==$_POST['cod_alumno_form_ingreso'];
{
//si además te interesa el año en curso añadamos otro if
$ano_a_consultar=substr($row[0],4,2);
$ano_actual=date(y);
if($ano_a_consultar==$ano_actual)
{
echo "Coincide la fila ".$row[0];
}
}

//Espero te funcione, sinó podrías poner tu código para entender mejor el problema
//Saludos
  #3 (permalink)  
Antiguo 13/11/2009, 18:28
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Hola amigo marvinabrego;

Muchas gracias por tu amable respuesta, en realidad yo no voy a submitir ningun form, es decir, lo que busco es que cuando entre la pagina se imprima automáticamente el número de serie más alto + 1

Osea, algo asi como:

Código PHP:
<?php

// AQUI TODA LA FUNCION NECESARIA

echo = "La siguiente matrícula sería con terminación $serie";
Es decir, yo solo quiero que consulte y me diga cual es la siguiente serie que debo ingresar, considerando los últimos 6 digitos de cada registro, sin importar con cual inicien
  #4 (permalink)  
Antiguo 13/11/2009, 20:04
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

$q=mysql_query("SELECT * FROM tabla ORDER BY serie DESC");
$r=mysql_fetch_array($q);
echo $r['serie'];
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 13/11/2009, 22:23
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Hola urgido; gracias por tu respuesta, pero yo no estoy buscando eso, ya que no me está filtrando nada.


Veamos, tengo esta tabla:

ESTUDIANTES

en estudiantes tengo estas columnas:

Matricula
Nombre

y en Matriculas los siguientes registros:

IEP0911000500
IEP1001000501
IEP0912000502
IEP0806000503
IEP0911000504


Yo lo que quiero es que de todos los registros existentes en la columna de MATRICULAS me diga cual es el número más alto en sus últimos 6 dígitos

Tomando en cuenta las matriculas que he listado, quiero que me arroje el numero 000505. Cabe notar que no todas inician con los mismos numeros, pero los ultimos 6 si van seriados.


¿Alguien tendría una idea de cómo lograr esto?
  #6 (permalink)  
Antiguo 13/11/2009, 23:27
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

IEP0911000500 de este num lo unico ke kieresvalidar es 000500 ??
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 13/11/2009, 23:42
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Cita:
Iniciado por urgido Ver Mensaje
IEP0911000500 de este num lo unico ke kieresvalidar es 000500 ??
Asi es amigo, solo quiero validar los ulimos 6 digitos, que me arroje el mayor + 1

por ejemplo mi mayor es IEP0911000504 y quiero que me arroje 000505
  #8 (permalink)  
Antiguo 14/11/2009, 00:22
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Código PHP:
Ver original
  1. <?
  2. $q=mysql_query("SELECT * FROM tabla ORDER BY serie DESC");
  3. while($r=mysql_fetch_array($q)){
  4.  $valor[]=$r['serie'];
  5.  $rest=substr($valor, -6);
  6.  $sigue=max($valor);
  7.  $next=$sigue+1;
  8.  echo $next;
  9. }
  10. ?>

checalo... ponle tus parámetros.
__________________
Hospedaje Web al mejor costo!
  #9 (permalink)  
Antiguo 14/11/2009, 00:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Gracias por tu respuesta;

puse el siguiente codigo:

Código PHP:
<?php
$q
=mysql_query("SELECT * FROM estudiantes ORDER BY Matricula DESC");
while(
$r=mysql_fetch_array($q)){
 
$valor[]=$r['Matricula']; 
 
$rest=substr($valor, -6);
 
$sigue=max($valor);
 
$next=$sigue+1;
 echo 
$next;
}
?>
y me arroja el siguiente error:

Código:
Warning: substr() expects parameter 1 to be string, array given in G:\XAMPP W7\xampp\htdocs\icp\test.php on line 21
1
Warning: substr() expects parameter 1 to be string, array given in G:\XAMPP W7\xampp\htdocs\icp\test.php on line 21
1
Warning: substr() expects parameter 1 to be string, array given in G:\XAMPP W7\xampp\htdocs\icp\test.php on line 21
1
  #10 (permalink)  
Antiguo 14/11/2009, 00:44
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Código PHP:
Ver original
  1. <?php
  2. $q=mysql_query("SELECT Matricula FROM estudiantes");
  3. while($r=mysql_fetch_array($q)){
  4.  $valor[]=$r['Matricula'];  
  5. }
  6. $rest=substr($valor, -6);
  7. $sigue=max($valor);
  8. $next=$sigue+1;
  9. echo $next;
  10. ?>

mmm intentale asi
__________________
Hospedaje Web al mejor costo!
  #11 (permalink)  
Antiguo 14/11/2009, 00:54
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Lo he probado, ahora arroja el error:

Código:
Warning: substr() expects parameter 1 to be string, array given in G:\XAMPP W7\xampp\htdocs\icp\test.php on line 33
1
La linea 33 hace referencia a: $rest=substr($valor, -6);
  #12 (permalink)  
Antiguo 14/11/2009, 00:58
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Código PHP:
Ver original
  1. <?php
  2. $q=mysql_query("SELECT * FROM estudiantes");
  3. while($r=mysql_fetch_array($q)){
  4.  $rest=substr($r['Matricula'], -6);
  5.  $valor[]=$rest;  
  6. }
  7. $sigue=max($valor);
  8. $next=$sigue+1;
  9. echo $next;
  10. ?>


mmm checale así
__________________
Hospedaje Web al mejor costo!
  #13 (permalink)  
Antiguo 14/11/2009, 01:52
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 15 años, 6 meses
Puntos: 3
De acuerdo Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Cita:
Iniciado por urgido Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. $q=mysql_query("SELECT * FROM estudiantes");
  3. while($r=mysql_fetch_array($q)){
  4.  $rest=substr($r['Matricula'], -6);
  5.  $valor[]=$rest;  
  6. }
  7. $sigue=max($valor);
  8. $next=$sigue+1;
  9. echo $next;
  10. ?>


mmm checale así
Muchísimas Gracias por tu ayuda!!!, finalmente lo que buscaba

Estoy muy agradecido contigo urgido!!!
  #14 (permalink)  
Antiguo 04/01/2011, 07:26
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: ¿Cómo puedo Filtrar una búsqueda en PHP?

Hola amigos. Tengo un problema con el siguiente codigo:
<?php
$busca = "";
$busca = $_POST['busca'];
mysql_connect("localhost", "admin", "123456");
mysql_select_db("curso");
if($busca!= ""){
$busqueda= mysql_query("SELECT * FROM 'usuarios' WHERE usuario LIKE '%".$busca."%'");
while($f=mysql_fetch_array($busqueda)){
echo $f['id'].'&nbsp; &nbsp;'.$f['usuario'].'&nbsp; &nbsp;',$f['email']."<br>";
}
}
?>
¿Qué puedo hacer en este caso?

y al ejecutarlo sale: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\formulario\prueba.php on line 25
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 01:30.