0

この配列に印刷するものを制御できるようにしたい。これまでのところ、これは私が持っているものです:

<?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

実用的な簡単な方法があるはずです。

4

2 に答える 2

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 ?>
于 2013-04-10T16:31:37.503 に答える
-1

foreach ステートメントを使用する代わりに、

for(var i = 0;i<(sizeof($equipos);i++)
{
 echo htmlspecialchars($equipo[i]);
}
于 2013-04-10T16:21:16.793 に答える