台灣最大程式設計社群網站
線上人數
1082
 
會員總數:245131
討論主題:189035
歡迎您免費加入會員
討論區列表 >> PHP >> 搜尋資料庫
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
搜尋資料庫
價值 : 10 QP  點閱數:596 回應數:9

樓主

泡泡糖
門外漢
0 5
114 3
發送站內信

各位大大您好:
有個問題請教大家,對話視窗請使用者輸入優惠號碼,輸入後傳到資料庫尋找符合的折扣
這個程式要如何修改

<?php
//連接資料庫
//只要此頁面上有用到連接MySQL就要include它
include("connect_server.php");
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>EasyUI 測試</title>
<link rel="stylesheet" type="text/css" href="JS/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="JS/themes/icon.css">
<script type="text/javascript" src="JS/jquery.min.js"></script>
<script type="text/javascript" src="JS/jquery.easyui.min.js"></script>
<script type="text/javascript" src="JS/local/easyui-lang-zh_TW.js"></script>
<script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
<link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css">

<script language="javascript">
function login() {
$.messager.prompt("登入","請輸入優惠號碼 :",database);
}

function database(val){
<?php

//搜尋資料庫資料
$sql = "SELECT * FROM discound_list where dis_num ='val'";
$result = mysql_query($sql);
$row = @mysql_fetch_row($result);

//判斷帳號與密碼是否為空白
//以及MySQL資料庫裡是否有這個會員
?>
if (val== "<?PHP echo $row[0] ?>")
{$.messager.alert("訊息","優惠號碼有效.","info");}
else {$.messager.alert("訊息","優惠號碼無效!","error");}
<?PHP $TT=$row[1]; ?>
}
</script>

<script>
function test_cal()
{
my_form.Price.value=my_form.product.value*my_form.quality.value*<? echo $TT ?>;
}
</script>

</head>
<body>

<a href="#" class="easyui-linkbutton" onclick="login()">使用折價</a>


<form action="connect-reaserch.php" method="POST" id="my_form">
輸入優待雩厭X<input typr="text" name="NO"><p>
<select name="product" onChange=test_cal() >
<option value="50">蛋糕</option>
<option value="60">麵包</option>
</select> <select name="quality" onChange=test_cal()>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select><p>
<input name="Price" type="text" readonly onclip=total() /><p>
<input name="reaserch" type="submit" value="送出" /> <input name="reset" type="reset" value="重設" />
</form>

</body>
</html>

搜尋相關Tags的文章: [ PHP ] , [ JS ] , [ 資料庫 ] , [ 對話視窗 ] ,
本篇文章發表於2016-11-23 01:50
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
請先學會用程式標簽排版。
謝謝!
本篇文章回覆於2016-11-23 09:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
第一,發文需要貼上程式碼時,請愛用程式標籤
http://www.blueshop.com.tw/board/FUM20041006152641OLG/BRD20081107145230A5O.html

第二,我很懷疑樓主的程式是否能運行
如果樓主的「discound_list」表中有資料,欄位「dis_num」的值等於字串「val」
那麼無論使用者是否輸入優待券號碼,都會取得該筆資料的折扣
反之,無論使用者是否輸入優待券號碼,都無法取得折扣

第三,按照樓主的需求對照程式,很明顯的又是一個搞不清除主機端和客戶端的問題
PHP是主機端的程式,作用是產生網頁原始碼,他只會在主機端運行
一旦原始碼產生完畢傳送到客戶端,PHP就不會再有任何反應
script是客戶端的程式,作用是在網頁傳送到客戶端後去直行的動作
他無法在主機端做任何動作

第四,我個人的建議,新手最好能將這種功能分為兩頁
第一頁是輸入優待券號碼,第二頁是選擇品項和數量
這樣沒問題後,再去學習AJAX技術
來製作在同一個頁面完成上述兩個動作的功能,也就是樓主最初的需求
本篇文章回覆於2016-11-23 09:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

可樂快跑
檢舉此回應
第五,現在起不要抄別人的程式碼。絕大多數都會抄到舊的資料庫連線方式。請改用PDO。
不會PDO就想辦法去學會PDO,現在的PDO網路資料很多。
而且PDO才可以保你未來平安,而且PDO也可以有效率的防止資料注射的問題。
所以如果以後你們問問題再給我用mysql()指令集我就用PDO煩死你們直到你們這些初學者都改用PDO為止。
本篇文章回覆於2016-11-23 11:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
@可樂快跑

你這其實真的不能怪初學者啦

因為我最近新進的員工,有去買了一本書。
堶掄椄O教用mysql函數的。

當然了~~~後面也是有說明到pdo的部份。
但基本來說,還是要先由mysql相關函數操作起。再進由改成pdo吧。

只能勸導而已啦,要等mysql函數消失。還不會那麼快的。
再加上~~~pdo認真來說,他不算是資料庫的一種。

對於操作mysql來講。目前教的還是會利用mysqli函數來教的。
(雖然我已經跟我新進的人員說了,用pdo的模式直接學)
本篇文章回覆於2016-11-23 15:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

可樂快跑
檢舉此回應
@星空
如果說PDO是新技術,那的確是該延用舊的方式。
但是PDO是已經存在很多年的東西。
我們不能因為書本不更新而不要求初學者必須更新。
如果php7沒有把mysql()指令集廢止,也許我只會勸導。
但如果php7官方已經廢止了mysql()指令集。
正如同apple的ios10不再支援iphone4s以下的機種一樣的情形。
改更新的學習或設備,就要更新上去。
所以要初學者現在強制改學PDO這一點,我是很堅持的。
而且,我也不再會忍讓那些不學PDO的初學者。
也許你會說什麼那舊系統維護要用到mysql()指令集怎麼辦?
我想說的是……連PDO都能學得好。
mysql()指令集要操作有什麼困難?
所以就這件事上,你也別勸我了。
我反而要反過來勸你,為了他們著想,有些必要的事要硬起來幹才行。
本篇文章回覆於2016-11-23 16:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
我也支持新人直接學PDO,這是PHP目前的推薦方式,而且安全性更高
可是,如果是在維護舊系統時,我們不可能要求發問者先將系統更新再來發問吧?
而且也不是每個發問者都有新版本主機可供測試
萬一發問者公司的系統是十年前開發的,而且十年來都沒在更新怎辦?
本篇文章回覆於2016-11-24 09:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

可樂快跑
檢舉此回應
@迷路
我講這話是有道理的。
PDO跟mysql()你認為那個學習曲線比較陡?
我不認為會PDO的情形下會搞不定mysql()指令集。
所以這方面我反而建議mysql()遇到再學就好。
會PDO的話要搞定mysql()也不過一天時間。
先以PDO為主。
本篇文章回覆於2016-11-24 10:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
@可樂

基本上我是認同迷路的說法。
如果說舊程式修改簡單。可以直接換掉物件就可以處理的。
那還沒關係。但如果碰上全部都是用mysql函數的爛程式咧~~~

boss:「這支程式給你,你掛上去」
??:「這都是用mysql函數,現在都是用pdo」
boss:「喔~~~那換吧,要多久」
??:「可能要一個星期或一個月」
boss:「我這星期就要讓他上線,給你一個星期的時間,順便ooxx那邊要改成mmaa」
??:「..........幹」(我還要直接先換pdo嗎??)

客戶或公司根本不會去管你這些。

boss:「這支程式給你,我要加上一個備註欄位」
??:「這支程式是用mysql函數寫的。我需要時間改成pdo方式」
boss:「什麼mysql還是pdo的,我只是要你增加一個備註,要多少時間」
??:「因為要換成pdo,所以.....」
boss:「你說那我聽不懂啦,明天給我!就這樣」
??:「...........幹~~」(看樣子沒那個時間改成pdo了)

然不成你要說
??:「幹,我要3天換成pdo,要不然我不會改」
boss:「你回家吃自已吧」


本篇文章回覆於2016-11-24 14:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

可樂快跑
檢舉此回應
@星空
我肯定你完全沒看懂我講的意思。

就算現在學了mysql()指令集,遇到那種爛程式你說的狀況就能解決了嗎?

我可沒有說要抽換成pdo,我只是說:會pdo的話,要上手mysql()指令集也不過就是一下下的事,那不是什麼很難懂的東西。

現在要逼著初學者先學pdo,是為了主要的工作,以及主要的開發。

在有閒有空時他們想要回頭去學mysql()指令集自然也行。

那這樣說好了,萬一有初學者不懂,就直接裝了php7……

這可是連mysql()指令集都不能用的。

做工程師,自然會有自己解決事情的方法,而初學,我們就必須告訴他們正確的學習方向。

已過時的,可以在必要的時候理解使用方式即可。

現在不給他們這樣的觀念,難道要等到出事了他們才開始求救嗎?
本篇文章回覆於2016-11-24 16:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.