[請益] 關於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