Veuillez fournir de l'aide sur la façon d'attribuer des valeurs de tableau php à un tableau javascript
----------- En utilisant le code php ci-dessous, je stocke des données dans un tableau php -----------
<?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++;
}
?>
----- En utilisant le code javascript ci-dessous, j'essaie de stocker des données de tableau php dans un tableau javascript -----
S'il vous plaît laissez-moi savoir quoi et comment écrire la variable en dessous de 2 emplacements mentionnés afin que mon code puisse fonctionner.
<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>
Merci d'avance, KRA
Vous ne pouvez pas boucler comme ça, vous devez boucler le tableau PHP et Push
dans un tableau javascript:
<script type="text/javascript" language="javascript">
var pausecontent = new Array();
<?php foreach($schd_arr as $key => $val){ ?>
pausecontent.Push('<?php echo $val; ?>');
<?php } ?>
</script>
Vous pouvez directement utiliser la fonction json_encode
. Il est facile à utiliser et produit du javascript valide, il est donc très stable:
<script type="text/javascript">
var pausecontent = <?php echo json_encode($php_array); ?>;
</script>
Je pense que vous feriez mieux de placer le tableau sur votre javascript en premier. Ce serait quelque chose comme ça:
var theVariableYouWantTheArrayIn = <?php echo json_encode($theArrayYouWantInJavascript); ?>
Après cela, il s’agit d’un tableau js normal. Vous pouvez donc utiliser des propriétés telles que .length, ce qui facilitera vraisemblablement la boucle.
J'ai eu le même problème en faisant cela, mais j'ai finalement trouvé la meilleure solution
<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>
Au-dessus des deux réponses en bien.