Foros del Web » Creando para Internet » Diseño web »

Proyecto integrado - Gestión Servidores (HTML-CSS-PHP-MySQL-JQuery)

Estas en el tema de Proyecto integrado - Gestión Servidores (HTML-CSS-PHP-MySQL-JQuery) en el foro de Diseño web en Foros del Web. Hola llevo bastante tiempo leyendo este foro en las sombras y bueno ahora estoy acabando la F.P.S de Administración de Sistemas Informáticos. Como algunos sabrán ...
  #1 (permalink)  
Antiguo 04/06/2010, 09:37
Avatar de fjsermu  
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 7 años, 6 meses
Puntos: 0
Proyecto integrado - Gestión Servidores (HTML-CSS-PHP-MySQL-JQuery)

Hola llevo bastante tiempo leyendo este foro en las sombras y bueno ahora estoy acabando la F.P.S de Administración de Sistemas Informáticos.

Como algunos sabrán se requiere hacer un proyecto final para completar el curso. Mi idea es realizar una web utilizando PHP, MySQL, JQuery. Para crear una aplicación que permita la gestión de servidores desde una interfaz web.

La primera versión de mi web lo hacía todo correctamente sin JQuery. Luego decidí mejorarlo con este framework de JavaScript.



En principio la idea es lo que estais viendo en la imagen.

El navegador carga los div (En principio vacíos).
Luego con Ajax se cargan de información.
Ajax se comunica con un fichero php "cmdsend.php". (Este fichero solo contiene un switch que dependiendo de la opción que le llegue por POST llama a un método u otro).

Algo así:
Código PHP:
Ver original
  1. if(isset($_POST['cmd'])){
  2.     switch($_POST['cmd']){
  3.         case 'cnav':
  4.             echo "prueba";
  5.             break;
  6.         case 'load_footer':
  7.             controller::gui_get_footer();
  8.             break;
  9.         case 'load_cnav':
  10.             $oConn->db_query_cnav();
  11.             break;
  12.     }
  13. }

Aquí me surge una duda que me hace pensar si este planteamiento es correcto o no. Puesto que al intentar llamar con AJAX la primera vez para cargar los DIV, necesito que estos datos se incluyan en el dom para luego ser vueltos a tratar con JQuery.
La funcion live() no permite que sea llamada después de que el documento esté listo (o al menos eso creo).
Había pensado en una pequeña ventana emergente con algo así como "Bienvenido!" con un botón para poner el evento click a la funcion live. Y así conseguir que todo se cargara. Pero lo veo un poco chapuzas. ^^

¿Teneis alguna idea para hacer funcionar esto con live()? No se si existe algo más en JQuery para añadir peticiones AJAX al DOM. Sin que sea necesario recurrir a plug-ins de terceros.

Estoy abierto a cambios, aunque esto suponga volver a escribir el código (no es mucho^^).

P.D: He colocado este hilo aquí porque la idea es ir colgado mi proyecto por si en el futuro le puede ser útil a alguien. Estuve pensando en colgarlo en la sección de JQuery, ya que mi primera pregunta es relaciona con esta tecnología. Pero como quiero ir posteando mis avances en este hilo para que sea útil a los demás. Pues he deducido que estaría mejor en web en general. Si me he equivocado, os pido disculpas.
  #2 (permalink)  
Antiguo 06/06/2010, 17:07
Avatar de fjsermu  
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 7 años, 6 meses
Puntos: 0
Respuesta: Proyecto integrado - Gestión Servidores (HTML-CSS-PHP-MySQL-JQuery)

Al final con el plugin livequery lo he conseguido. Aunque no entiendo porqué tras hacer esto:

Cita:
function load_cnav(){
$("#cnav").livequery(function(){
$(this).load("includes/cmdsend.php", {"cmd": "load_cnav"});
});
};
Y hacer la correspondiente llamada a load_cnav(). Tengo que hacer esto:

Cita:
$("#cnav > ul > a > li").livequery("click",function(){
var server_id = $(this).attr("id");
alert("click! in number " + server_id);
});
No entiendo porqué tengo que volver a llamar a livequery para que funcione el evento click. Si le quito livequery entonces esto no funciona. Pero bueno lo importante es que ya funciona al fin y al cabo.

Etiquetas: css, html, jquery, mysql, php, aplicaciones
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:28.