可以将PHP变量作为表吗?

时间:2017-09-08 07:05:14

标签: php

是否可以将PhP中的变量定义为表格?即

@mysql_pconnect($host,$user,$pass);

还是有一种特殊方式可以实现同样的目标吗?

6 个答案:

答案 0 :(得分:2)

我认为你混淆了两件事:

  • 一个列表数据结构,其中每个元素都拥有属性firstnamelastnameage
  • 表示列表的方法,例如表格。在这种情况下,标记语言为HTML的表。

您可以为每个元素使用array(),其中包含键值对array()。但最好采用面向对象的方法。

首先需要从数据库构造数据对象,然后用它们填充数组:

class Person {

    private $firstname;
    private $lastname;
    private $age; // It's better to pass a birthdate.

    public function __construct($firstname, $lastname, $age) {
        $this->firstname = $firstname;
        $this->lastname = $lastname;
        $this->age = $age;
    }
}
$persons = array();

foreach ($someResultingRowFromDatabase as $row) {
    $persons[] = new Person($row['firstname'], $row['lastname'], $row['age']);
}

我不知道从数据库中获取数据的确切代码,但您应该使用PDO。

稍后使用$persons对象遍历Person数组并编写HTML表。

答案 1 :(得分:1)

如果你想将静态表作为PHP变量,你可以在单引号(')中插入,就像这段代码...

$table1 = '<table style="width:100%">
              <tr>
                <th>Firstname</th>
                <th>Lastname</th> 
                <th>Age</th>
              </tr>
              <tr>
                <td>Jill</td>
                <td>Smith</td> 
                <td>50</td>
              </tr>
              <tr>
                <td>Eve</td>
                <td>Jackson</td> 
                <td>94</td>
              </tr>
            </table>';

如果你想要动态表列这个代码将起作用...使用连接运算符....

$table1 = '<table style="width:100%">
          <tr>
            <th>Firstname</th>
            <th>Lastname</th> 
            <th>Age</th>
          </tr>';
foreach($array as $val){
    $table1 .= '<tr>
                <td>'.$val['fname'].'</td>
                <td>'.$val['lname'].'</td> 
                <td>'.$val['age'].'</td>
              </tr>';
}
$table1 .= '</table>';
echo $table1;

答案 2 :(得分:1)

您要找的不是表格,而是Array。 Array基本上是一组带索引的数据。数据元素本身可以再次成为数组。您的结构本身看起来像数组:

$array = 
[
    [
        "Firstname" => "Jill",
        "Lastname" => "Smith",
        "Age" => 50
    ],
    [
        "Firstname" => "Eve",
        "Lastname" => "Jackson",
        "Age" => 94
    ],
];

您现在拥有一个变量,它以结构化形式包含您的数据,您可以使用forforeach循环遍历它。如果您的数据存储在MySQL数据库中,您可能需要查看this example on php.net。这解释了如何从数据库中获取数据到数组(而不是示例末尾的$actor变量)。

答案 3 :(得分:0)

您可以使用heredoc字符串

 $table1 = <<<EOD
<table style="width:100%">
                              <tr>
                                <th>Firstname</th>
                                <th>Lastname</th> 
                                <th>Age</th>
                              </tr>
                              <tr>
                                <td>Jill</td>
                                <td>Smith</td> 
                                <td>50</td>
                              </tr>
                              <tr>
                                <td>Eve</td>
                                <td>Jackson</td> 
                                <td>94</td>
                              </tr>
                            </table>
EOD;

答案 4 :(得分:0)

请试试这个

$table1 = '<table style="width:100%">
               <tr>
                  <th>Firstname</th>
                  <th>Lastname</th> 
                  <th>Age</th>
               </tr>
               <tr>
                   <td>Jill</td>
                   <td>Smith</td> 
                   <td>50</td>
               </tr>
               <tr>
                    <td>Eve</td>
                    <td>Jackson</td> 
                    <td>94</td>
               </tr>
          </table>'
;

echo $table1;

答案 5 :(得分:0)

你成功地做到了!)U把表放到变量上。但严重的是,你试图将两件事合二为一:数据和视图。这是一种非常错误的编程方式。