Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Ajax, llamar funciones desde PHP

Estas en el tema de Ajax, llamar funciones desde PHP en el foro de PHP en Foros del Web. Hola! Supongo que el título no es muy explícito pero eso tiene solución. Os explico: Estoy en medio de un proyectillo con AJAX (soy un ...
  #1 (permalink)  
Antiguo 09/05/2013, 02:59
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 10 años, 11 meses
Puntos: 0
Ajax, llamar funciones desde PHP

Hola!

Supongo que el título no es muy explícito pero eso tiene solución.

Os explico: Estoy en medio de un proyectillo con AJAX (soy un poco n00b con javascript) y la idea es que tengo un campo de texto y un botón, cuando lo pulsas ha de buscar resultados en una BD y dependiendo de estos resultados, que llene la tabla con las filas que toquen.

El tema va bien hasta que me toca colocar las filas, desde la parte de PHP no hay manera de ejecutar ninguna función javascript para que me las vaya poniendo.

Siguiendo indicaciones de algunos post de este foro he intentado pasar el resultado (la fila con los valores en html) mediante el funciondeajax.responseText y desde ahí ya procesarlo. Pero nada, lo máximo que he conseguido es sacar un alert con el responseText del demonio, pero con texto plano únicamente.

Teneis alguna idea?

Un saludo y gracias!
  #2 (permalink)  
Antiguo 09/05/2013, 03:09
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años
Puntos: 28
Respuesta: Ajax, llamar funciones desde PHP

Creo que no has llegado a entender como funcionan las llamadas AJAX.

Es tan sencillo como devolver desde la página PHP llamada, el html ya completo, es decir, todos los resultados en una tabla. Despues desde el evento success de la llamada AJAX simplemente asignas el resultado obtenido (el response) a un DIV y por consiguiente te aparecerá la tabla YA construida en ese DIV.
  #3 (permalink)  
Antiguo 09/05/2013, 03:31
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Ajax, llamar funciones desde PHP

Hola, gracias por la pronta respuesta.

Te refieres a pasarle toda la tabla? La cosa es que el encabezado me gustaría que se viera siempre. Si dejo visible el encabezado tal que así:


Código HTML:
 <table border="0" id="tabla1" >
        <tr>
            <th > Nombre</th>
            <th>Fecha</th>
            <th>Ciudad</th>
        </tr>
        
        <div id="tabla"></div>
</table> 
Y pretendo que en el div con id Tabla me ponga el HTML que recojo del php, me pone el código encima de la tabla, y sin los tags del html. Supongo que lo de los tags tiene solución, pero que me ponga el div donde quiere ... he leído que se puede poner el div en un <td> pero fuera de éste no.
  #4 (permalink)  
Antiguo 09/05/2013, 03:55
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años
Puntos: 28
Respuesta: Ajax, llamar funciones desde PHP

No entiendo, ¿Como que no te pone los tags html?
  #5 (permalink)  
Antiguo 09/05/2013, 04:10
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Ajax, llamar funciones desde PHP

Muestreo:

Si mal no he entendido antes, esto es a lo que te referías. Montar el código HTML en el PHP para que lo lea el js y que lo muestre en el div de la página HTML.

Código PHP:
$respuesta ="<tr><td>Juan</td><td>12</td><td>TGN</td></tr>" ;
echo 
$respuesta

Pues lo que muestra es (copiado directamente del navegador)
Código HTML:
<div id="tabla">
Juan12TGN
</div> 
Eso sacando el <div> fuera del <table> para que me lo muestre debajo del encabezado.

He probado de usar alguna funcioncilla PHP, como strip_tags() y poniendole los td, tr y table para que los permita, pero nada.

Espero que me haya podido hacer entender esta vez, llevo unas horas ya liado y estoy con la cabeza un poco llena :D


edito para comentar que el problema está en la función javascript, si el responseText lo monto en una alerta, en la alerta que me salen los tags, es al ponerlos en el div mediante el js que no me los imprime.

os copio la línea de código encargada de meterlo en el div

tabla.innerHTML=ajax.responseText;

¿Dónde estoy metiendo la pata? xd

edito2 parece que lo que no muestra son las etiquetas de tabla, porque la negrita si que me la muestra.

Última edición por pecident; 09/05/2013 a las 04:35
  #6 (permalink)  
Antiguo 09/05/2013, 09:17
 
Fecha de Ingreso: abril-2010
Ubicación: Cancun
Mensajes: 88
Antigüedad: 14 años
Puntos: 2
Respuesta: Ajax, llamar funciones desde PHP

Hazlo con puro div
  #7 (permalink)  
Antiguo 09/05/2013, 09:51
 
Fecha de Ingreso: mayo-2013
Mensajes: 6
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Ajax, llamar funciones desde PHP

En el foro de javascript me han hecho ver la luz.

http://www.forosdelweb.com/f13/etiquetas-tabla-mediante-innerhtml-1050629/
Gracias a todos :D

Etiquetas: ajax, funciones, html, resultados, tabla
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 07:40.