Bonsoir, je suis entrain de faire le tutoriel de grafikart sur le portfolio.
j'en suis à la partie admin, quand je veux afficher mes informations dans mon foreach rien ne ce passe
panel.php :
<?php
require '../core/includes.php';
require '../partials/header.php';
$title = 'Administration';
// Delete
if(isset($_GET'delete']))
{
$id = $db->quote($_GET'delete']);
$db->query("DELETE FROM news WHERE id=$id");
header('Location: panel.php');
die();
}
// News
$req = $db->query('SELECT id, auteur, titre, content FROM news');
$news = $req->fetch();
?>
<h1>Les news</h1>
<p>
<a href="edit-news.php" class="btn btn-success">
Ajouter une news
</a>
</p>
<table class="table table-striped">
<thead>
<tr>
<th>
Id
</th>
<th>
Auteur
</th>
<th>
Titre
</th>
<th>
Content
</th>
</tr>
</thead>
<tbody>
<?php foreach($news as $category): ?>
<tr>
<td>
<?= $category'id']; ?>
</td>
<td>
<?= $category'auteur']; ?>
</td>
<td>
<?= $category'titre']; ?>
</td>
<td>
<?= $category'content']; ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require '../partials/footer.php'; ?>
quand je met fetchAll() rien ne ce passe et quand je met fetch il me dit : Warning: Invalid argument supplied for foreach()
Merci de votre aide ..
Salut,
Pour te renseigner sur ton erreur tu peux lire la doc : http://php.net/manual/fr/pdo.query.php
Voici ce que j'ai pu y trouver en exemple :
<?php
function getFruit($conn) {
$sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
foreach ($conn->query($sql) as $row) {
print $row'name'] . "\t";
print $row'color'] . "\t";
print $row'calories'] . "\n";
}
}
?>
On voit donc que ton foreach est mal construit, met ça à la place :
<?php foreach($db->query('SELECT id, auteur, titre, content FROM news') as $category): ?>
<tr>
<td>
<?= $category'id']; ?>
</td>
<td>
<?= $category'auteur']; ?>
</td>
<td>
<?= $category'titre']; ?>
</td>
<td>
<?= $category'content']; ?>
</td>
</tr>
<?php endforeach; ?>
Après pour ta requête SQL tu peux utiliser heredoc comme ceci :
$sql =<<<EOD
SELECT id, auteur, titre, content
FROM news
EOD;