Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-02-2018
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Muchas gracias, Dec por responder y...¡tan pronto! y...¡en domingo!

Nunca he usado Ajax. (Aunque he oído hablar mucho de él) A lo mejor es más sencillo de lo que me imagino. ¿Tengo entendido que hay que subir algunos scripts a la web? ¿o me confundo con otra cosa?

Bueno, que php se ejecuta en el servidor y JS en el lado del cliente, ya lo sé. Y "combinarlos" no es tarea fácil (y en algunas circunstancias, IMPOSIBLE)

No obstante, hay algunas combinaciones posibles, quizá no recomendables, pero posibles.

Te copio una función, que estoy usando y que funciona correctamente. Y que lo que pretendo hacer es prácticamente lo mismo. Es la función a la que me refería en mi hilo anterior en este foro. Quizá no sea muy elegante, pero funciona.

Código PHP:
<script> 

// creamos la matriz 
function HazArray() 

 datos = new Array ();  

<?php         
php 
  define 
('ARCHIVO_DATOS''fichero.txt'); 

  if (!
file_exists(ARCHIVO_DATOS)) // Aviso si no encuentra el fichero 
    
die ('<pre>no encuentro el fichero "'.ARCHIVO_DATOS.'".</pre>'); 
  
$fa2 file(ARCHIVO_DATOS); // leemos todo el fichero en un array php 
  
if ($fa2 === FALSE// Aviso si no recibió los datos del fichero 
    
die ('<pre>No pude leer el fichero "'.ARCHIVO_DATOS.'".</pre>'); 

    
$size count($fa2);     
     
for(
$i=0$i<$size$i++)  
    {         
    
$fa2[$i] = utf8_encode($fa2[$i]); 
    
$text explode("|",rtrim($fa2[$i]));     
    
?> 
     
    datos.push(<?php echo json_encode($text);?>); 
     
    <?php     
    

?>                         


//El select queda así 
 <select name="Nombres" size="50" id="Nombres" onChange="Rellenar()" > </select> 

// Actualizamos los datos del formulario 
function Rellenar() 
{     
indice = (document.getElementById('Nombres')).selectedIndex; 

document.encuesta.item01.value = datos[indice][0]; 
document.encuesta.item02.value = datos[indice][1]; 
document.encuesta.item03.value = datos[indice][2]; 
document.encuesta.item04.value = datos[indice][3]; 
document.encuesta.item05.value = datos[indice][4]; 
document.encuesta.item06.value = datos[indice][5]; 
document.encuesta.item07.value = datos[indice][6]; 
document.encuesta.item08.value = datos[indice][7]; 
document.encuesta.item09.value = datos[indice][8]; 
document.encuesta.MultiText1.value = datos[indice][9]; 
document.encuesta.MultiText2.value = datos[indice][10]; 
document.encuesta.MultiText3.value = datos[indice][11]; 
document.encuesta.email.value = datos[indice][13]; 
     


</script>
La función a que me refiero es "HazArray()"

Lo que pretendo hacer es usarla con otro nombre de archivo. El problema está en que, no sé por qué no me permite usarla en esta parte del código, para rellenar un array parecido.

Gracias, por tu interés.
Un saludo.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #2  
Antiguo 18-02-2018
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Hola a todos.
Dec, no te quiebres la cabeza, soy un cazurro. Llevo con esto 2 días completos. Pero probando en casa, ahora acabo de probarlo en el servidor, y parece que SI QUE FUNCIONA. Nunca lo hubiera imaginado. Ya lo se.
Mis disculpas. Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #3  
Antiguo 18-02-2018
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Lo que tú haces en el código PHP que muestras es preparar, por decirlo así, cierto código Javascript. Eso es perfectamente posible, ahora bien, dicho Javascript se ejecutará ya en el cliente, y, ahí PHP no tiene nada que hacer (no hay intérprete de PHP en el cliente). Es decir, resumiendo, no puedes usar una función de PHP en código Javascript, ni tampoco lo contrario. Digamos que lo que muestras podemos llamarlo "combinar", y, eso, es posible, pero, lo que no podrás hacer es "mezclar" código PHP y Javascript.

Tendrás que investigar sobre "AJAX", puesto que no hay otra forma de, desde Javascript, ejecutar un script de PHP y conocer su resultado. Esto sería parecido a "llamar a una función de PHP en Javascript", pero, no es exactamente así: en realidad se hace una llamada HTTP al servidor, donde se ejecuta un script PHP, que, retorna un resultado, que, puede aprovecharse en Javascript. Pero hay que pasar por todo esto, no puedes, simplemente, ejecutar una función de PHP desde Javascript.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Función javascript que llama a otra función javascript en otra página jandroruiz HTML, Javascript y otros 4 28-02-2013 11:38:00
delphi for php insertar funcion javascript en el head del html raulb PHP 0 21-08-2010 02:11:37
No se que parametro enviarle a esta funcion en javaScript gulder HTML, Javascript y otros 1 11-11-2008 21:06:11
Llamar una funcion javascript desde vbscript bellota HTML, Javascript y otros 0 24-07-2007 01:33:58
Ejecutar función de JavaScript a partir del nombre de su identificador (string) dec HTML, Javascript y otros 12 24-08-2006 01:30:45


La franja horaria es GMT +2. Ahora son las 05:01:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi