我不确定这是否可以完成,但我想我会问以防万一。我有一个食谱应用程序,用 php 编写。我想转换粘贴到文本框中的成分并将其与 mysql 数据库中的一行相匹配。例如,如果我有一个名为“成分”的表,并且它包含
id ingredient calories
1 bread crumbs 10
2 egg 15
3 salt 1
以及包含的其他名为食谱的表
id ingredient
然后网站有一个文本文件来输入成分,您添加了:
1/2 cup bread crumbs
1 egg
1 tsp salt
我想从文本中取出“面包屑”,将其插入 recipes
表,并将其与数据库中的面包屑相匹配,然后取鸡蛋和盐,做同样的事情。然后我可以总结食谱的卡路里。
我基本上试图找到提取成分的最简单方法,而不必将其输入到各个字段或从下拉菜单中提取。下拉菜单将有数百行并且非常困难。这显然是一个非常简单的例子,还有很多其他事情需要完成,但提取部分是我正在努力弄清楚的。有什么想法吗?
最佳答案
您可以使用这样的查询从数据库中查找成分信息。
$pdo->prepare("SELECT *
FROM ingredients
WHERE :input_string LIKE CONCAT('%', ingredient, '%')
ORDER BY LENGTH(ingredient) DESC
LIMIT 1");
$pdo->bindParam(':input_string', $_POST['ingredient']);
$pdo->execute();
ORDER BY LENGTH
和 LIMIT 1
使其返回最长的匹配项,因此如果他们输入 bread crumbs
则不会返回 面包
或朗姆酒
以及。
解析数量会更加困难。
关于php - 将文本中的单词映射到数据库中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38927740/