在while循环中保存变量

时间:2013-10-21 07:59:32

标签: javascript php variables while-loop

不太确定你是怎么做到的。但我想在我的while循环中将我的javascript变量保存为数据(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"

2 个答案:

答案 0 :(得分:0)

<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值。

答案 1 :(得分:0)

在WHILE LOOP之前声明$data = new Array();然后在WHILE LOOP中你可以$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'