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']; ?>" />
Código PHP:
function cargaContenidoHddGaleria(id, menu, lang){
//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;
}
}
}
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'
}";
?>
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."