【问题标题】:How can I deliver data to different HTML pages with only one PHP?如何仅使用一个 PHP 将数据传递到不同的 HTML 页面?
【发布时间】:2019-03-18 02:34:56
【问题描述】:

我想使用相同的 php 页面将值从 mySql 表获取到不同的页面......我正在使用以下 PHP 代码。 sendResult 是一个变量,它告诉 PHP 页面想要接收什么信息,其他页面的第一件事就是“喊”出他们想要的信息。

$sendResult = $_POST['getResult'];

    if ($sendResult ==="0"){
      while($row = $result->fetch_assoc()) {
        if ($row['section']==="0") {
          $timestamp = strtotime($row['created']);
          $cdate = date('d/m/Y', $timestamp);
          $ctime = date('H:i', $timestamp);
          echo "<div>";
          echo "<div class='box-header justify-content-between'>";
          echo "<p class='mr-4 mb-0 font-weight-bold'>Name LastName</p>";
          echo "<p class='ml-4 mb-0'>" . $cdate . " - " . $ctime . " hs.</p></div>";
          echo "<div class='box-msg'><p>" . $row['msg'] . "</p></div></div>";
        }
      }
    }
    if ($sendResult ==="1"){
      while($row = $result->fetch_assoc()) {
        if ($row['section']==="1") {
          echo "<p>write something else</p>";
          echo "<p>with some value for example: " . $row['something'] . "</p>";
          echo "<p>and finish the text.</p>"; 
        }
      }
    }
    if ($sendResult ==="2"){
      while($row = $result->fetch_assoc()) {
        if ($row['section']==="2") {
          // write another things
        }
      }
    }

有什么方法可以做得更好吗?我修改了我在每个 html 页面有 1 个 php 页面时使用的代码,所以我只有一段时间的 if 内部,如果该行用于该页面,则传递数据。 现在我在每页上添加了另一个我想要传递数据的 if 上部,但我想知道是否可能在第一个“if”内我可以使用“for”并只获取带有字段的行(0、1 或 2 ) 我想要用于该特定页面,但显然我还没有尝试过,因为我不知道该怎么做。

谢谢,莱安德罗。

【问题讨论】:

  • 您是在使用 IF 语句来判断整个页面的内容吗?
  • 上面的 IF 总是告诉 PHP 文件另一个页面正在请求什么信息,而里面的 IF(在 while 下)是选择只有那个值的行(0,1 或2)在mySql数据库的“section”字段中。
  • 在我看来,这看起来很乱。当您拥有更多类型的$sendResult 时会发生什么?你会链接越来越多的 IF 语句吗?这将很难维护,如果在传递不同的东西时整个页面内容不同,那么拥有多个文件会更好
  • 我没想到!在这种情况下,我将只有 3 页用于请求信息,但请记住这是一件好事,以防我在另一个项目中获得更多信息。

标签: php mysql for-loop while-loop


【解决方案1】:

将您的代码放在单独的函数中,并使用switch/case 调用它们。

switch($sendResult) {
case "0":
    do_something($result);
    break;
case "1":
    do_something_else($result);
    break;
case "2":
    do_another_thing($result);
    break;
default:
    die("unrecognized getResult=$sendResult");
}

【讨论】:

  • 非常感谢!我不知道这个功能!我会不时尝试编写代码,然后告诉你,但我认为这正是我想要的。
猜你喜欢
  • 1970-01-01
  • 2015-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 2017-01-25
  • 1970-01-01
相关资源
最近更新 更多