是否可以将PhP中的变量定义为表格?即
@mysql_pconnect($host,$user,$pass);
还是有一种特殊方式可以实现同样的目标吗?
答案 0 :(得分:2)
我认为你混淆了两件事:
firstname
,lastname
和age
。您可以为每个元素使用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
],
];
您现在拥有一个变量,它以结构化形式包含您的数据,您可以使用for
或foreach
循环遍历它。如果您的数据存储在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把表放到变量上。但严重的是,你试图将两件事合二为一:数据和视图。这是一种非常错误的编程方式。