【问题标题】:Display information from MySQL显示来自 MySQL 的信息
【发布时间】:2013-07-28 01:19:56
【问题描述】:

我有一个代码在页面上显示来自 MySQL 表的特定用户的信息。但是,信息都显示在一条简单的线上,背靠背。我想要的是在不同的块中显示每一行的信息。所以我的问题是:我怎样才能“制止”这条线,以创建许多不同的信息块,我可以在我的页面上放置我想要的信息?

<?php
while ($row = mysql_fetch_array($query)) {
echo $row['Column A'] . " " . $row['Column B'] . " " . $row['Column C'] . " ";
} ?>

【问题讨论】:

  • 将此数据保存到变量中(而不是echoing)并在其他地方使用它们
  • 关于&lt;br&gt;\n的非常基本的问题
  • 实际上,您必须考虑显示与特定用户相关的所有信息......不仅仅是表格的一行!但所有 ID 为 X 的行

标签: php mysql output line


【解决方案1】:

首先你应该将你的 mysql_* 函数更改为另一个函数,如 PDO 和 mysqli

关于您的问题是如何从您的数据库数据生成 HTML,有多种方法

可能是这样的

<?php
while ($row = mysql_fetch_array($query)) {
?>
<h1><?php echo $row['columnA']; ?></h1>
<div class="myclass"><?php echo $row['columnb']; ?></div>
<img src="<?php echo $row['columnC']; ?>">
<?php
} ?>

两个可能

 <?php
    while ($row = mysql_fetch_array($query)) {
    $str = ""; 
    $str .= "<h1>".$row['columnA']."</h1>"; 
    $str .= '<div class="myclass">'.$row['columnb'].'</div>'; 
    $str .= '<img src="'.$row['columnC'].'">'; 
    echo $str; 
    <?php
    } ?>

或者你可以使用 FW 让你更简单

如果您不打算使用框架,您也可以使用模板库,这是最适合您的方式

看看小胡子https://github.com/bobthecow/mustache.php

当然你可以改变HTML结构

我希望这可以帮助:)

【讨论】:

    【解决方案2】:

    我认为您可能正在寻找一张桌子... (不要忘记像@Sedz在他的回答中提到的那样更改为mysqli *)

    <table border="1">
        <?php
            while ($row = mysqli_fetch_array($query)) {
                echo '<tr>';
                    echo '<td>' . $row['Column A'] . '</td>';
                    echo '<td>' . $row['Column B'] . '</td>';
                echo '</tr>';
                echo '<tr>';
                    echo '<td></td>';
                    echo '<td>' . $row['Column C'] . '</td>';
                echo '</tr>';
            };
        ?>
     </table>
    

    按照您认为合适的方式将结果排列在行/单元格中...

    【讨论】:

      【解决方案3】:

      也许最好的方法是将结果传递到数组中

      $data = array(); 
      
      while ($row = mysql_fetch_assoc($results)) {
          $data[] = $row;
      }
      

      还有你所说的休息

      foreach ($data as $value) {
          echo "$value<br>";
      }
      

      【讨论】:

        【解决方案4】:

        就是简单的user2619310!

        在你的行中添加“\n”。

        例子:

        <?php
        while ($row = mysql_fetch_array($query)) {
              echo $row['Column A'] . " " . $row['Column B'] . " " . $row['Column C'] . "\n";
        
        } 
        ?>
        

        再见! :-D

        【讨论】:

          【解决方案5】:

          您如何打破界限可能会有所不同,具体取决于您的目标是什么以及您将在何处使用它们。以下是获取不同行信息的一些方法:

          1. 在每个字段的末尾使用br 标签。
          2. 使用 DIV 来包含每一行。
          3. 为每一行使用一个表格。

          如果您正在查看不同的浏览器和有效的大小,DIV 将是最好的。但是对于某些事情,表格也很容易实现。

          以下是我如何使用表格打破行。

          <table>
              <?php while ($row = mysql_fetch_array($query)): ?>
              <tr>
                  <td>Column A label</td>
                  <td><?php echo $row['ColumnA']; ?></td>
              </tr>
              <tr>
                  <td>Column B label</td>
                  <td><?php echo $row['ColumnB']; ?></td>
              </tr>
              <tr>
                  <td>Column C label</td>
                  <td><?php echo $row['ColumnC']; ?></td>
              </tr>
              <?php endwhile; ?>
          </table>
          

          我对您的数据库表结构一无所知,但根据您所展示的内容,我提供了一个示例。这未经测试,但应该很好。

          还要注意 while 循环的替代 PHP 语法。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-04-06
            • 1970-01-01
            • 2016-06-06
            • 1970-01-01
            相关资源
            最近更新 更多