彰化一整天的論壇

 找回密碼
 立即註冊
樓主: imingho

【Google表單教學】如何設計訂單查詢系統

[複製鏈接]
發表於 2021-6-30 11:02:57 | 顯示全部樓層
imingho 發表於 2021-6-30 08:08
您的是同一個頁面顯示二篇,變數及function都要修正。

請原諒我的不情之求
老師有辦法 再寫另個不同變數 function名稱的程式碼當示範
讓我參考哪邊是變數需要修改的嗎??(所有變數跟函數名稱 還是傻傻分不清楚)
真的是萬分抱歉  跟 感謝!!
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2021-6-30 11:36:12 | 顯示全部樓層
heroillsg 發表於 2021-6-30 11:02
請原諒我的不情之求
老師有辦法 再寫另個不同變數 function名稱的程式碼當示範
讓我參考哪邊是變數需要 ...

您只要不同時顯示二個文章在頁面就不會有問題,
可以點選文章就會顯示單篇,再去查詢就不會出錯。
google_form_20210630.jpg

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2021-6-30 15:57:42 | 顯示全部樓層
heroillsg 發表於 2021-6-30 11:02
請原諒我的不情之求
老師有辦法 再寫另個不同變數 function名稱的程式碼當示範
讓我參考哪邊是變數需要 ...

google_form_20210630a.jpg


回復 支持 反對

使用道具 舉報

發表於 2021-7-2 23:37:28 | 顯示全部樓層
Dear 老師:  

感謝老師提供教學,
在下不才,有些問題希望老師能指點,

小弟使用GOOGLE問卷設計客戶資料並生成表單,後想設立可搜尋的引擎,故參照老師的教學及複製程式碼做修改,但貼到Blogger上後卻一直顯示查無資料,不知是否能請老師撥空訂正我的程式碼,指點小弟錯誤的位置。

function doGet(e) {  
  var params = e.parameter;
  var name = params.name;
  var Mobile = params.Mobile;
  var license = params.license;

  var Sheet = SpreadsheetApp.getActiveSheet();

  var LastRow = Sheet.getLastRow();
  var LastColumn = Sheet.getLastColumn();
  var data = [];

  // 取得全部資料
  var listAll = Sheet.getSheetValues(1, 1, LastRow, LastColumn);

  //存標題
  data.push({data: listAll[0]})

  // 找尋資料是否有存在
  for(var i = 1;i < listAll.length; i++){
    if(listAll.indexOf(name) === 1 && listAll.indexOf(Mobile) === 2 && listAll.indexOf(license) === 3 ){      
      data.push({data: listAll})
    }
  }

  //顯示資料
  Logger.log(data);

  // 回傳json資料
  return ContentService.createTextOutput(JSON.stringify(data))
    .setMimeType(ContentService.MimeType.JSON);
}

螢幕擷取畫面 2021-07-02 232142.png




回復 支持 反對

使用道具 舉報

 樓主| 發表於 2021-7-3 08:57:51 | 顯示全部樓層
本帖最後由 imingho 於 2021-7-3 08:59 編輯
tw0956001962 發表於 2021-7-2 23:37
Dear 老師:  

感謝老師提供教學,

請張貼您前端的程式碼.

張貼程式嗎請參考底下這篇.
如何在discuz張貼程式碼
http://discuz.bestdaylong.com/thread-30239-1-1.html
回復 支持 2 反對 0

使用道具 舉報

發表於 2021-7-3 22:16:19 | 顯示全部樓層
本帖最後由 tw0956001962 於 2021-7-3 22:18 編輯
  1. <html>
  2. <head>
  3. <meta charset="UTF-8" />
  4. <script type="text/javascript">
  5. function showHint(str)
  6. {
  7. var xmlhttp;

  8.         if (window.XMLHttpRequest)
  9.           {// code for IE7+, Firefox, Chrome, Opera, Safari
  10.           xmlhttp=new XMLHttpRequest();
  11.           }
  12.         else
  13.           {// code for IE6, IE5
  14.           xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  15.           }
  16.         xmlhttp.onreadystatechange=function()
  17.           {
  18.                   if (xmlhttp.readyState==4 && xmlhttp.status==200)      
  19.                   {
  20.                         var result=xmlhttp.responseText;
  21.                         var obj = JSON.parse(result);//解析json字串為json物件形式
  22.                                                 
  23.                         var html = '<table border=1 width=100%>';//
  24.                         
  25.                         for (var i = 0; i < obj.length; i ++ ) {//
  26.                                 html  += '<tr>';//
  27.                                 for(j=0;j<obj[i].data.length;j++)
  28.                                 {
  29.                                   html+= '<td>'+obj[i].data[j]+'</td>';
  30.                                 }
  31.                                 html  += '</tr>';            
  32.                         }
  33.                         html+="</table>";
  34.                         
  35.                         document.getElementById("order_status").innerHTML=html;
  36.                         if(obj.length==1) //只有一筆代表查不到資料
  37.                                 alert('查無資料');
  38.                   }

  39.           }
  40.     var url="https://script.google.com/macros/s/AKfycbzOfZXu0CySWqO99ufbHgJB1RbG3K5todpn3piM0ZSHKxHlL2o/exec";
  41.         xmlhttp.open("get",url+"?uid="+encodeURIComponent(str),true);
  42.         xmlhttp.send();
  43. }
  44. </script>
  45. </head>
  46. <body>

  47. 輸入姓名:<input type="text" id="name" />
  48. <input type="button" name="inq" value="查詢" onclick="showHint(name.value);"></br>
  49.   輸入電話:<input type="text" id="Mobile)" />
  50.   <input type="button" name="inq" value="查詢" onclick="showHint(name.value);"></br>
  51.   輸入車牌:<input type="text" id="license" />
  52.   <input type="button" name="inq" value="查詢" onclick="showHint(name.value);"></br>

  53. <span id="order_status"></span>
  54. </body>
  55. </html>
複製代碼



回復 支持 反對

使用道具 舉報

 樓主| 發表於 2021-7-4 09:41:40 | 顯示全部樓層
本帖最後由 imingho 於 2021-7-4 09:43 編輯

您是要一次查一個還是三個?
若是3個請參考.
google表單訂單查詢加匯款後3碼輸入【Google表單教學】
http://discuz.bestdaylong.com/thread-39041-1-1.html
(出處: 彰化一整天的論壇)


回復 支持 反對

使用道具 舉報

發表於 2021-7-4 10:41:30 | 顯示全部樓層
imingho 發表於 2021-7-4 09:41
您是要一次查一個還是三個?
若是3個請參考.
google表單訂單查詢加匯款後3碼輸入【Google表單教學】

跟老師報告,我要三個可以獨立的查詢,不管輸入那個條件都可以,查後三碼的我已經有嘗試了,可以樣在前端時都卡在查無資料.......
所以不知道是我那一個環節上錯了
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2021-7-4 11:12:21 | 顯示全部樓層
本帖最後由 imingho 於 2021-7-4 11:13 編輯
tw0956001962 發表於 2021-7-4 10:41
跟老師報告,我要三個可以獨立的查詢,不管輸入那個條件都可以,查後三碼的我已經有嘗試了,可以樣在前端 ...

您後端程式碼
  1.   if(listAll.indexOf(name) === 1 && listAll.indexOf(Mobile) === 2 && listAll.indexOf(license) === 3 ){  
複製代碼

這種寫法是3個條件要同時符合.若您是3個分開查詢應該是.
  1.   if(listAll.indexOf(name) === 1  || listAll.indexOf(Mobile) === 2 || listAll.indexOf(license) === 3 ){  
複製代碼
還有您前端只有送一個uid到後端,其它兩個當然抓不到.您把影片再看一次.裡面有修改注意事項.
回復 支持 1 反對 0

使用道具 舉報

發表於 2021-7-4 11:55:32 | 顯示全部樓層
imingho 發表於 2021-7-4 11:12
您後端程式碼

這種寫法是3個條件要同時符合.若您是3個分開查詢應該是.

好的,感謝老師指點
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)

GMT+8, 2021-9-21 00:37 , Processed in 0.134285 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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