簡體   English   中英

Select * from table_name where column_nameِ = 'value'

[英]Select * from table_name where column_nameِ = 'value'

我有一個表(表 A),有 6 列(天,les1,les2,les3,les4,les5)

+-----------------------------------------------------+
|  days  |  les1  |  les2  |  les3  |  les4  |  les5  |
-------------------------------------------------------
| sat    |   2    |   5    |   9    |   10   |   30   |
| mon    |   50   |   2    |   2    |   4    |   5    |
| Fri    |   6    |   1    |   2    |   8    |   4    |
| wed    |   8    |   0    |   3    |   6    |   3    |
-------------------------------------------------------

在另一個表(表 B)中,我有 3 列(id、TName、LName)

 ___________________________
|  id    |  TName |  LName |
----------------------------
| 1      |   M.N  |   les1 |
| 2      |   T.G  |   les5 |
| 3      |   Z.GH |   les2 | 
| 4      |   J.H  |   les4 | 
----------------------------

我需要使用 php 中的代碼從表 A 中找到一些值,類似於以下代碼:

  $les = mysql_query("SELECT * FROM `table_B` WHERE `id` = '3' ");

     $les_f = mysql_fetch_array($les);

    $lesson = $les_f['LName'];  //so the $lesson value = 'les2'  

    $list = mysql_query("SELECT * FROM `table_A` WHERE $lesson = '0' ");
     $showresult = mysql_fetch_array($list);

$result = $showresult['days'];  //  it should show me 'wed' from tableA in days column 

請幫助編寫此代碼...

我建議改進你的數據庫設計。 將表 A 的列減少到day, number, les和表 B 到id, TName, LId

表 A 應如下所示:

+---------------------------+
|  day   | number |  les   |
----------------------------
| sat    |   2    |   1    |
| sat    |   5    |   2    |
| sat    |   9    |   3    |
| sat    |  10    |   4    |
| sat    |  30    |   5    |
|        |        |        |
| mon    |  50    |   1    |
| mon    |   2    |   2    |
| mon    |   2    |   3    |
| mon    |   8    |   4    |
| mon    |   5    |   5    |
| ...    | ...    |  ...   |
----------------------------

表 B 應如下所示:

|  id    |  TName |  LId |
----------------------------
| 1      |   M.N  |      1 |
| 2      |   T.G  |      5 |
| 3      |   Z.GH |      2 | 
| 4      |   J.H  |      4 | 
----------------------------

然后,您可以使用單個 SQL 查詢獲取數據:

SELECT * FROM table_b b
    JOIN table_a a
    ON b.les = a.LId
    WHERE a.number = 0
  $les = mysql_query("SELECT * FROM `table_B` WHERE `id` = '3' ");

     $les_f = mysql_fetch_array($les);

    $lesson = $les_f['LName'];  //so the $lesson value = 'les2'  

    $list = mysql_query("SELECT * FROM `table_A` WHERE $lesson = '0' ");
     $showresult = mysql_fetch_array($list);

$result = $showresult['days'];

改變 :

$list = mysql_query("SELECT * FROM `table_A` WHERE $lesson = '0' ");

到 :

 $list = mysql_query("SELECT * FROM `table_A` WHERE `".$lesson."` = '0' ");

這個問題是解決方案嗎

嘗試下面的代碼獲取結果

$les = mysql_query("SELECT * FROM `table_B` WHERE `id` = '3' ");
while($row = mysql_fetch_assoc($les)) {
    $lesson = $row['LName'];  //so the $lesson value = 'les2'  
    $list = mysql_query("SELECT * FROM `table_A` WHERE $lesson = '0' ");
    while($showresult = mysql_fetch_assoc($list)) {
        echo $result = $showresult['days'];  //  it should show me 'wed' from tableA in days column 
    }
}

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM