【问题标题】:How to make a PHP page have two "column" regions?如何使 PHP 页面有两个“列”区域?
【发布时间】:2016-06-21 14:09:08
【问题描述】:

基本上,我正在做数字标牌,我正在尝试将名称从 MySQL 数据库中提取到 PHP 页面。现在它全部集中在一列中,但我希望结果并排在两列中。我怎样才能做到这一点?

$sql = "SELECT * FROM donor WHERE DonationAmount = 5000 AND Category = '1' or DonationAmount = 5000 AND Category IS NULL ORDER BY LastName ASC";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {

            // test if the DisplayName field is empty or not
            if(empty($row['DisplayName']))
            {
                // it's empty!
                    if(empty($row['FirstName'])){
                        echo $row['LastName']. "<br>";
                    }

                    else{
                        echo $row["LastName"]. ", " . $row["FirstName"]. "<br>";
                    }

            }else{
                // Do stuff with the field
                    echo $row["DisplayName"]. "<br>";
            }

    }
} else {

}

基本上我希望这些数据分布在两列而不是一页中。

【问题讨论】:

  • 你能举例说明输出应该是怎样的吗?
  • 这是它目前的样子:imgur.com/bj17wjv -- 我希望金额标题保持居中,但该类别中的名称跨越两列
  • 所以你已经设置了一些 div 和/或 span 标签来设置你的输出样式。这更多是关于 html/css 而不是 php 的问题...

标签: php html mysql webpage two-columns


【解决方案1】:

像这样输出字符串:

echo "<span style=\"width:50%;float:left;\">".$row['LastName']."</span>";

不要忘记从每个输出中删除 &lt;br /&gt;

【讨论】:

  • 我可以在文档的头部指定类似的东西,还是让它自动为每个输出执行它?
  • 你至少需要跨越它。有一些风格
  • 不幸的是,我不知道这意味着什么,我是一个 SQL 人,而不是 PHP,所以这对我来说是相当困难的。
  • 如果不能用PHP编辑,可以写一些JS方法,用
    s分割内容,用spans包裹值
  • 看我的另一个答案
【解决方案2】:

您可以使用表格,并计算行数以确定是否需要开始新的表格行。

$i = 0;
$total_rows = $result->num_rows;
echo "<table><tr>";
while($row = mysqli_fetch_assoc($result)) {

    // test if the DisplayName field is empty or not
    echo "<td>";
    if(empty($row['DisplayName']))
    {
        // it's empty!
        if(empty($row['FirstName'])){
            echo $row['LastName'];
        }

        else{
            echo $row["LastName"]. ", " . $row["FirstName"];
        }

    }else{
        // Do stuff with the field
        echo $row["DisplayName"]. "";
    }
    echo "</td>";
    $i++;
    if($i % 2 == 0 && $i != $total_rows) {
        echo "</tr><tr>";
    }

}
echo "</tr></table>";

【讨论】:

    【解决方案3】:

    如果您的内容在&lt;div id="myDiv"&gt; 中,请使用此 JS 函数并在内容加载后调用它

    function splitValues() {
      var output = "";
      var names = document.getElementById('myDiv').innerHTML.split("<br>");
      for(var i in names) {
        output += "<span style=\"width:50%;float:left;display:inline-block;text-align:center;\">"+names[i]+"</span>";
      }
      document.getElementById('myDiv').innerHTML = output;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 2019-01-04
      相关资源
      最近更新 更多