2013-04-10 83 views
0

我希望能夠控制我在這個數組中打印的內容。到目前爲止,這是我:如何控制在PHP中打印數組中的每個元素?

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

有一定實用更簡單的方法。的

回答

-1

,而不是使用foreach語句使用

for(var i = 0;i<(sizeof($equipos);i++) 
{ 
echo htmlspecialchars($equipo[i]); 
} 
+0

'.length'不是PHP函數或數組屬性。這不起作用。 – 2013-04-10 16:22:39

+0

對不起,這是sizeof miscorected – 2013-04-10 16:26:50

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

我只是試過這個選項,但不打印任何值,只有逗號。 – user2266983 2013-04-10 21:52:31

+0

如果沒有htmlspecialchars? – 2013-04-10 22:10:26

相關問題