【问题标题】:How to put php table into html sidebar?如何将 php 表格放入 html 侧边栏?
【发布时间】:2018-05-03 02:16:20
【问题描述】:

嗨,我是 php 和 html 的初学者,我想问一下如何将这个表放入我的 html 边列表中。当我把我的桌子放在那个空间里时,它总是出现 ("; foreach($testaroni as $x=>$y) { echo ""; echo "" . $y . ""; } echo ""; echo ""; ?>) 这是我的桌子。 This is the problem (2)

<?php
session_start();
$testaroni = explode("', '" , $_SESSION["data"]);
?>

<?php
echo "<table border = '1'>";
foreach($testaroni as $x=>$y) {
echo "<tr>";
echo "<td>" . $y . "</td>";
}
echo "</tr>";
echo "</table>";
?>   

我想把它放在这里。

<!DOCTYPE html>
<meta charset="utf-8">
<style>

.links line {
stroke: #999;
stroke-opacity: 0.6;
}

.nodes circle {
stroke: #fff;
stroke-width: 1.5px;
}

text {
font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
font-size: 10px;
}


</style>



<?php
session_start();
$testaroni = explode("', '" , $_SESSION["data"]);
?>

<html>
<head>
<title>Search</title>
</head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<body>

<!-- Sidebar -->
<div class="w3-sidebar w3-blue-grey w3-bar-block " style="width:15%">
<h4 class="w3-bar-item">Sidelist</h4> 


<table border = "1">
<?php
foreach($testaroni as $x=>$y) {
echo '<tr>';

echo '<td>' . $y . '</td>';
}
echo '</tr>';

?>   
</table>

</div>
</form>
</body>
</html>

【问题讨论】:

  • 您可以编辑您的代码并粘贴您本地副本 atm 中的内容吗?
  • 其余的代码是我放在这个侧边栏旁边的 d3,js 图
  • 我的意思是用你的表代码替换***[I WOULD LIKE TO PUT THAT TABLE HERE]***
  • 你的代码应该可以工作,这就是为什么我想看看你现在在那个地方用它做什么
  • 我已经编辑了代码并在顶部添加了问题的图片链接

标签: php html css


【解决方案1】:

你只需要修改你的explode函数,你的代码就会按照你的意愿运行

session_start();
//lets say your $_SESSION["data"] contains
$_SESSION["data"] = 'Value1,Value2,Value3';
//$testaroni = explode("', '" , $_SESSION["data"]);// just use single or double quotes without space
$testaroni = explode("," , $_SESSION["data"]);

【讨论】:

  • 能否请您使用 print_r($_SESSION["data"]) 打印您的 $_SESSION["data"] 变量?这样我就可以清除它的内容
  • java', 'c++', 'sybase', 'marketing', 'chemistry', 'sql', 'unix shell', '一般编程', 'javascript', 'xml', ' j2ee
  • 我已经检查过了并创建了一个工作正常的测试文件。
  • 你的服务器在运行吗?
  • 是的,使用 wamp 服务器运行它我试图在测试文件上创建表是有效的,但只有当我把它放在我的侧边栏中时它才显示
【解决方案2】:

你试试 var_dump($_SESSION["data"]) 你应该检查空的 $_SESSION["data"]。我试试 put

$testaroni = array("1","2","3");//它工作正常

【讨论】:

  • testarr.php:3:string 'firewall', 'java', 'c++', 'sybase', 'marketing', 'chemistry', 'sql', 'unix shell', 'general Programming', 'javascript', 'xml', 'j2ee' (length=132) 这就是它所显示的
  • 对不起,我帮不了你。但是我看到你写了残留的 标签,我认为你应该将 Sesson 设置为 JSON 类型,这样会更好
【解决方案3】:

你可以阅读更多关于我的这个here

好像我的眼睛都快瞎了,我花了一段时间才看到它。

在 PHP 中尝试使用 HTML 标记时不应使用 "

你需要使用的是'

<table border = "1">
<tr>
<?php
foreach($testaroni as $x=>$y) {
     echo '<td>'.$y.'</td>';
}
?>
</tr>
</table>

这样做的原因是" 会将其中的任何内容视为字符串,而' 会将其视为原样。

请参阅here 以获得更好的解释。

另外,请按照上面的答案进行会话,因为它也是错误的。

【讨论】:

  • 所以我只需要更改这部分 echo ''.$y.'';?其余的都好吗?
  • FWIW - 只是风格问题,但在输出 html 时使用这种格式可以避免引号问题 - &lt;?php foreach($testaroni as $y): ?&gt; &lt;td&gt;&lt;?= $y ?&gt;&lt;/td&gt;&lt;?php endforeach; ?&gt; (这个简单的例子并不公平,但有更多的 html开始看起来比到处都是回声和引用要清晰得多)
  • 是的,或者您可以坚持使用您的模板,只需将 " 更改为 '。蒂姆的评论也值得注意,它更干净,避免了很多回声:)
  • 我已经更改了它,但它仍然不起作用我已经编辑了代码^
  • foreach 上方添加这个echo "hello"; die; 并告诉我结果
【解决方案4】:

您的会话变量是一个 CSV 字符串。简单地在逗号上爆炸不会得到你想要的东西。您可以使用var_dump($testaroni); 验证这一点。

使用str_getcsv

<?php
// always start with php logic; 
// it makes the script much easier to follow and 
// if you need to redirect, you haven't put out any output yet.

session_start();

// check the docs for info on this function
$testaroni = str_getcsv($_SESSION['data']);

// then, when everything is calculated, print out your output
?>
<html>
    <head>
      <title>Search</title>
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
      <style>

      .links line {
      stroke: #999;
      stroke-opacity: 0.6;
      }

      .nodes circle {
      stroke: #fff;
      stroke-width: 1.5px;
      }

      text {
      font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
      font-size: 10px;
      }


      </style>
    </head>
    <body>

      <!-- Sidebar -->
      <div class="w3-sidebar w3-blue-grey w3-bar-block " style="width:15%">
        <h4 class="w3-bar-item">Sidelist</h4> 
        <table border = "1">
        <?php foreach($testaroni as $y): ?>
          <tr>
            <td><?= $y ?></td>
          </tr>
        <?php endforeach; ?>
        </table>
      </div>
    </form>
    </body>
</html>

【讨论】:

  • 我没有注意css样式和内联样式。我不知道 w3schools 样式表是做什么的。您是否至少获得了会话变量中的项目列表?今晚帮不上忙,但您可以通过简单地使用var_dump 来调试,看看变量是否符合您的预期。
  • 是的,我在另一个页面上创建了一个测试表,它可以工作,问题只是将表放在那个侧边栏中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-29
  • 2013-08-14
相关资源
最近更新 更多