• Publicidad

Poner el resultado de AJAX en varios DIVs

Discute todo acerca de JavaScript así como DHTML o la tecnología AJAX.

Poner el resultado de AJAX en varios DIVs

Notapor rookie » 2006-08-08 20:21 @889

Saludos a todos

Tengo mi codigo en JS desde el cual llamo a una rutina en PHP, dicha rutina consulta una base de datos y devuelve el resultado a un DIV (ajax).

El problema es : como puedo hacer para que cada registro devuelto por el PHP aparezca en un <div> distinto, para asi formar una lista de divs por cada resultado de la consulta, necesito que apararezcan separados para poder tratarlos de manera independiente dentro de la página.

Hasta el momento todo el resultado me lo devuelve a un solo DIV, eso es ideal cuando se trata de un select en lugar de un div, pero como hacer que apararezcan en divs independientes???

Gracias de antemano por su ayuda.
rookie
Perlero nuevo
Perlero nuevo
 
Mensajes: 41
Registrado: 2006-03-01 18:48 @825

Publicidad

Notapor explorer » 2006-08-09 04:22 @223

Aquí tienes un ejemplo:
http://meneame.net/sneak.php

Si analizas el código fuente html, verás que en la página existen varios div que forman las distintas filas de la tabla.

Cuando llega la petición Ajax, el código sólo tiene que saber cuántas filas nuevas hay (para hacer la animación del cambio de color en las primeras filas) y luego va rellenando los contenidos en los divs, como si fueran las filas de una tabla.

Esta es una solución: rellenar divs ya creados en la trama del html, pero estoy seguro que con JavaScript se pueden crear nuevas estructuras html. Entonces, en este otro caso se trataría de crear varios div dentro de otro que ya resida en el html inicial.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor rookie » 2006-08-09 16:42 @738

Saludos explorer.

Intenté con la segunda solución que me propusiste y resultó aunque no a un 100%. Hice un div en HTML (cliente) y desde PHP(server) intento crear más div dentro del que ya está creado en HTML. Pero todos los resultados los mete dentro de un solo DIV, el de html. Pongo el codigó.

en HTML:
Código: Seleccionar todo
<div id="createNew"  align="center" style="width: 400px; height: 50px";>
           
      <h3>Seleccione el tipo de aplicacion</h3>
      <select name="app" id="app" onChange="habilita_op()" >  <!--habilita_op es la funcion que manda los datos de este select al PHP-->
      <?=$llena_aplic; ?></select>
   </div>
       
   <div id="group1" class="section" style="width: 420px;">
      <h3 class="handle">Administradores</h3>
      <div id="adm" class="lineitem">   </div>  <!-- Aqui deben llegar los datos devueltos  por el PHP y es correcto, pero llegan todos en conjunto y yo lo que busco es separar cada resultado en un DIV distinto -->
   </div>

en PHP
Código: Seleccionar todo
// solo es una parte de la funcion, pero es la parte importante
$query= "SELECT * FROM tabla1 '; ";
$database->setQuery( $query );
$rel_doctos=$database->loadObjectList();
if ( $database->getErrorMsg()) { echo "Hubo un error  contacta al administrador"; exit(); }
foreach ($rel_doctos as $value) {  //aqui intento crear los div para cada resultado de la consulta, pero los mete todos dentro de un solo div. 
    echo "<div class='lineitem'>".$value->desc_menu."</div>";
}


Sale bien, excepto que todos los resultados no los divide en cada DIV, sino que los manda todos en un solo DIV .
rookie
Perlero nuevo
Perlero nuevo
 
Mensajes: 41
Registrado: 2006-03-01 18:48 @825

Notapor explorer » 2006-08-09 19:22 @849

No tengo ni idea de lo que hace loadObjectList, pero lo que he visto por ahí, en algún foro, es que existe la posibilidad de que en el bucle foreach sólo exista un valor en la variable $rel_doctos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Como crear los divs desde javascript

Notapor rookie » 2006-08-16 09:34 @440

Saludos a todos.

Ya intente de varias maneras hacer que los cada uno resultados devueltos por PHP se coloquen en DIVs distintos, independientes. Al parecer solo se conseguira cuando pueda crear los divs con Javascript de cada registro devuelto por la consulta realizada en PHP.
Esto es posible???

De tal manera que la linea
<div id='adm_$i' class='lineitem'> valor_a_desplegar </div>

Se pueda crear desde Javascript.
rookie
Perlero nuevo
Perlero nuevo
 
Mensajes: 41
Registrado: 2006-03-01 18:48 @825

Notapor AkonD » 2006-08-16 13:41 @611

Solo tienes que desplegar html desde javascript usando el objecto document de javascript...

Ejemplo:

document.write("<div id='adm_$i' class='lineitem'> " + valor_a_desplegar + "</div>");

valor_a_desplegar seria una variable de js..

salu2
AkonD
Perlero nuevo
Perlero nuevo
 
Mensajes: 50
Registrado: 2005-10-06 06:36 @316
Ubicación: España

Solucion : Recargar toda la pagina

Notapor rookie » 2006-08-17 16:03 @710

Saludos a todos.

Bien.. al parecer quedo resuelto el problema, tuve que colocar mi funcion de PHP en el mismo script y en la misma forma, asi que cuando hago un SUBMIT me reconozca los nuevos divs que coloco desde el PHP.

Esto no me funciono teniendo a PHP independiente e intentando que colocara los nuevos divs de forma independiente dentro del DIV donde se envia la respuesta del Httpd_request.
Si alguien se interesa por el codigo puedo hacerselo llegar por mail.

Gracias por su ayuda.
rookie
Perlero nuevo
Perlero nuevo
 
Mensajes: 41
Registrado: 2006-03-01 18:48 @825


Volver a JavaScript

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados