Bra*_*ung 1 javascript php preg-split
请参考下面的代码.
$dArr = '<script>document.write(volunteerDist);</script>';
Run Code Online (Sandbox Code Playgroud)
$ dArr获取志愿者的价值.echo $ dArr打印值4.1,9.4,2.3,4.7,9.1,14.7,3.2,7.1,4.1,0.5
我想把它拆分成一个数组中的元素,所以我使用:
$dArr = preg_split("/,/", $dArr);
Run Code Online (Sandbox Code Playgroud)
但$ dArr是一个只有一个元素的数组,这是所有的值..这意味着没有preg_split发生.我也试过了
$temp=explode(",", $dArr);
Run Code Online (Sandbox Code Playgroud)
但仍然没有奏效.
我试图直接粘贴值(即上面的数字)和preg_split
$temp=explode(",", '4.1,9.4,2.3,4.7,9.1,14.7,3.2,7.1,4.1,0.5');
Run Code Online (Sandbox Code Playgroud)
它很成功.怎么了?请注意,当我回显$ dArr时,会打印数字.
您在这里混合服务器端和客户端代码和逻辑.
由于document.write将输出写入浏览器的方法,您会看到"正确"的输出.
您无法直接与服务器端代码中的客户端变量进行交互.
您必须使用AJAX将客户端值发送到服务器,或者在客户端解析它:
<script type="text/javascript">
var dArr = volunteerDist.split(",");
for (var i = 0; i < dArr.length; i++)
document.write(dArr[i] + "<br />");
</script>
Run Code Online (Sandbox Code Playgroud)
编辑:虽然我不是PHP开发人员,但阅读其他一些帖子给了我足够的示例代码.
要将客户端volunteerDist变量的值发送到PHP并保存到数据库,首先在代码中包含jQuery:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
现在在定义和创建变量之后的某个地方:
<script type="text/javascript">
$.ajax({
type: "POST",
url: "yourpagehere.php",
data: "volunteerDist=" + volunteerDist,
dataType: "html"
});
</script>
Run Code Online (Sandbox Code Playgroud)
并读取此数据并添加到数据库:
<?php
$volunteerDist = $_POST['volunteerDist'];
if(isset($volunteerDist)) {
$dArr = preg_split("/,/", $volunteerDist);
foreach($dArr as $volunteer) {
$sql = "INSERT INTO TableName (fieldname) VALUES ('".$volunteer."')";
mysql_query($sql) or die(mysql_error());
}
}
?>
Run Code Online (Sandbox Code Playgroud)
当然,您需要将页面名称,表格名称和字段名称更改为实际值.
| 归档时间: |
|
| 查看次数: |
1421 次 |
| 最近记录: |