我希望能够控制我在此数组中打印的内容。到目前为止,这就是我所拥有的:
<?php
/* DB CONNECTION */
try {
$pdo = new PDO('mysql:host=' . DB_HOST . '; dbname=' . DB_NAME . '', DB_USER, DB_PASSWORD);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');
$sql = 'SELECT nombre,categoria,descripcion FROM equipos ORDER BY nombre ASC';
$result = $pdo->query($sql);
}
catch(PDOException $e) {
echo $error = 'Error fetching jokes: ' . $e->getMessage();
exit();
}
/*FETCH ARRAY */
$equipos = array();
while ($row = $result->fetch()) {
$equipos[] = $row['nombre'];
$equipos[] = $row['categoria'];
$equipos[] = $row['descripcion'];
}
?>
<?php
/* PRINT ARRAY */
foreach($equipos as $equipo): ?>
<p><?php
echo htmlspecialchars($equipo);
?></p>
<?php
endforeach;
?>
我的结果是:
Value1
value2
Value3
etc.
我希望能够打印出类似的内容:
Value1, Value2, Value3
Value4, Value5, Value6
必须有一种实用的方法。
答案 0 :(得分:0)
很难说出你想要的是什么,但我在黑暗中拍摄 请注意正确连接到PDO的方式
<?php
$opt = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$dsn = 'mysql:host=' . DB_HOST . '; dbname=' . DB_NAME . ';charset=utf8';
$pdo = new PDO($dsn, DB_USER, DB_PASSWORD, $opt);
$sql = 'SELECT nombre,categoria,descripcion FROM equipos ORDER BY nombre ASC';
$result = $pdo->query($sql);
$data = $result->fetchAll();
?>
现在在$data
变量中,您有一个包含所有行的数组,每个行都包含一个包含所选字段的数组。因此,您可以通过字段名称控制它们:
<?php foreach($data as $row): ?>
<p>
<?=htmlspecialchars($row['nombre'])?>,
<?=htmlspecialchars($row['categoria'])?>,
<?=htmlspecialchars($row['descripcion'])?>
</p>
<?php endforeach ?>
答案 1 :(得分:-1)
而不是使用foreach语句使用
for(var i = 0;i<(sizeof($equipos);i++)
{
echo htmlspecialchars($equipo[i]);
}