【问题标题】:using require statments with if/elseif statements [duplicate]将require语句与if / else if语句一起使用[重复]
【发布时间】:2011-06-09 12:35:38
【问题描述】:

可能重复:
PHP Question: How to fix these if/elseif statements

你好,有没有办法编写 if/elseif 语句来使用 require 语句显示多个 php 页面。我目前正在使用 rss 从博客中收集文章并在网页上显示链接。如何根据从 mysql 数据库中选择的数组值显示某个提要。抱歉,这很多,希望我能很好地解释我的问题。这是显示页面上的代码:

$query = "SELECT interests FROM signup WHERE username = '$username'";
$result = mysql_query($query) or die ("no query");

$result_array = array();
while($row = mysql_fetch_array($result))
{
$result_array[] = $row['interests'];
} if ($result_array[0] = Politics) {
require 'politics.php';
} 

【问题讨论】:

  • 请不要在多个帐户下重复提问,否则您的帐户将被暂停。谢谢。

标签: php mysql if-statement require


【解决方案1】:

您只有一个=,并且没有引用政治。将最后几行更改为如下所示:

if ($result_array[0] == 'Politics') {
  require 'politics.php';
} 

另外,附带说明一下,您应该确保正确转义查询变量中的 $username 以防止 SQL 注入攻击。

【讨论】:

    【解决方案2】:

    您的 if 语句未使用比较等号或引号。应该是这样的:

    if ($result_array[0] == 'Politics')
    

    【讨论】:

      【解决方案3】:

      闻起来有点糟糕的设计。您最好将用户存储在用户表中,将他们的兴趣存储在单独的表中,并将兴趣主列表存储在第三个表中。

      user: (id, name, etc...)
      user_interests (user_id, interest_id)
      interests (id, name, filename)
      

      然后你可以简单地做这样的事情:

      SELECT interests.filename, interests.name
      FROM interests
      RIGHT JOIN user_interests ON interests.id = user_interests.interest_id
      

      while($row = msyql_fetch... ) {
          include($row['filename']);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-09
        • 1970-01-01
        • 2022-11-15
        • 1970-01-01
        • 1970-01-01
        • 2017-08-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多