【发布时间】:2019-01-29 01:40:51
【问题描述】:
我需要最便宜的方法来检查我的 url slug 是否由来自两个单独表的两个单独列的值形成。
我将使用带有商店和位置的虚拟示例,以使其更易于阅读。 我有以下网址:
www.domain.com/store-location
这可能是,例如:
www.domain.com/three-words-store-chicago or
www.domain.com/nicestore-new-york-or-some-neighbourhood-with-more-words or
www.domain.com/oneword-oneword
(你明白了)
商店位于称为商店的表中,表中的位置称为位置。 所有的组合在理论上都是可能的。 所以,我需要一些巧妙的 mysql 查询与 php 相结合,以检查我的 slug(.com/ 之后的内容)是否是 store+location 的确切组合。因此,为了使其更具描述性:
url: www.domain.com/cool-store-los-angeles
检查表stores.slug_stores 中是否有“cool-store”,表locations.slug_location 中是否有“los-angeles”。正如您在上面看到的,两者的字数都未定义,所以我没有任何可能的分隔符。
这必须是最便宜的方式,因为这两个表表都有大约 1000 行。请帮助,谢谢你们!
ps。重要提示:我不得以任何方式更改网址
编辑:这是真正的项目,网站。根据 url 即 slug 我返回一些带有数据的视图。所以我需要检查 www.domain.com/nicestore-nicecity 如果 Nicestore 和 Nicecity 存在于表存储和位置中,如果不存在,或者是否还有其他东西,例如 www.domain.com/nicestore-nicecityBLABLA 以杀死该页面404。否则,如果有 Nicestore 和 Nicecity 返回一些填充了相关数据的页面。到目前为止,我尝试使用“nicestore-nicecity”等已形成的 slug 制作单独的表,并将其用于查询“SELECT whatever FROM slugs WHERE what = 'nicestore-nicecity' 以及如果有行返回我需要显示页面的任何内容。 .. 简化了... 但是,这个单独的表很难维护。如果 nicestore 移动到uglycity,或者如果它更改名称,或者如果您添加新商店或新城市。我希望我现在更清楚;-)
【问题讨论】:
-
“我不能以任何方式更改 URL” ????你真的给自己挖了一个难关。
/store-name/location-name会容易得多 -
@Phil,我并没有自己挖掘这一切,我继承了它:-(。我同意你的观点,当我“挖掘”其他项目时,我完全按照你说的做了。 ;-)
-
你有没有尝试过?如果是这样,您应该将您的尝试添加到您的问题中。我有一些想法,但没有一个特别有效,尽管筛选一百万种可能的组合可能不会太对你的数据库征税
-
@Phil 我有一个名为 urls 的单独表格,其中包含已连接的商店和位置组合。很难维护,地址,名称,新商店,新城市的任何变化......所以,我希望一些 php/mysql 大师可能会有所帮助:-D
-
为什么不把它设为
VIEW?这样它总是最新的
标签: php mysql clean-urls