在 while 循环中保存变量


Saving variables within while loop

不太确定你是怎么做到的。但是我想在我的while循环中将我的javascript变量保存为data(1,2,3,4,...)。很高兴得到任何帮助!谢谢

$id = 0;
while($rows = mysql_fetch_array($data)){
$id = $id + 1;
$data = $rows['data'];
?>

<script>
    var id = '<?php echo $id; ?>'; //1,2,3,4,5,6,...
    var data = '<?php echo $id; ?>'; // Example - Data 1 = Frog, Data 2 = Bird 
    // So here I want to sava variables so the name will be
    // var "data+'id'"; 
    // And the output is data for that row 
</script>

<?php
}
?>
//And here outside I want to use the variables like this:
document.write(data1); writes out "Frog"
document.write(data2); writes out "Pig"
<script>
var jsData = [];
<?php
$id = 0;
while($rows = mysql_fetch_array($data)){
    $data = $rows['data'];
?>
    jsData[<?php echo $id; ?>] = '<?php echo $data; ?>';
<?php
    $id++;
}
?>
</script>

这将产生一个名为jsData的JS数组,其中您的ID是索引,并填充了PHP $data值。

在 WHILE 循环

之前声明$data = new Array();,然后在 WHILE 循环中,您可以执行$data['id'][$id]= $id这将收集所有 IDS。

在其下方添加$data['data'][$id]= $row['data'],以便收集所需的每个data

在脚本标记中执行以下操作:


var id = <?php echo '['.join(',', $data['id']).']' ?> //will create --> [1,2,3,4,5,6,7] var data = <?php echo '['.join(',', $data['data']).']' ?> //--> ['cat', 'dog', 'cow', 'sheep']

现在您可以访问创建的 Javascript 数组中的变量,例如。 $data[0] // 'cat'