Ver Mensaje Individual
  #17 (permalink)  
Antiguo 10/10/2012, 16:36
Uran
 
Fecha de Ingreso: enero-2012
Mensajes: 49
Antigüedad: 12 años, 3 meses
Puntos: 4
Respuesta: mostrar un listado php con ajax

Con permiso,

Primero decirte que no tienes por qué pasar parámetros necesariamente al usar Ajax.

Antes de decir nada aclarame, por favor, un par de puntos:
  1. Tienes un fichero PHP en el que se introducen unos valores que se almacenan en la base de datos
  2. Tienes otro fichero PHP que lee el valor de una variable global ($_SESSION['namecirc']) y devuelve un listado en función a éste
  3. Dispones de algún contenedor <div> para mostrar esta informacion
Si todo es así, lo que no entiendo son los siguientes puntos:
  1. ¿Dónde asignas el valor que vas a usar como parámetro ($_SESSION['namecirc']) para mostrar el listado
  2. ¿Por qué necesitas hacerlo en la misma función? Es decir, por qué no te creas una funcion listar() y la llamas después de ejecutar la función save()
Según yo lo veo, siempre y cuando estés seguro de que $_SESSION['namecirc'] tiene el valor que deseas, no necesitas pasar ningún parámetro, símplemente hacer la petición del archivo y listo, aunque lo propio es que envíes 'namecirc' como parametro y lo recibas después ($_POST['namecirc'] ó $_GET['namecirc']).

El tema de crearte otra función es porque teniendo en cuenta que ambas funciones son independientes, símplemente si todo va bien en save() llamas a listar() y si no muestras un alert("Error al almacenar los datos"), por ejemplo.

Por último, tal vez lo más importante, decirte que en el PHP que has posteado no tienes iniciada la tabla en la que muestras los datos y para colmo intentas sacar unos datos de la consulta que no pides, debería ser (comentarios en los cambios):
Código PHP:

 <?php
session_start
(); //A menos que ya tengas esta linea en config.php
include "config.php";
$nombrecir=$_SESSION['namecirc'];

//$query = "SELECT city FROM `sites` WHERE nombreCirc='".$nombrecir."'"; 
//Los cuatro campos que luego quieres mostrar: city,arrival,departure,comment
$query "SELECT city,arrival,departure,comment FROM `sites` WHERE nombreCirc='".$nombrecir."'";
$result mysql_query($query);
$numero 0;
// Creamos los estilos, aunque lo mejor sería tenerlos en un archivo .css incluido en la página principal y no en el AJAX
?>
<style type="text/css">
    .listado td{
        width:25%;
        font-family:verdana;
    }
</style>
<table class="listado"><?php //Creas la tabla
while($row mysql_fetch_array($result))
{
    
?>
    <tr>
        <td><?php echo $row["city"]?></td>
        <td><?php echo $row["arrival"]?></td>
        <td><?php echo $row["departure"]?></td>
        <td><?php echo $row["comment"]?></td>
    </tr>
    <?php
    $numero
++;
}
?>
    <tr>
        <td colspan="4">N&uacute;<?php echo $numero ?></td> <!-- He cambiado el colspan de 15 a 4 -->
    </tr>
</table><?php  //Cierras la tabla
mysql_free_result($result);
?>
Bueno ya me contarás