首先,我对PHP编程很陌生。
为了开发一个webshop (windows百叶窗),我尝试创建一个价格计算表,其中客户必须指定窗口的高度和宽度。表格必须从数据库中选择正确的价格。
这是示例数据库的样子的图片:

当客户选择一个高度(第1列)和宽度(第1行)时,脚本必须查找两个相交的价格(在本例中为90)。

不幸的是,我找不到任何关于这个主题的教程、参考资料或任何东西。
有人能帮我,通过提供我的教程,代码,或任何有用的链接吗?
提前感谢!
发布于 2014-03-05 11:29:38
查询应该如下所示:
$width = "20";
$height = 30;
query("SELECT `" . quote($width) . "` FROM table WHERE Hoogte = " . quote($height));其中,query和quote是用于查询数据库和转义数据的mysql方法。
如果Hoogte是一个字符串,则必须像这样修改查询:
query("SELECT `" . quote($width) . "` FROM table WHERE Hoogte = '" . quote($height) . "'");编辑
这个查询将返回您所需的内容,但是您肯定应该花时间优化您的表。看看正常化。
一张可能的表格可以是:
price
-------
id
value
height
width然后,您的查询将如下所示:
query("SELECT value FROM price WHERE height = " . quote($height) . " AND width = " . quote($width));这样您就可以添加新的高度和宽度值,而不需要更改表!
发布于 2014-03-05 11:32:39
因为这个原因,我想你可能有两张不同的桌子。
但就目前而言,我可以建议如下:
首先,让我们得到所需的大小。这意味着表中的第一个大小是'10‘。因此,我们在列'10‘中搜索’30‘的值:
$q = mysql_query("SELECT * FROM tbl_name WHERE 10 = '30';");一旦完成,我们需要从那一行得到结果。我们不需要任何其他列的号码,而不是“60”,对吗?因此,我们试图从“60”栏中得到一个结果,如下所示:
$res = mysql_fetch_array($q);
$resultForColumn = $res['60'];我猜用户可能会选择60以外的东西,所以您可以随时更改它:
$i = $_POST['UserChosedSize']; // Do not forget to sanitize it, if you have something like this;
$resultForColumn = $res[$i];希望这能有所帮助。
UPD:也许,Tobias先生写得对,他的例子更快更容易。
https://stackoverflow.com/questions/22196238
复制相似问题