Foros del Web » Programando para Internet » PHP »

Consulta en sql sobre dato en archivo

Estas en el tema de Consulta en sql sobre dato en archivo en el foro de PHP en Foros del Web. Hola mira soy nuevo en configuracion php y se me escapan muchas cosas y quisiera a ver si me podriais ayudar, gracias de antemano Mirad ...
  #1 (permalink)  
Antiguo 17/02/2010, 05:33
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 2 meses
Puntos: 0
Consulta en sql sobre dato en archivo

Hola mira soy nuevo en configuracion php y se me escapan muchas cosas y quisiera a ver si me podriais ayudar, gracias de antemano

Mirad mi problema es el siguiente:

Tengo una tabla realizada con php que realiza consultas a mysql en wampserver, pero a hora quisiera hacer que en una celda que tengo en donde aparecen unos datos (llamemos xxxx) al hacer un onmouseover encima me cotejara esos datos con un archivo .dat que tengo en una ftp y me mostrara la linea que encontrara debajo con todos los datos relacionados a esa consulta.

lo he probado con fgets pero me abre todo el archivo no solo la linea que contiene el dato buscado y si encima me coloreara el dato buscado ya seria la pera

Gracias de antemano y si me pudierais ayudar os estaria muy agradecido
  #2 (permalink)  
Antiguo 17/02/2010, 12:08
 
Fecha de Ingreso: abril-2005
Ubicación: Ciudad de México
Mensajes: 50
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Consulta en sql sobre dato en archivo

Quieres usar MySQL, PHP y un archivo DAT ?


Si es lo que entendi lo puedes hacer con AJAX en el evento onmouseover lo demas no entendi que quieres
  #3 (permalink)  
Antiguo 26/02/2010, 10:00
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Consulta en sql sobre dato en archivo

A ver me explico porque aun no lo he resuelto: tengo una tabla con celdas que recogen datos de una BD, o sea una celda seria una cosa asi:
Cita:
<td onMouseOut="mOut(this,'#dee3ef');"onMouseOver="mOv r(this,'#336699')"><input class="texto" onchange="llamarAjax7(value,<?php echo $row['Id']; ?>)" name="Nvuelo" type="text" onMouseOver="Tip('')" onMouseOut="UnTip()"size=4 value="<?php echo $row['Nvuelo']; ?>"/></td>
pero no se como cotejar los datos que me aparezcan en esa celda con un archivo .dat que abro desde una ftp y que me mostrara el resultado de dicha comparacion en el tip del onMouseOver.

tengo un codigo que me funciona en php que es el siguiente:

Cita:
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 ($linea = fgets($fp))

{
//Sustituimos las ocurrencias de la cadena que buscamos
if(preg_match('/'.$cadena.'/',$linea){
$linea = str_replace($cadena,"<b><font color='red'>$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 = "8050";
//Llamamos la funcion
$texto = negrita ($path,$cadena);
//Mostramos el texto
echo nl2br("$texto \ n");
y me gustaria que en vez de ser el "8050" que pone en la cadena fuera la query de la BD de la $row Nvuelo
  #4 (permalink)  
Antiguo 26/02/2010, 10:09
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 5 meses
Puntos: 5
Respuesta: Consulta en sql sobre dato en archivo

No entiendo muy bien lo que quieres hacer, pero bueno....
Quieres buscar una línea en un archivo según el resultado de una consulta???
Puedes usar expresiones regulares.
Por lo q leo, quieres reemplazar la cadena encontrada por el formato coloreado, prueba con eregi_replace. Mas info: http://php.net/manual/en/function.eregi-replace.php

salu2
  #5 (permalink)  
Antiguo 26/02/2010, 10:36
Avatar de camsworksinc  
Fecha de Ingreso: julio-2008
Ubicación: Queretaro
Mensajes: 261
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: Consulta en sql sobre dato en archivo

Lo que entiendo que quieres hacer, es que en el evento de onmouseover, ejecutes una funcion AJAX que mande llamar a un script de php. Este script traera un archivo desde un servidor FTP y lo tiene que leer, para buscar en el, el renglon que cumpla con un codigo. Si el renglon cumple, entonces se traera el texto que esta en el mismo renglon.
Dado que no pones como es la estructura del archivo.dat , entonces supondre que es de la forma:
Codigo1 Texto1
Codigo2 Texto2
Codigo3 Texto3
.
.
Codigon Texton


Aqui mi sugerencia del codigo que iria en el script de php:
Código PHP:
Ver original
  1. <?php
  2. $ftp_server = 'direccion.de.tu.servidor';
  3. $ftp_user_name= 'tu_usuario';
  4. $ftp_user_pass= 'tu_password';
  5. $local_file = tmpfile(); //Creamos un archivo temporal donde se descargara el archivo
  6. $server_file = 'archivo.dat'; //Es la ruta del archivo que deseas bajar del servidor FTP
  7.  
  8. // Se abre una conexion al servidor FTP
  9. $conn_id = ftp_connect($ftp_server);
  10.  
  11. // Se accede con las credenciales requeridas
  12. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  13.  
  14. // Se baja el archivo
  15. if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
  16.  //Ahora buscamos la cadena en el archivo, por lo que restauramos el apuntador del archivo al inicio
  17.  fseek($local_file, 0);
  18.  //Y leemos linea por linea el archivo. Suponiendo que cada linea esta formada, digamos con la siguiente escructura NUMERO_DE_CODIGO TEXTO  Si esto no es asi, nada mas cambia la cadena delm formato de la funcion fscanf
  19.  while ($linea = fscanf($localfile,"%d%s") {
  20.    //Separamos los valores que trajimos
  21.    list ($NUMERO_DE_CODIGO, $TEXTO)=$linea;
  22.    //Comparamos el que nos interesa
  23.    if ($NUMERO_DE_CODIGO==$Codigo_Que_Busco)
  24.     {
  25.      $Texto_a_desplegar=$TEXTO;
  26.      break;
  27.     }
  28. }
  29.  
  30. }
  31. else {
  32.     echo "Hubo un problema al conectarse al servidor FTP!\n";
  33. }
  34.  
  35. // Cerramos la conexion FTP
  36. ftp_close($conn_id);
  37. ?>

Suerte!
__________________
¡Malditas computadoras que siempre hacen lo que les DIGO que hagan, no lo que QUIERO que hagan!
  #6 (permalink)  
Antiguo 26/02/2010, 11:05
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Consulta en sql sobre dato en archivo

no a ver, tengo un tabla con datos que provienen de una Base de Datos y se colocan en celdas
tal que asi:
[IMG]C:\Documents and Settings\Santi\Mis documentos\Mis imágenes\Dibujo2.bmp[/IMG]

Entonces quiero que lo que hay en la celda nvlo me abra un archivo dat me compare si esta el mismo dato de la celda en el archivo y me muestre una linea en un tip de todos los datos iguales que hay en el archivo tipo asi:

[IMG]C:\Documents and Settings\Santi\Mis documentos\Mis imágenes\Dibujo1.bmp[/IMG]

Última edición por sdddd2; 26/02/2010 a las 11:23
  #7 (permalink)  
Antiguo 26/02/2010, 11:58
 
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Consulta en sql sobre dato en archivo

Bueno mas sencillo el archivo .dat contiene los siguientes datos:

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

y quisiera que si en la celda hay el numero 4480 me mostrara solo las lineas que contengan ese numero en el archivo .dat a modo de tip en onmouseover, o sea que cuando me ponga encima la celda que contenga el numero 4480 me muestre un tip con la linea que haya encontrado con ese numero en el archivo dat

Etiquetas: dato, sql
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 11:29.