Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2012, 09:41
Avatar de luna690
luna690
 
Fecha de Ingreso: marzo-2012
Ubicación: Barcelona
Mensajes: 61
Antigüedad: 12 años, 1 mes
Puntos: 3
Exclamación PHP + Javascript + AJAX

Estoy haciendo una web. Lo tengo estructurado en carpetas:

en [WEB] tengo:
- connectar_bd.php
- funcions_bd.php
- carpetas: [estils] [imag] [web]

Necesito que al clicar una fotografia, via AJAX coja unos datos de la BD-MySql y los "escriba" en unos inputs que tengo preparados dentro de la misma página.

Código PHP:
<input type="hidden" readonly="readonly" id="hdd_menu" value="<?php echo $menu?>" />
<input type="hidden" readonly="readonly" id="hdd_idFoto" value="<?php echo $id?>" />
<input type="hidden" readonly="readonly" id="hdd_idNext" value="<?php echo $idnext?>" />
<input type="hidden" readonly="readonly" id="hdd_idNextText" value="<?php echo $textnext?>" />
<input type="hidden" readonly="readonly" id="hdd_idNextSrc" value="<?php echo $srcnext?>" />
<input type="hidden" readonly="readonly" id="hdd_lang" value="<?php echo $_COOKIE['lang']; ?>" />
En el archivo funcions.php tengo la "llamada" a AJAX. Esta dentro de la carpeta [estils]
Código PHP:
function cargaContenidoHddGaleria(idmenulang){        
    
//creem la petició si no existeix
    
if (window.XMLHttpRequest){ peticio = new XMLHttpRequest(); }

    
//enviem la petició:
    
peticio.open("POST""../web/llistat_hddGaleria.php"true);
    
peticio.onreadystatechange mostrarContingut;
    
peticio.setRequestHeader("Content-Type""application/x-www-form-urlencoded");
    
peticio.send("id="+id+"&menu="+menu+"&lang="+lang);
    
    
//funció que executa un cop les dades ens arriben
    
function mostrarContingut(){
        if (
peticio.readyState == 4){ alert(peticio.responseText);
            var 
dades = eval("(" peticio.responseText ")"); alert(dades);
            
document.getElementById("hdd_idFoto").value id;
            
document.getElementById("hdd_idNext").value dades.idnext;
            
document.getElementById("hdd_idNextText").value dades.textnext;
            
document.getElementById("hdd_idNextSrc").value dades.srcnext;            
        }
    }

En la página que cojo los datos de mysql esta en la carpeta [WEB]
Código PHP:
<?php
    
include_once ("../connectar_BD.php");
    include_once (
"../funcions_BD.php");

    
$menu $_POST['menu'];
    
$lang $_POST['lang'];
    
$id $_POST['id'];

    
//$id = getFirstIdDeMenu($menu);
    
$idnext getNextIdDeMenu($menu,$id);
    
$textnext get_textGaleria_llenguatge($idnext$menu$lang);
    
$srcnext "../imag/web/".get_srcGaleria_llenguatge($idnext$menu);

    echo 
"{
        'idnext':'$idnext',
        'textnext':'$textnext',
        'srcnext':'$srcnext'
    }"
;

?>
En la imagen donde tengo que buscar los datos es asi:
Código PHP:
<img src="<?php if(getFirstFotoDeMenu($menu)!=NULL){ echo "./imag/web/".getFirstFotoDeMenu($menu); } ?>" alt="" id="fotoGaleriaGran" 
    onclick="canviarImatgesDre(document.getElementById('hdd_idNextSrc').value, document.getElementById('hdd_idNextText').value, document.getElementById('hdd_idNext').value); cargaContenidoHddGaleria(document.getElementById('hdd_idNext').value, document.getElementById('hdd_menu').value, document.getElementById('hdd_lang').value);" />

No me cambia los datos.

Le he puesto un alert(peticio.responseText); antes de poner los datos en su respectivo input y me da el error: "El enlace requerido no ha sido localizado en el servidor."