php - 在 php mysql 应用程序中处理关注用户功能

标签 php mysql web-applications

问题陈述:我正在应用程序中开发关注用户功能,并且有时需要一些功能。 我有一个报价列表(由用户发布)显示在我的页面上,其中有一个“关注供应商”按钮。现在,任何登录的用户都可以单击“关注”按钮并关注提供此信息的人发布优惠

查询:现在,如果用户已经关注该供应商,下次供应商发布任何报价时,关注按钮应替换为“关注”或“已关注”,因为他已经关注了他.
现在我可以在数组中获取登录用户关注的记录结果。这是 Offer div 的结构,其中循环显示优惠。

   <div class="box col2">
    <div class="innerBox"> <img src="http://codex.abc.com/upload_deals/files/221x208/<?php echo $resDeal['productImg'];?>">
      <p><?php echo $resDeal['productName']; ?></p>
      <p class="styleTxt">Added <?php echo $timer; ?> ago</p>
      <div class="clear"></div>
        <div class="over">
            <div class="twitter">
                <a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" data-url="http://www.abc.com/salesDetails.php?dealId=<?php echo $resDeal['saleId']; ?>">Tweet</a>
                <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
            </div>
            <!-- Facebook share button Start -->
            <div class="facebook">
                <fb:share-button type="button_count" href="http://www.abc.com/biggisalesDetails.php?dealId=<?php echo $resDeal['saleId']; ?>"></fb:share-button>

            </div>
            <!-- Facebook share button End -->
            <div class="pintrest">
                <!-- Pinterest button Start -->
                    <a href="javascript:void((function(){var%20e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','http://assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)})());"><img alt="Pin It!" style='border: none;' src="http://assets.pinterest.com/images/pidgets/pin_it_button.png"/></a>
                    <!-- Pinterest button End -->
            </div>
            <div class="clear"></div>
            <a href="javascript:void(0)" class="red follow" saleId="<?php echo $resDeal['saleId'];?>">Follow Vendor</a>
        </div>
    </div>
    <div class="bottom">
      <h3><?php echo $resDeal['discount']; ?> Off</h3>
      <a href="biggisalesDetails.php?dealId=<?php echo $resDeal['saleId']; ?>">MORE</a>
    </div>
</div>

一次可能有超过 100 个优惠,因此检查用户是否关注发布优惠的供应商的最有效方法是什么?
我想获取数组中的值,并检查每个报价是否存在于用户跟随的供应商数组中?像这样: 从关注中选择 followUserId,其中 userId =34.将其存储在数组中并检查报价供应商是否与其匹配
这是一个好方法还是我可以以任何方式进一步优化它?
感谢建议

最佳答案

您建议的设计效果很好。 还有其他选项,例如:

  1. 获取将在页面上显示的供应商 ID 列表
  2. 获取用户关注的供应商 ID 列表
  3. 取两个列表的交集,给出将在页面上显示并遵循的所有供应商 ID 的列表

但实际上,这些基本上都是完成您所描述的事情的奇特方法。原因如下:(a) 它有效,(b) 简单,(c) 易于理解,(d) 易于维护;我会坚持使用你所描述的选项,即。

  1. 从 follow WHERE userId=[在此处插入用户 ID] 中选择 followuserid
  2. 存储在数组中
  3. 每次输出商品时,检查供应商 ID 是否在数组中
  4. 使用 PHP if-else block ,有条件地向用户显示不同的内容。

如果你真的想把它发挥到最大,你可以对数组进行排序并选择一个好的算法来搜索它,甚至构建一个新的数据结构,例如树,但实际上这是一个简单的问题并使得非常复杂。

关于php - 在 php mysql 应用程序中处理关注用户功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16558408/

相关文章:

php - 在 PHP 中过滤 JSON 数据

python - Django 用户传递

php - 如何使用 codeigniter 中另一个 Controller 传递的变量创建一个 Flexigrid?

php - 如何使用 Laravel Eloquent 地避免 "duplicate key value violates unique constraint"?

php - 使用 PHP 将 DATE TIMESTAMP 值插入 MySQL

mysql - Having 子句不适用于 MySQL 中的连接

asp.net - Web.config 和 MySQL 问题。

javascript - 在 Firefox 上卸载 webapp

javascript - 将动态内容添加到动态内容中。是否可以?

php - 如何获取 json 对象中数组的长度?