TShopping

 找回密碼
 註冊
搜索
查看: 2475|回復: 0

[教學] jquery 透過select 把值給MYSQL撈資料 JSON傳值JAVASCRIPT TEXT秀出資

[複製鏈接]
發表於 2012-8-9 23:42:50 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 
有用過SELECTBOXES都會覺得很方便
但是本人想撈出值直接秀在TEXT欄位裡
因為很多大網站都有此功能
但是就是找不到相關資料
於是本人花了不少時間測試

INDEX.PHP

  1. <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
  2. <script type="text/javascript" src="selectcostomer.js"></script>
  3. <?php
  4. include "global.php";
  5. $sql1 = "SELECT * FROM net_costomer WHERE fristsellid=".$row[uid];
  6. $query1 = $db->query($sql1);
  7. while($row_costomerselect=$db->fetch_array($query1)) {
  8.    $sm_costomerselect[]=array("cmid"=>$row_costomerselect[cmid],"name"=>$row_costomerselect[name]);  
  9. }
  10. $smarty->assign("sm_costomerselect",$sm_costomerselect);
  11. $smarty->display('index.htm');
複製代碼
先引入JQUERY jquery-1.3.2.min.js及selectcostomer.js
如果沒有jquery-1.3.2.min.js請到關網下載
global.php只是DB的基本設定
  1. <?php
  2. $mydbhost = "localhost";
  3. $mydbuser = "";
  4. $mydbpw = "";
  5. $mydbname = "";
  6. $mydbcharset = "UTF8";
  7. $db = @mysql_connect($mydbhost,$mydbuser,$mydbpw);
  8. if (!$db) {
  9. exit('Unable connect MYSQL at this time');
  10. }
  11. if (!@mysql_select_db($mydbname)) {
  12. exit ('Unable connect DB at this time');
  13. }
  14. //宣告資料庫要寫入的格式
  15. mysql_query("SET NAMES $mydbcharset", $db);
  16. ?>
複製代碼
  1. $smarty->assign("sm_costomerselect",$sm_costomerselect);
  2. $smarty->display('index.htm');
複製代碼
這兩行是SMARTY傳值到INDEX.HTM的基本方法


selectcostomer.js
  1. $(document).ready(function(){
  2. $("#select1").change(function(){
  3. $.get(
  4. 'selectcostomer.php',   //拋值給selectcostomer.php接收
  5. { 'cmid': $(this).val(), 'lv': 2 },//傳出 cmid及lv LV可不需要
  6. function(data) {
  7. $("#name").val(data.name); //當值傳回時id="name"接收數據
  8. $("#tel").val(data.phone);
  9. $("#address").val(data.address);
  10. },
  11. 'json'
  12. );
  13. }).trigger('change');//當id="select1"改變時執行
  14. });
複製代碼
index.htm

  1. <table width="600" border="0" align="center" cellpadding="0" cellspacing="2">
  2. <tr><td> </td></tr>
  3. <tr><td colspan="2"><img src="{$NY_ROOT_PATH}/modules/shopcart/templates/images/shopcart1.jpg" /></td></tr>
  4. <tr><td><table width="600" border="0" align="center" cellpadding="0" cellspacing="2">
  5. <form name="form1" method="post" action="shopcart2.php" onSubmit="return chkinput(this)">
  6. <tr><td height="30" align="right">客戶:</td><td align="left"><select id="select1" name="name"><option value="0">請選擇</option>
  7. {section name="net" loop=$sm_costomerselect}<option value="{$sm_costomerselect[net].cmid}">{$sm_costomerselect[net].name}</option>{/section}</select></td></tr>
  8. <tr><td width="250" height="30" align="right">收貨人姓名:</td>
  9. <td width="350" align="left"><input type="text" name="name" size="25" id="name"></td>
  10. </tr>
  11. <tr><td height="30" align="right">   詳細地址:</td>
  12. <td height="30" align="left"><input name="address" type="text" id="address"></td>
  13. </tr>
  14. <tr><td height="30" align="right">   郵遞區號:</td>
  15. <td height="30" align="left"><input type="text" name="post" size="25"></td>
  16. </tr>
  17. <tr><td height="30" align="right">   連絡電話:</td>
  18. <td height="30" align="left"><input type="text" name="tel" size="25" id="tel"></td>
  19. </tr>
  20. </table>
複製代碼
selectcostomer.php
  1. <?php

  2. // 資料庫設定
  3. include_once ('config.php');
  4. // 預設選項
  5. $data['0'] = '請選擇';

  6. // 只有在 parentId 與 levelNum 都存在的情況下,才進行資料庫的搜尋
  7. if (0 !== (int) $_GET['cmid'] && 0 !== (int) $_GET['lv']) {
  8. $cmid = (int)$_GET['cmid'];
  9. $levelNum = (int) $_GET['lv'];

  10. $query = sprintf("SELECT * FROM net_costomer WHERE cmid = %d" , $cmid);

  11. $result = mysql_query($query);
  12. while ($row = mysql_fetch_array($result)) {

  13. // 將取得的資料放入陣列中
  14. $data[$row['cmid']] = $row['name'];
  15. $data[phone] = $row['phone1'];
  16. $data[address] = $row['address1'];
  17. echo json_encode(array('cmid'=>$row['cmid'],'name'=>$row['name'],'phone'=>$row['phone1'],'address'=>$row['address1']));  //用JSON接收
  18. }
  19. }
  20. ?>
複製代碼
這樣就可以讓原本已經註冊的客戶直接把值放到TEXT裡面
就不需要再打一次了



 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2016-12-9 10:23 , Processed in 0.052508 second(s), 18 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表