我想制作一个选择陈述,但它只是不起作用这是我想做的事情
SELECT *
from table
WHERE FROM any ROW Pick that $value_id
and indentify the column and display the column_name into a variable
这是我尝试过的代码:
$id = $_GET['id'];
$sql = mysql_query("SELECT * from table2 WHERE ANYROW_VALUE=$id");
$selected = mysql_fetch_assoc($sql);
$ROW_NAME=mysql_field_name($selected);
此外,ID会出现在不同的COLUMNS中,所以我想显示所有列都是{或WHILE ...但首先我想知道如何才能做到这一点,谢谢!
有一点不要混淆$ id不是表id只是1-8000的编号值,也就是那个数字可以在同一行但不在同一列上,所以当我制作表时我将每列设置为唯一的一件事,这些列随着开发变得越来越大,所以它可能是1-50列,这就是为什么我问这个问题,如果列大小没有改变但是确实如此......谢谢!
谢谢你们所有人来到这里,这就是桌子粗糙的样子: http://i.imgur.com/rQPBZrv.png
答案 0 :(得分:0)
如果要向数据库添加越来越多的列,则应该重新考虑数据库设计。
要解决此问题,您需要运行两个与php混合的查询
您的第一个查询
mysql_query("SELECT `COLUMN_NAME`
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='yourdatabasename'
AND `TABLE_NAME`='yourtablename'");
然后,您将遍历列名以构建第二个查询的WHERE
我建议将列名插入array
,以便您可以implode
使用1}} p>
foreach($result as $columnName){
$columnArray[] = '`' . $columnName . '` = ' . $id;
}
然后你会运行你的查询
mysql_query("SELECT * FROM `yourtablename` WHERE " . implode(' OR ', $columnArray));