iT邦幫忙

0

[PHP]抓資料庫表格欄的值

  • 分享至 

  • xImage

麻煩各位先進
我想先如何抓出表格欄裡電壓大於111V的值ECHO在表格下面

<?php 
mysql_connect("localhost","root","");//與localhost連線、root是帳號、密碼處輸入自己設定的密碼
mysql_select_db("ch22");//我要從member這個資料庫撈資料
mysql_query("set names utf8");//設定utf8 中文字才不會出現亂碼
$data=mysql_query("select * from class where name='李大華'");//從member中選取全部(*)的資料

?>



<html xmlns="http://www.w3.org/1999/xhtml">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文件</title>
<link href="jquery-mobile/jquery.mobile.theme-1.0.min.css" rel="stylesheet" type="text/css" />
<link href="jquery-mobile/jquery.mobile.structure-1.0.min.css" rel="stylesheet" type="text/css" />
<script src="jquery-mobile/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="jquery-mobile/jquery.mobile-1.0.min.js" type="text/javascript"></script>



<div data-role="page" id="page">
  <div data-role="header">
    <h1>初號機</h1>
  </div>
  <div data-role="content"><table width="400" border="2">
<tr>
<td>電壓</td>
<td>電流</td>
<td>功率</td>
<td>水溫</td>
<td>油壓</td>
<td>日期</td>
</tr>
<a href="0314finl.php">返回客群</a>
<?php
for($i=1;$i<=mysql_num_rows($data);$i++)
{ $rs=mysql_fetch_row($data);
?><tr>
<td><?php echo $rs[5]?>V</td>
<td><?php echo $rs[6]?>A</td>
<td><?php echo $rs[7]?>W</td>
<td><?php echo $rs[8]?>°C</td>
<td><?php echo $rs[9]?>kgf/cm²</td>
<td><?php echo $rs[10]?></td>
</tr>
<?php }?>
</table></div>


</div>

select * from class where name='李大華'



請先補充列出 class 的定義
就是所有欄位的「名稱」及「型態」

否則你問不到你要的答案

如果你連 class 的定義都列不出來
那麼我建議你
直接把「原本的題目」列出來
不要拿別人的程式來問

fillano iT邦超人 1 級 ‧ 2016-03-24 10:14:51 檢舉
我就在想,怎麼資料庫query的部份好像從別處貼上XD

建議發問者:

1. 用mysql_fetch_assoc取代mysql_fetch_row,用欄位名稱比用數字索引好維護。

2. mysql extension在PHP-5.5之後狀態是deprecated,在PHP-7.0之後會移除,建議至少用mysqli來取代,使用方式差不多。
通常不是要再加上有關 pagination 分頁的作法,
才不致載入太大量的筆數嗎?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
Richie
iT邦好手 10 級 ‧ 2016-03-23 23:43:37
最佳解答

如果是要同時顯示兩個表格,則可以在你目前表格的部份。
加入 if($rs[5] > 110) 進行判斷// 這邊需注意如何讀出的資料型態是字串需轉型
,如果大於110的話則丟入另一個陣列,最後在目前表的下方再依序從陣列出取出顯示,
就可以省去第二次讀資料庫的時間及資源。

0
了無
iT邦新手 4 級 ‧ 2016-03-23 18:00:33

seletc 條件加入 電壓>110 就可以了

看更多先前的回應...收起先前的回應...
wiseguy iT邦超人 1 級 ‧ 2016-03-24 08:49:41 檢舉

這問題害我想到多年前一位 RD 同仁 ...
他寫的 SQL 永遠只有 "select * from TABLE" 這一句。
所有的過濾、排序、join,通通都在 select 出一坨龐大資料後,在程式裡自己搞,非常可怕。汗

外獅佬 iT邦大師 1 級 ‧ 2016-03-24 08:51:05 檢舉

wiseguy提到:
select 出一坨龐大資料後,在程式裡自己搞,非常可怕

汗汗汗...這樣...user受得了哦?!汗

wiseguy iT邦超人 1 級 ‧ 2016-03-24 09:00:19 檢舉

user 看不懂程式,所以沒有受不了的問題。
倒是因為他這樣搞,所以一個研討會報名系統寫了一年還沒寫完,被 Fire 了。
我會知道是因為我接手,整個重寫,只花兩個星期。

賽門 iT邦超人 1 級 ‧ 2016-03-24 09:12:08 檢舉

wiseguy提到:
一個研討會報名系統寫了一年還沒寫完

好強啊~~
我是說聰明佬的公司,能讓員工這樣耗一年沒生產力。

fillano iT邦超人 1 級 ‧ 2016-03-24 10:17:44 檢舉

wiseguy提到:
所有的過濾、排序、join,通通都在 select 出一坨龐大資料後,在程式裡自己搞

這好像比下SQL還麻煩許多XD

wiseguy iT邦超人 1 級 ‧ 2016-03-24 10:37:29 檢舉

simon581923提到:
公司,能讓員工這樣耗一年沒生產力

那是前公司的 case,不是現在公司的 case。這個 case 也是做撒米思的,不是賺錢的,要不然哪能拖那麼久。
不過倒不是沒生產力,這位老兄寫的程式量超驚人,但是 95% 以上跟報名系統無關,都是對大量資料過濾、排序、join 的 routin,都是在重新發明輪子,做 DB 可以幫他做的事。

wiseguy iT邦超人 1 級 ‧ 2016-03-24 10:40:50 檢舉

不是沒人提醒他,是他自己以為這是他厲害的地方,從沒讓人看他的程式,所以無從提醒他正在重新發明輪子。是我接手後才發現這麼奇葩的 code。可惜全部 delete 掉,一點價值也沒有。

wiseguy iT邦超人 1 級 ‧ 2016-03-24 10:45:53 檢舉

其實 DB 還不是最奇葩的。
這老兄連 http 標準、CGI 標準都不用,網路協定全部自己刻。如果不是被 Fire 掉,差點就要寫自己的檔案存取系統了 ...

外獅佬 iT邦大師 1 級 ‧ 2016-03-24 10:47:02 檢舉

fillano提到:
好像比下SQL還麻煩許多

大概是覺得,看起來比較高竿吧...但是..那只是錯覺而已

總裁 iT邦好手 1 級 ‧ 2016-03-24 10:53:20 檢舉

其實他是要寫WIN 7-11....暈

我要發表回答

立即登入回答