我的数据库表保存特定字体文件的宽度度量。我试图在数据库中查询$word变量中每个对应字母的字母\u box\u宽度,并将它们相加以获得$total\u word\u box\u宽度。
不幸的是,我不知道如何轻松地查询多个对应的值,然后将这些值相加。我想我把$word拆分成一个数组。。。但是我不清楚如何查询数组中的每个值。我需要对每个数组值进行单独的查询吗?
$word = "CHAD";
$array_to_query = str_split($word);
我的数据表:
使用我的示例“chad”得到的$total\u word\u box\u width的结果应该是4500。
非常感谢您的帮助。
4条答案
按热度按时间u0njafvf1#
SELECT SUM(Letter_Box_Width) FROM <table_name> WHERE Alpha IN ("C", "H", "A", "D")
这样不行吗?jgwigjjp2#
您需要的是一个sql聚合函数—谢天谢地,sql规范只包含一个适合您需要的函数。
在不了解确切的数据库系统的情况下,我无法确定具体的代码,但请尝试以下操作:
如何将查询参数化,以便与其他字母值一起重用,这也取决于您的平台,但是sum()的使用应该可以解决问题的核心。
6vl6ewon3#
使用
然后创建一个以alpha为键的数组,并计算字母\u box \u宽度之和。
在这个特定的示例中,您还可以在mysql中计算总和:
但是如果同一个字母出现不止一次,这就行不通了,比如hello,这个字母'l'只算一次。
换句话说,
与相同
1rhkuytd4#
像这样的事情应该可以做你想做的。我猜你用的是
mysqli
你有一个数据库连接$conn
但这应该很容易改变到你真正拥有的东西。我给你打了个电话
strtoupper
所以不管你的单词是大写还是小写。如果事实上您的表中有单独的大写和小写字符条目,那么您将在调用发生的地方删除该调用。