⑴ php中 jquery如何获取js动态添加的文本框数组值,并插入mysql数据库
建2个页面
1、test.php页面,代码如下:
<title></title>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
x=100000;
y=1;
$("#dosubmit").click(function(){
var rand=parseInt(Math.random()* (x - y ));
var rand1=String.fromCharCode(Math.floor( Math.random() * 26) + "a".charCodeAt(0));
var col="<input name=info["+rand1+rand+"] type='text' class='text' value='"+rand+"' />";
$("input[id=submit]").before(col);
})
$("#submit").click(function(){
$("form input[class=text]").each(function(){
var val=$(this).val();
})
})
})
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div class="con">
<form name="form1" action="testsave.php" method="post">
<input name="info[name]" class="text" value="10" type="text">
<input name="" class="text1" value="显示" id="submit" type="submit">
</form>
<input name="" class="text1" value="增加" id="dosubmit" type="submit"><br>
</div>
2、保存提交过来的值页面testsave.php页面。代码如下:
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<?php
$value="";
$test='test';
$conn=mysql_connect('localhost','root','0000','test');
mysql_select_db($test,$conn);
foreach($_POST['info'] as $key){
$value=$value.','.$key;
}
$sql="insert into base (name) values ('$value')";
if(mysql_query($sql)){
echo "添加成功<br />";
}
?>
<input type="button" name="button" id="button" value="显示/隐藏内容">
<input type="button" name="domit" id="domit" value="返回">
<div class="content" style="display:none">
<?php
$sql1="select id,name from base";
$query=mysql_query($sql1);
while($result=mysql_fetch_array($query)){
echo $result['id']."========>".$result['name']."<br />";
}
?>
</div>
<?php
mysql_close($conn);
?>
<script type="text/javascript">
$(function(){
$("#button").bind("click",function(){
var show=$("div.content");
if(show.is(":visible")){
show.hide();
}
else{
show.show();
}
})
$("#domit").click(function(){
window.history.go(-1);
})
})
</script>
⑵ PHP如何接收动态数据保存并实时显示到网页上
头部加上超时控制,但对于很多服务器无效,因为服务器输出超时很多在服务器控制,所以建议用cmd脚本方式运行此程序:
<?php
set_time_limit(0); //禁用脚本超时
//Createthesocketandconnect
$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
$connection=socket_connect($socket,'116。236。128。220',14580);
//Writesometestdatatooursocket
if(!socket_write($socket,"userNoCallpass-1verstest1.0filterb/B* "))
{
echo("<p>Writefailed</p>");
}
if(!file_exists('socket_log.html')){
file_put_contents('socket_log.html','<script>
varxx=setInterval(function(){ //每5秒刷新一次页面
window.location.reload();
},5000);
</script>');
}
//Readanyresponsefromthesocket
while($buffer=socket_read($socket,64,PHP_NORMAL_READ))
{
echojson_encode($buffer);//转换为json数据输出
//记入文件
file_put_contents('socket_log.html',json_encode($buffer),FILE_APPEND);
}
echo("<p>DoneReadingfromSocket</p>");
使用方法:用命令行方式运行此脚本
phpscript.php
脚本会一直运行到接收数据结束,并持续将收到的数据写入socket_log.html文件。
在浏览器打开socket_log.html页面,此页面会自动每5秒刷新一次,来显示最新的数据。
确保程序有权限创建及写入socket_log.html文件
⑶ PHP实现动态读取进度,form提交与ajax提交同步,ajax实时获取form提交后的数据处理进度。
发送2个ajax请求读取2个不同的服务器页面就可以了
function submitForm(){
//第一个请求,将表单数据提交到某服务器页面
//第二个请求进度页面,也就是读取session,
}
callback是必须在等到服务器页面执行完成并输出结果后才会调用的
虽然第一个处理表单的页面可能还没全部执行完成,但是sesesion应当是已经产生了的,
而第二个请求每间隔一段时间久请求进度页面一次,读取当前的session值
⑷ PHP怎样抓取网页代码中动态显示的数据
你是想抓别人网页上ajax动态载入的数据吧?
1、要找到它的ajax载入的URL地址
2、利用PHP的file_get_contents($url)函数读取那个url地址。
3、对抓取到的内容进行分析或正则过滤。
⑸ 请问php怎样抓取其它网站的动态数据,显示在自己的网页内并同步更新。
刚吃完午饭吧,来帮你实现一下吧。记得加分哦。
$url = "http://www.boc.cn/sourcedb/whpj/";
$queryServer = curl_init();
curl_setopt($queryServer, CURLOPT_URL, $url);
curl_setopt($queryServer, CURLOPT_HEADER, 0);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, true);
curl_setopt($queryServer, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($queryServer, CURLOPT_TIMEOUT, 30);
$html = curl_exec($queryServer);
$html = iconv('UTF-8','GBK//IGNORE',$html); //如果你需要是的数据是utf-8编码的,这一行可以注销,如果需要gbk编码的,请保留.如果出现乱码,就是一行的问题,你自己调着试吧
//echo $holder;exit; 此处可以输出来测试.
$html = str_replace(array("\n","\r","\t"),"",$html);
$preg = '/<table\s+width=\"800\"[^>]+>(.*?)<\/table>/';
preg_match_all($preg,$html,$out);
//匹配每行
preg_match_all('/<tr[^>]+>(.*?)<\/tr>/',$out[1][0],$tr);
//匹配每个td
$result = array();
$match = '/<td.+>([^<]+)<\/td>/U';
foreach( $tr[0] as $key => $value ){
preg_match_all($match,$value,$arr);
$result[] = $arr[1];
}
//输出测试,$result就是你要的数据,至于你要怎么输出显示格式,那就随心调就好了。
foreach( $result as $key => $value ){
echo implode("\t",$value);
echo "<br>";
}
exit;