Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表不包括';t垂直对齐_Php_Html_Css - Fatal编程技术网

Php 表不包括';t垂直对齐

Php 表不包括';t垂直对齐,php,html,css,Php,Html,Css,所以我想做一些非常简单的事情,我不能正确地理解。我目前正在制作一个论坛,在那里我通常会有错误(后端),现在一切正常,可能是通过我使用的黑魔法;D 现在,问题是:我想显示我的所有子类别,所以我使用下表: <div id="content_big"> <div class="content_top_oranje"> <p class="koptekst"> <?php echo 'Name';?>

所以我想做一些非常简单的事情,我不能正确地理解。我目前正在制作一个论坛,在那里我通常会有错误(后端),现在一切正常,可能是通过我使用的黑魔法;D

现在,问题是:我想显示我的所有子类别,所以我使用下表:

<div id="content_big">
    <div class="content_top_oranje">
        <p class="koptekst">
            <?php echo 'Name';?>
        </p>
        <p style="float:left; margin-left:70%; margin-top:-30px; color:#fff; font-size:11px;font-family:Ubuntu;">
            <?php echo 'Description';?>
        </p>
    </div>
    <div class="content_mid">
        <?php $kop='algemeen' ;
              $query=$ db->conn->prepare("SELECT * FROM ht_forum_categorien WHERE kop = ?");
              $query->bind_param('s', $kop);
              $query->execute();
              $result = $query->get_result();
              while ($row = $result->fetch_assoc()) { ?>
        <table style="width:100%;" border="1" cellspacing="0">
            <tr>
                <td>
                    <?php echo $row[ 'name']; ?>
                </td>
                <td style="margin-left:50px;">
                    <?php echo $row[ 'description]; ?>
                </td>
            </tr>
        </table>
        <?php
              }
        ?>
    </div>
</div> 


代码中有两个相当大的问题:

  • 最重要的是,您遇到的问题是:您没有生成表。您正在生成大量的表。如果需要一个表,请将
    标记移到循环外部,并仅在while循环中生成
    及其内容
  • 一个你没有意识到的问题:你使用的HTML不符合你的标记是语义的承诺:标题应该是标题元素(h1、h2、h3,你有什么),作为一个表,实际上这不应该是
    divs
    p
    table
    ,这应该是一个表,使用标题行,样式为标题,然后是数据行
  • 因此,让我们将其改写为从PHP和HTML角度都有意义的内容:

    <?php
      ...query your data. Do this first...
      $result = ...;
      if($result isn't empty) {
    ?>
    <table>
      <?php
        echo "<thead><th>$kop</th><th>$description</th></thead>";
      ?>
      <tbody>
      <?php
        while ($row = $result->fetch_assoc()) {
          $name = $row['name'];
          $desc = $row['description'];
          echo "<tr><td>$name</td><td>$desc</td></tr>\n";
        }
      ?>
      </tbody>
    </table>
    <?php } ?>
    

    代码中有两个相当大的问题:

  • 最重要的是,您遇到的问题是:您没有生成表。您正在生成大量的表。如果需要一个表,请将
    标记移到循环外部,并仅在while循环中生成
    及其内容
  • 一个你没有意识到的问题:你使用的HTML不符合你的标记是语义的承诺:标题应该是标题元素(h1、h2、h3,你有什么),作为一个表,实际上这不应该是
    divs
    p
    table
    ,这应该是一个表,使用标题行,样式为标题,然后是数据行
  • 因此,让我们将其改写为从PHP和HTML角度都有意义的内容:

    <?php
      ...query your data. Do this first...
      $result = ...;
      if($result isn't empty) {
    ?>
    <table>
      <?php
        echo "<thead><th>$kop</th><th>$description</th></thead>";
      ?>
      <tbody>
      <?php
        while ($row = $result->fetch_assoc()) {
          $name = $row['name'];
          $desc = $row['description'];
          echo "<tr><td>$name</td><td>$desc</td></tr>\n";
        }
      ?>
      </tbody>
    </table>
    <?php } ?>
    
    试试这个

     <div id="content_big">
        <div class="content_top_oranje">
            <p class="koptekst">
                <?php echo 'Name';?>
            </p>
            <p style="float:left; margin-left:70%; margin-top:-30px; color:#fff; font-size:11px;font-family:Ubuntu;">
                <?php echo 'Description';?>
            </p>
        </div>
        <div class="content_mid">
            <?php $kop='algemeen' ;
                  $query=$ db->conn->prepare("SELECT * FROM ht_forum_categorien WHERE kop = ?");
                  $query->bind_param('s', $kop);
                  $query->execute();
                  $result = $query->get_result();
                   ?>
            <table style="width:100%;" border="1" cellspacing="0">
            <?php while ($row = $result->fetch_assoc()) { ?>
                <tr>
                    <td>
                        <?php echo $row[ 'name']; ?>
                    </td>
                    <td style="margin-left:50px;">
                        <?php echo $row[ 'description']; ?>
                    </td>
                </tr>
                   <?php
                  }
            ?>
            </table>
    
        </div>
    </div> 
    
    
    

    试试这个

     <div id="content_big">
        <div class="content_top_oranje">
            <p class="koptekst">
                <?php echo 'Name';?>
            </p>
            <p style="float:left; margin-left:70%; margin-top:-30px; color:#fff; font-size:11px;font-family:Ubuntu;">
                <?php echo 'Description';?>
            </p>
        </div>
        <div class="content_mid">
            <?php $kop='algemeen' ;
                  $query=$ db->conn->prepare("SELECT * FROM ht_forum_categorien WHERE kop = ?");
                  $query->bind_param('s', $kop);
                  $query->execute();
                  $result = $query->get_result();
                   ?>
            <table style="width:100%;" border="1" cellspacing="0">
            <?php while ($row = $result->fetch_assoc()) { ?>
                <tr>
                    <td>
                        <?php echo $row[ 'name']; ?>
                    </td>
                    <td style="margin-left:50px;">
                        <?php echo $row[ 'description']; ?>
                    </td>
                </tr>
                   <?php
                  }
            ?>
            </table>
    
        </div>
    </div> 
    
    
    


    我没有看到您使用“表”:这段代码生成许多独立的2列表。动态生成行,在生成循环之外使用
    开始和结束标记。@Oriol代码显示情况并非如此。它只是一个标题,然后是五个表,所有这些表恰好都有一行两列。我没有看到您使用“表”:这段代码生成许多单独的两列表。动态生成行,在生成循环之外使用
    开始和结束标记。@Oriol代码显示情况并非如此。它只是一个标题,然后是五个表,恰好都有一行两列。当然,这仍然是疯狂的HTML,应用了各种不良做法。我同意,我刚刚给出了他的问题的解决方案。stackoverflow也是为未来的问题发现者准备的-需要更多的时间来解决问题,但同时解释其他错误,对依赖于它的人来说更具价值。当然,这仍然是疯狂的HTML,应用了各种不良做法。我同意,我刚刚给出了他的问题的解决方案。stackoverflow也是为未来的问题发现者而来的-花更多的时间不仅仅是解决问题,但同时解释其他的错误,对依赖它的人来说更有价值。这一个不会让我的眼睛流血。这一个不会让我的眼睛流血。