[英]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.