Foros del Web » Programando para Internet » PHP »

Buscador

Estas en el tema de Buscador en el foro de PHP en Foros del Web. Buenas desearia crear un buscador de datos en php que muestre una fila entera de un archivo descargado desde ftp tengo esto: Código PHP: <?php ...
  #1 (permalink)  
Antiguo 17/02/2010, 10:56
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Buscador

Buenas desearia crear un buscador de datos en php que muestre una fila entera de un archivo descargado desde ftp

tengo esto:

Código PHP:
<?php


$handle 
fopen("ftp://pstnw:2121/datos.dat","r"" \n"); 
$cadena "";
while (
$line fgets($handle) ) 
echo 
$cadena "$line<br />";
fclose($handle);



?>


o sea que me abre el archivo pero todo completo por lineas, desearia que me mostrara solo una linea de un dato buscado en concreto dentro del archivo, me explico

el archivo contiene:

L DLH 4480 MUC 2010021716:25 2010021716:25 D-AIRS A321 268 04 T1_G DLH 4481 F FNL
L AEA 3948 CDG 2010021716:25 2010021716:25 F-GFKX A320 234 04 T1_G AFR 1949 FUN FIR
L BAW 480 LHR 2010021716:25 2010021716:26 G-CPES B752 212 14 T1_G BAW 481 OPE IBK
L FDS 7453 LHR 2010021716:25 2010021716:26 G-CPES B752 212 14 T1_G BAW 481 OPF IBK
S IJM 359 LIN 2010021716:30 2010021716:30 B350 CAN CAN .....etc


pues yo desearia que solo me enseñase por ejemplo:

L DLH 4480 MUC 2010021716:25 2010021716:25 D-AIRS A321 268 04 T1_G DLH 4481 F FNL

haciendo una busqueda de solo "4480" por ejemplo, y si me lo cotejara con una query de una base de datos

Soy un poco novato en PHP y agradeceria bastante la ayuda

Gracias
  #2 (permalink)  
Antiguo 17/02/2010, 11:00
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Buscador

Al ir recorriendo las lineas puedes usar strpos() para verificar si la cadena buscada existe en la linea, y si es asi, la muestras
  #3 (permalink)  
Antiguo 17/02/2010, 11:27
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Buscador

no se donde ponerlo pq me da error, soy bastante principiante en esto
  #4 (permalink)  
Antiguo 17/02/2010, 12:07
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Buscador

Puedes postear lo que hiciste y que error te da, asi podremos ayudarte mejor
  #5 (permalink)  
Antiguo 17/02/2010, 12:19
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Buscador

puse el strpos despues del while pero me daba error de linea, el caso es que lo que necesito es que al ponerme encima de una celda de un formulario con PHP con el dato "4480" (por ejemplo, que sale de una BD sql), me compare el dato en el archivo dat y me muestre la linea que lo contiene, pero no consigo hacerme con el codigo
  #6 (permalink)  
Antiguo 19/02/2010, 08:51
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Buscador

A ver sigo con la duda ya he conseguido hacer lo de buscar un dato y ponerlo en negrita pero no consigo que solo me visualice solo la linea que contiene el dato señalado, ya que me visualiza todas las lineas.

mi codigo es:

Código PHP:
function negrita($path,$cadena)
{

$pos strpos ($cadena"L");
if (
$pos === false) { // nota: tres signos igual
    // no encontrado ___
}

// en versiones anteriores a la 4_0b3:
$pos strpos ($cadena"L");
if (
is_string ($pos) && !$pos) {
    
// no encontrado ___
}
   
//Iniciamos la variable
   
$texto "";
   
//Abrimos el archivo en modo lectura
   
$fp fopen($path,"r");
  
   
//Leemos linea por linea el contenido del archivo
   
while ($lineafgets($fp,1024))
   {
    
//Sustituimos las ocurrencias de la cadena que buscamos
      
$linea str_replace($cadena,"<b>$cadena</b>","$linea</br>");
      
//Anadimos la linea modificada al texto
      
$texto .= $linea;
   }
   return 
$texto;
}
//Definimos el path y la cadena
$path="ftp://bcnnw:2121/pmr.dat";
$cadena "4469";
//Llamamos la funcion
$texto negrita ($path,$cadena,);
//Mostramos el texto
echo $texto;
fclose($fp); 
  #7 (permalink)  
Antiguo 19/02/2010, 09:30
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Buscador

Cita:
Iniciado por sdddd2 Ver Mensaje
puse el strpos despues del while pero me daba error de linea, el caso es que lo que necesito es que al ponerme encima de una celda de un formulario con PHP con el dato "4480" (por ejemplo, que sale de una BD sql), me compare el dato en el archivo dat y me muestre la linea que lo contiene, pero no consigo hacerme con el codigo
En realidad me referia a que postearas el codigo que hiciste, ademas del error _exacto_ que marcaba, asi es mas facil ayudarte :/
  #8 (permalink)  
Antiguo 19/02/2010, 10:42
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Buscador

Por eso te he puesto el codigo entero lo que no consigo es que solo me muestre las lineas que tengo hechas con la cadena, porque me señala el dato de cadena pero me muestra todas las demas filas del archivo, cuando yo solo quiero visualizar las filas que contengan el dato que marco en negrita.

Gracias
  #9 (permalink)  
Antiguo 19/02/2010, 11:06
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Buscador

Ok pero no veo que hayas intentado lo que te dije..
Cita:
Iniciado por darkasecas Ver Mensaje
Al ir recorriendo las lineas puedes usar strpos() para verificar si la cadena buscada existe en la linea, y si es asi, la muestras
  #10 (permalink)  
Antiguo 22/02/2010, 09:39
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Buscador

function negrita($path,$cadena)
{
//Iniciamos la variable
$texto = "";
//Abrimos el archivo en modo lectura
$fp = fopen($path,"r");

//Leemos linea por linea el contenido del archivo
while strpos ($linea= fgets($fp))
{
//Sustituimos las ocurrencias de la cadena que buscamos
$linea = str_replace($cadena,"<b><font color='blue'>$cadena</font></b>","$linea</br>");
//Anadimos la linea modificada al texto
$texto .= $linea;
}
return $texto;
}
//Definimos el path y la cadena
$path="ftp://bcnnw:2121/pmr.dat";
$cadena = "6500";
//Llamamos la funcion
$texto = negrita ($path,$cadena);
//Mostramos el texto
echo "$texto</br>";

Etiquetas: buscadores
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 10:52.