Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL根据地理位置返回不同的值?_Php_Mysql - Fatal编程技术网

Php MySQL根据地理位置返回不同的值?

Php MySQL根据地理位置返回不同的值?,php,mysql,Php,Mysql,我有几个页面可以直接访问数据库并从表中获取值 现在,根据用户的地理位置,我们希望返回不同的值 我有一个获取地理位置的PHP脚本,但我试图找出一种方法,避免跟踪访问数据库的每个页面来添加此逻辑 我意识到,如果站点使用的是MVC架构,我可以将逻辑添加到模型中。不幸的是,情况并非如此 所以我的问题是,我唯一的选择是将这个逻辑添加到从数据库访问数据的每个页面。还是有更好的方法我不知道 另外,我的问题标题可能不是我问题的最佳描述,但我不确定如何表达它。您不需要将检测逻辑添加到每个访问数据的页面,而是添加到

我有几个页面可以直接访问数据库并从表中获取值

现在,根据用户的地理位置,我们希望返回不同的值

我有一个获取地理位置的PHP脚本,但我试图找出一种方法,避免跟踪访问数据库的每个页面来添加此逻辑

我意识到,如果站点使用的是MVC架构,我可以将逻辑添加到模型中。不幸的是,情况并非如此

所以我的问题是,我唯一的选择是将这个逻辑添加到从数据库访问数据的每个页面。还是有更好的方法我不知道


另外,我的问题标题可能不是我问题的最佳描述,但我不确定如何表达它。

您不需要将检测逻辑添加到每个访问数据的页面,而是添加到一个公共页面,例如索引页面。你有公共页面吗

正如webbiedave所说,您必须对查询应用一些更改来更改数据

我在一个项目中实现了基于用户位置的数据显示。我们必须显示一些导师将参加的在线课程列表。将根据浏览器/注册用户的地理位置(国家/地区)显示类别列表。用户区域(我猜是在一个国家内部)不会改变这样做的基本逻辑。我们也没有使用任何框架,因此我认为这可能对您有用:-

这大致就是我们所做的:-

1。地理位置操作部分-
我们有一个
索引
文件(就像框架的前端控制器),它针对每个请求(针对每个模块)运行,其中包含所有与用户地理位置操作相关的代码。 以下是关于该操作代码的要点-
-我们使用了一个php库来进行检测 -检测用户位置(在本例中为国家/地区)并将其存储在会话中。
-如果已存储在会话中,则不要再次/每次检测。
-在用户注销时清除存储的地理位置并再次检测

2。查询的位置相关条件

-现在,您只需在一个位置将检测到的位置添加到查询中,将其放入函数中,向其添加位置参数,然后从模块中调用它。尽可能重复使用该功能。

访问数据库的每个页面都需要连接到该功能。是否包含用于执行连接的文件?如果是这样,您可以简单地将代码包含在那里。除了这句话,我不会提及你的网站听起来似乎急需进行重大重构。@Webbiedave,是的,我有一个单独的文件来处理连接,但我如何在其中添加逻辑,从而影响包含该连接的页面上SELECT语句的返回值?是的,我知道它需要重构:)。Thanks@John-用户的地理位置是指国家还是城市?哪个级别应该决定返回值?@John Isaacks:我现在明白你的困境了。在不修改查询的情况下,无法更改所选数据。听起来您只需要投入工作来查找查询并将其更改为函数调用,这样将来的任何更改都会更容易。搜索查询会不会太费力?@Sandepan Nath,Region,例如,每个人都说我们有一家砖块和凡人商店,我们希望在网上显示与商店相同的价格。然后其他人都会得到折扣。