Ver Mensaje Individual
  #11 (permalink)  
Antiguo 22/08/2011, 10:23
agcforos
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Pasar array de PHP a Javascript

Buenas tardes.
IEKK o cualquiera que me pueda y quiera, os pediría que por favor me echéis una mano.
IEKK, estoy realmente haciendo copia y pega del código que me comentaste en este hilo pero no entiendo que es lo que hace a partir del echo...

Cita:
<script languaje="javascript">
var myArr=[<?php foreach($array_preguntas as $key => $value) echo ($key!=count($array_preguntas)-1) ? '"'.$value.'",' : '"'.$value.'"' ?>];
</script>
Pruebo y siempre consigo que todo lo que lleve el array no sea otra cosa que la palabra 'Array' como valor.
Tampoco se si en el supuesto de que fuese correcto y hubiese pasado el array php a un array javascript, lo tenga que pasar como parámetro de la forma que lo estoy haciendo.
Agradecería mucho si tienes/tenéis un momento que me aclaráseis estas dudas y me dijéseis como debo de aplicar este código para poder pasar el array a javascript y poder pasarlo como parámetro.

script de llamada:
Cita:
<?
include ('aprendetu_sc_fns.php');
// Necesitamos una sesión, así que empezar una
session_start();

$curso = get_curso_name($idcurso);
$asignatura = get_asignatura_name($idasignatura);
$tema = get_tema_name($idtema);

do_html_header($curso." - ".$asignatura." - ".$tema);

// Obtener las preguntas relacionadas con el tema seleccionado
$preguntas = get_preguntas($idtema);
$numero_preguntas = @mysql_num_rows($preguntas);

$_SESSION['num_preguntas'] = $numero_preguntas;
$_SESSION['indice_array'] = 0;

if ($num_preguntas > 0){
display_repaso($num_preguntas);
// Array que contendrá las filas de nuestra consulta
$array_preguntas = array();
$indice=0;
while($r = mysql_fetch_assoc($preguntas)) {
//Agregamos la fila entera al array.
$array_preguntas[$indice] = $r;
echo $array_preguntas[$indice]['descpregunta']."<br>";
}
$indice++;
$_SESSION['array_de_preguntas'] = $array_preguntas;
?>

<script languaje="javascript">
var myArr=[<?php foreach($array_preguntas as $key => $value) echo ($key!=count($array_preguntas)-1) ? '"'.$value.'",' : '"'.$value.'"' ?>];
document.write(myArr[0][0]);
</script>

<?php

} else {
echo "<p>Este tema actualmente no tiene preguntas/respuestas a realizar</p>";
$solo_volver = true;
}

// configurar url para "botón Volver"
$target = "do_temas.php?idcurso=".$idcurso."&idasignatura=". $idasignatura;
//$mas = "do_preguntas.php?preguntas=".$preguntas."&idcurso =".$idcurso."&idasignatura=".$idasignatura."&idtem a=".$idtema;

// si está loqueado como admin, mostrar enlaces añadir y borrar libros
if(session_is_registered("admin_user"))
{
display_button("index.php", "continue", "Continue Shopping");
display_button("admin.php", "admin-menu", "Admin Menu");
display_button("edit_category_form.php?catid=$cati d", "edit-category", "Edit Category");
}
else if($solo_volver==0){
display_button($target, "volver", "Volver");
display_button("repasoPreguntas.html?idcurso=".$id curso."&idasignatura=".$idasignatura."&idtema=".$i dtema."&curso=".$curso."&asignatura=".$asignatura. "&tema=".$tema."&myArr=".$myArr, "comenzar", "Comenzar");
} else {
display_button($target, "volver", "Volver");
}

do_html_footer();
?>
script llamado:
Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="SyToo" />

<script type="text/javascript">

var title1;
var idcurso;
var idasignatura;
var idtema;
var curso;
var asignatura;
var tema;
var myArr = new Array();

function inicio(){
var vars=[];
query=window.location.search.substring(1);
q=query.split("&");
for(i=0;i<q.length;i++){
x=q[i].split("=");
k=x[0];
v=x[1];
vars[k]=v;
}
idcurso = vars['idcurso'];
idasignatura = vars['idasignatura'];
idtema = vars['idtema'];
curso = vars['curso'];
asignatura = vars['asignatura'];
tema = vars['tema'];
myArr = vars['myArr'];
title1 = curso+' - '+asignatura+' - '+tema;
document.title = unescape(title1);
verCabecera();
document.write(myArr[0][0]);
}

function verCabecera(){
document.getElementById('cat').innerHTML = unescape(title1);
}

</script>

<title>Sin título 11</title>
<style>
h2 {
font-family: Arial, Helvetica, sans-serif;
font-size: 22px;
color : red;
margin : 6px
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 13px
}
li, td {
font-family: Arial, Helvetica, sans-serif;
font-size: 13px
}
hr {
color: #FF0000;
width:70%;
text-align:center
}
a {
color: #000000
}
input.error{
background-color : silver;
border : 1px solid black;
}
#volver{
text-align:center
}
</style>


</head>

<body>

<table width=100% border=0 cellspacing = 0 bgcolor=#cccccc>
<tr>
<td rowspan = 2>
<a href = "index.php"><img src="imagenes/libro.png" alt="Anagrama Aprendetu" border=0
align=left valign=bottom height = 60 width = 247></a>
</td>
<td align = right valign = bottom>

</td>
</tr>
</table>

<h2 id='cat'></h2>





<script>
inicio();
</script>
</body>
</html>
Gracias y saludos.