⑴ 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;