Re: [請益] php 撈資料庫的問題

看板PHP作者 (皮皮快跑)時間16年前 (2010/01/28 14:24), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串3/5 (看更多)
※ 引述《godispower (omg)》之銘言: whquery.php <?php $conn = mysql_connect('localhost','root','680712'); mysql_select_db("purchaseinfo",$conn); //插入修改的部份如下: $result = mysql_list_fields("purchaseinfo","incoming"); $field_num = mysql_num_fields($result); for ($i = 0;$i <$field_num;$i++){ $fieldarr[] = mysql_field_name($result,$i); } foreach($fieldarr as $value){ if (strlen($_POST[$value]) != 0){ $where .= "{$value}='{$_POST[$value]}' AND "; $timer +=1; } } if ($timer >= 3){ $sql = "SELECT * FROM incoming WHERE ".substr($where,0,-5); //--------------------------------------------------------- $result = mysql_query($sql,$conn); while($row = mysql_fetch_array($result)) { $datatable .= function get_datatable($row["id"],$row["item"] ,$row["barcode"],$row["datearrivetom"]) } mysql_free_result($result); mysql_close($conn); echo $datatable; }else{ echo "輸入資料不足,無法查詢"; fucntion get_datatable($id,$item,$barcode,$datearrivetom){ $html = "<tr><td align='left' height='20'>$id</td>"; $html .= "<td align='left'>$item</td>"; $html .= "<td align='left'>$barcode</td>"; $html .= "<td align='left'>$dataarrivetom</td></tr>"; return $html; } ?> 由於這個方法會把表單中全部有給予欄位name名稱的全部判斷。 所以記得用不到的表單或功能(像是submit或button)不要給予name,否則會誤判。 雖然正確的寫法上應該要再加入資料庫欄位判斷。 不過怕寫得太複雜你可能一下子會意會不過來。 僅可能的不要把html和php混在一起寫。 一開始最基礎的就是先把html另外提取出來到一個函式。 讓php程式段顯得比較容易閱讀。 記得一件事,當你的php和html混在一起時。 你的html就不再是html,對php而且,他只是一個經過echo出來的字串,僅管看起來你 並沒有對html做echo的動作。 2010/01/28 17:14修訂: 加入了資料庫欄位判斷,資料庫有存在的欄位才會進行字串處理。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.48.82

01/28 15:40, , 1F
這樣寫會把submit button抓進去吧
01/28 15:40, 1F

01/28 16:19, , 2F
喔!我在改寫他的HTML時就把submit的name拿掉了。
01/28 16:19, 2F

01/28 16:19, , 3F
在補文字時忘了說明了。
01/28 16:19, 3F

01/28 16:20, , 4F
正確的做法上,其實會加入和資料庫的欄位比對。
01/28 16:20, 4F
※ 編輯: tkdmaf 來自: 220.136.48.82 (01/28 16:23)

01/28 16:27, , 5F
emn178有考慮到.
01/28 16:27, 5F

01/28 16:29, , 6F
我考慮的是………萬一表單還要增加,改程式不是正確的方法
01/28 16:29, 6F

01/28 16:30, , 7F
最終目的是希望不管表單或資料庫怎麼改,程式都不用動。
01/28 16:30, 7F
※ 編輯: tkdmaf 來自: 220.136.48.82 (01/28 17:16)
文章代碼(AID): #1BOIslmw (PHP)
文章代碼(AID): #1BOIslmw (PHP)