2012-10-10 18 views
10

Sírvanse proporcionar ayuda sobre cómo asignar valores PHP matriz de Javascript gamacómo asignar valores de la matriz de php a javascript gama

----------- mediante el siguiente código php estoy almacenamiento de datos en php ----------- gama

<?php 
$str_query="SELECT title,description FROM tablename ORDER BY title"; 
$rs_sch=GetRecordset($str_query); 

$int_count=0; 
$schd_arr = array(); 
while(!$rs_sch->EOF()) 
{ 
$schd_arr[$int_count] = $rs_sch->Fields("title").": ".$rs_sch->Fields("description"); 
$rs_sch->MoveNext(); 
$int_count++; 
} 
?> 

----- mediante el siguiente código JavaScript que estoy tratando de almacenar datos de la matriz PHP en JavaScript gama -----

por favor, deje Yo sé qué y cómo escribir la variable en las 2 ubicaciones mencionadas abajo para que mi código pueda funcionar.

<script type="text/javascript" language="javascript"> 
var pausecontent=new Array() 
for (sch_cnt=0; sch_cnt<*Here I want to assign value of $int_count php variable*; sch_cnt++) 
{ 
pausecontent[sch_cnt]=<?php *Here I want to assign php array and counter values (something like this - $schd_arr[sch_cnt];)* ?>; 
} 
</script> 

gracias de antemano, KRA

+1

Si el script se encuentra dentro del mismo archivo que el código fuente PHP, asegúrese de que el código se ejecuta en primer lugar, a continuación, puedes hacer referencia a ella. De lo contrario, agregue un poco de información sobre lo que está tratando de hacer – nijansen

Respuesta

30

no se puede bucle de esa manera, es necesario bucle de la matriz PHP y push en Javascript matriz:

<script type="text/javascript" language="javascript"> 
    var pausecontent = new Array(); 
    <?php foreach($schd_arr as $key => $val){ ?> 
     pausecontent.push('<?php echo $val; ?>'); 
    <?php } ?> 
</script> 
+0

Muchas gracias, esto funciona para mí. – KRA

+0

@hakre respuesta es más preferible que la seleccionada –

-1

Sólo puede hacer así con ambos:

for (sch_cnt=0; sch_cnt<?php echo $int_count; ?>; sch_cnt++) 
32

usted puede utilizar directamente el json_encode función. Es fácil de usar y produce javascript válido, por lo que es muy estable:

<script type="text/javascript"> 
    var pausecontent = <?php echo json_encode($php_array); ?>; 
</script> 
+1

Especialmente ya que esto arrojará javascript válido. Mucho más preferible. – hakre

2

Creo que lo mejor es obtener primero la matriz en su javascript. Eso sería algo como esto:

var theVariableYouWantTheArrayIn = <?php echo json_encode($theArrayYouWantInJavascript); ?> 

Después de que se trata de una matriz js normal, por lo que puede utilizar las propiedades como .length que presumiblemente hacer el bucle mucho más fácil.

0

Sobre ambas respuestas en el bien.

  1. iterar a través de la matriz que tiene como resultado de la consulta DB y agrega cada valor a una nueva variable PHP,
  2. Añadir un contador y se incrementará durante cada iteración para asegurarse de que no se va a añadir una coma después del último elemento,
  3. Si el recuento de los elementos en la matriz es mayor que 1, cree la matriz como de costumbre; de ​​lo contrario, cree una nueva matriz con 1 elemento y asigne su valor de matriz PHP al índice 0.
0

Tenía lo mismo problema de hacer esto, pero finalmente encontró la mejor solución

<script>  
    var arr=[]; 
    arr.push('<?php 
      include('conn.php'); 
     $query = "SELECT *FROM c group by name"; 
     $res = mysqli_query($conn,$query) or die(mysqli_error($conn)); 

     while($data = mysqli_fetch_array($res)) 
     { 


      echo $data["name"]; 
     } 
      ?>'); 
     </script> 
Cuestiones relacionadas