[请益] 关于PHP.AJAX取MYSQL值的问题

楼主: dd5637214 (dd4127365)   2015-09-08 15:16:43
请问各位前辈
最近看了这个网页做了一个网页
http://www.w3schools.com/php/php_ajax_database.asp
节录几行比较重要的
他是用XMLHttpRequest()
(1).document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
(2).<div id="txtHint"> <b>Person info will be listed here...</b> </div>
在(1)是指回传的东西传到 txtHint,(2)就是txtHint,
会把另一个网页显示的直接带到这个DIV
另一个网页PHP显示的是
echo "<input type='text' id='pppri' value='".$qqq."'>";
这个部分我都可以正常运作,存取MYSQL也皆正常。
我想请问的部分是有没有办法回传变量 $qqq ?
谢谢各位了。
**************************
我把我的程式码贴上来好了 XD
1.php
echo "
<script>
function showpri(str,pri) {
if (str == '') {
document.getElementById('pppri').innerHTML = '';
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById('pppri').innerHTML =
xmlhttp.responseText;
}
}
xmlhttp.open('GET','ord_create_2.php?pri='+pri+'&q='+str,true);
xmlhttp.send();
}
}
</script>";
echo "<table>";
echo "<tr>";
echo "<td>" ;
//ins_pro_1
echo "<form action='./ord_create.php' method='post'>产品: " ;
echo "<select name='ins_pro_1'
onchange='showpri(this.value,ins_qua_1.value)'>";
echo "<option></option>";
while($row_pro_1=mysql_fetch_assoc($pro_1)){
echo "<option value='".$row_pro_1['p_id']."'>". $row_pro_1['p_name']
."</option>";
}
echo "</select>";
echo"</td>";
echo "<td>" ;
//ins_qua_1
echo "<select name='ins_qua_1'
onchange='showpri(ins_pro_1.value,this.value)'>";
echo "<option value='1'> 1 </option>";
echo "<option value='2'> 2 </option>";
echo "<option value='3'> 3 </option>";
echo "<option value='4'> 4 </option>";
echo "<option value='5'> 5 </option>";
echo"</td>";
echo "<td>" ;
echo "<div id='pppri'></div>";
echo "</td>";
echo "</tr>";
echo "</table>";
2.php
$q = $_GET['q'];
$pri = $_GET['pri'];
$pri_pro_1=mysql_query("SELECT * FROM products_view
WHERE p_id= '".$q."'",$con);
$row = mysql_fetch_assoc($pri_pro_1);
$qqq=$row['p_price']*$pri;
echo $qqq;
网页大概在做这个动作
在1.php选取产品名称.数量 然后传变量到2.php计算价钱
显示价钱在<div id='pppri'></div>这里
但是我想让div显示的值变成变量,可以操作他。
感谢!
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-09-08 16:41:00
(1)改成echo $qqq不就回传了。(2)你有听过json吗 没有赶快去找
楼主: dd5637214 (dd4127365)   2015-09-08 17:06:00
你好,应该说我想要在原网页取用qqq这个变量,所以我用json包起来就可以取用吗? 我试过echo好像不行 ,感谢解答
作者: KawasumiMai (さあ、死ぬがいい)   2015-09-08 17:28:00
"原网页"?你想要怎么回传?上一页?iFrame框架外?
作者: xdraculax (首席怪叔叔)   2015-09-08 17:43:00
这年头用jQuery吧,别自己刻了专业用json是主流,光 echo $qqq 取字串处理也行用ajax只取值,就要再用js把值填入,或用js组html再贴入pppri 既然能改它一次,同理不就能改它一百次,你所谓的操作是指什么
楼主: dd5637214 (dd4127365)   2015-09-08 17:59:00
计算总价钱(因有多项下拉式选单),及insert至mysql
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-09-09 12:14:00
如果你要抓取显示出来的网页某部份的值 可以在他的容器(如<div>或<td>)上加一个id 然后用javascript寻找该id 取得里面的innerHTML便是实务上用jQuery较快,可以帮你简化寻找id之后的过程
楼主: dd5637214 (dd4127365)   2015-09-10 01:27:00
了解,感谢!目前正在写jquery试试看 xxd
作者: tkdmaf (皮皮快跑)   2015-09-10 01:30:00
我觉得。第一件事你先解决那一大堆echo的问题吧。

Links booklink

Contact Us: admin [ a t ] ucptt.com