Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2011, 05:45
jesusjj
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
jQuery $.ajax y PHP con un CSV

Buenos días y Feliz año:

Estoy intentando devolver por ajax con jQuery el contenido de un CSV que quiero mostrar en una ventana modal.

La ventana la he hecho oculta, de manera que sólo se muestra al hacer click en ciertos sitios y así no tener problemas con la carga de css, clases, etc.

El problema que tengo es al volcar el contenido del csv y mostrarlo, ya que mediante post envío a un fichero PHP qué debe leer, pero no tengo claro cómo devolverlo a la página para que lo muestre.

El firebug, en la respuesta sí muestra lo que debería salir, pero la página no lo pinta, con lo que no tengo claro si necesitaría algún tipo de refresh.

La estructura de archivos, la verdad es un poco confusa, lo que puede ser el origen del problema, ya que tengo una home, que carga contenidos mediante includes. En uno de ellos tengo un listado con enlaces, que son los que abren la ventana modal. En el evento 'onclick' de los elementos de este listado, se hace la llamada a la función que muestra la ventana y en teoría debería hacer todo el proceso.

Por post, llamo a una página enviándole unas variables que ejecutan otra función php, que es la que debería mostrar los datos en la ventana, pero que no lo hace.

El orden es generar la visualización con PHP y después mostrar la ventana.

La función PHP es:
Código PHP:
function productsCatalog($clave$fichero) {
    
    
$fileCSV RUTA_CSV.$fichero.'.csv';
    
    foreach(
CsvToArray::open($fileCSV) as $product) {
        
$categoria $product[1];
        
        if(
$categoria == $clave) {
            echo 
'Entra hasta el fondo';
        }else{
            echo 
'No debería entrar';
        }
        
        echo 
$categoria;
    }    

Que se llama desde:
Código PHP:
if(isset($_POST['pag']) && ($_POST['pag'] == 'products') && isset($_POST['clave'])) {
    
$clave $_POST['clave'];
    
    
productsCatalog($clave'products');
    

Con los datos enviados por ajax desde:
Código Javascript:
Ver original
  1. $.post('index.php', {pag:'products', clave: popID});


Lo dicho, creo que lo estoy haciendo demasiado enrevesado, pero el miedo que tengo es que al devolver desde la función php el array de datos, se vuelva todo loco y sea incapaz de discriminar los campos.

Espero que alguien pueda echarme una mano u orientarme.

Muchas gracias.

Saludos.

Última edición por jesusjj; 04/01/2011 a las 05:59