Bonjour à tous, je suis toute débutante en développement et aussi en forums, je suis les cours de John Codeur, via Udemy. J'avais recherché ma question dans le forum avant de la poser mais je n'ai pas trouvé exactement le même problème que le mien.
Je possède un site me servant de blog dont je me suis servie dans les tutos pour personnaliser un peu le cours. J'ai donc créer ma base de donnée perso sur phpmyadmin mais je me retrouve confrontée à un problème au niveau des relations. Mon site affiche un menu principal de 7 onglets qui correspondent à ma table "categories" et certains de ces onglets ont des sous-onglets qui correspondent à ma table "sub_categories" (ca se trouve ce n'est déjà pas la bonne manière de faire..) Tous les onglets n'ont pas de sous-onglets
Effectivement, j'ai trois tables:
categories: j'avais créé ID (primary, AI) et NAME
Sub_categories: j'ai créé egalement ID(primary,AI) et NAME et CATEGORIES(INDEX)
Items: ID(primary, AI), name, description, image, category(index), sub-category(index)
J'ai relié:
- l'id de "categories" avec le category de "sub_categories" ET de "items"
- l'id de "sub_categories" avec le "sub_category" de items.
Je voudrais m'en servir pour faire un admin sur mon site mais je rencontre DEUX problèmes:
1: quand j'ajoute un items, je suis du coup obligée de rentrer sa sous catégorie ET sa categorie sinon un message d'erreur de PHPmyadmin s'affiche.. Mais comme certaines catégories(onglets) n'ont pas de sous onglets, c'est compliqué..
Deuxièmement, je dois avoir un problème dans mon code, car cette fatal error se met automatiquement: Fatal error: Uncaught Error: Call to a member function fetch() on boolean in /Applications/XAMPP/xamppfiles/htdocs/MyLovelyBodySITE/admin/index.php:261 Stack trace: #0 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/MyLovelyBodySITE/admin/index.php on line 261
Je vous joints les photos des codes, ca sera plus simple.. Merci beaucoup!!!
Pour mon fichier database.php:
<?php
class Database
{
private static $dbHost = "localhost";
private static $dbName = "mylovelybody";
private static $dbUser = "root";
private static $dbUserPassword = "";
private static $connection = null;
public static function connect()
{
try
{
self::$connection = new PDO ("mysql:host=" . self::$dbHost ."; dbName=" .self::$dbName,self::$dbUser,self::$dbUserPassword);
}
catch (PDOException $e)
{
die($e->getMessage());
}
return self::$connection;
}
public static function disconnect()
{
self::$connection = null;
}
}
Database::connect();
?>
Pour mon fichier index.php (la ligne d'erreur 261 correspond à la ligne : while($item = $statement->fetch()))
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Titre</th>
<th>Description</th>
<th>Categorie</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php
require 'database.php';
$db = Database::connect();
$statement = $db->query('SELECT * FROM items');
while($item = $statement->fetch())
{
echo '<tr>';
echo '<td>' . $items['name'] .'</td>';
echo '<td>' . $items['description'].'</td>';
echo '<td>' . $items['category'].'</td>' ;
echo '<td>' . $items['sub_category'].'</td>';
echo ' <td width=300>';
echo '<a class="btn btn-default" href="view.php?id= '.$item['id'] .'">Voir</a>';
echo '<a class="btn btn-success" href="update.php?id= '.$item['id'].'">Modifier</a>';
echo ' <a class="btn btn-danger" href="delete.php?id= '.$item['id'].'">Supprimer</a>';
echo '</td>';
echo '</tr>';
}
?>
</tbody>
</table>
MERCI MERCI MERCI
Bonjour à tous, je suis toute débutante en développement et aussi en forums, je suis les cours de John Codeur, via Udemy. J'avais recherché ma question dans le forum avant de la poser mais je n'ai pas trouvé exactement le même problème que le mien.
Je possède un site me servant de blog dont je me suis servie dans les tutos pour personnaliser un peu le cours. J'ai donc créer ma base de donnée perso sur phpmyadmin mais je me retrouve confrontée à un problème au niveau des relations. Mon site affiche un menu principal de 7 onglets qui correspondent à ma table "categories" et certains de ces onglets ont des sous-onglets qui correspondent à ma table "sub_categories" (ca se trouve ce n'est déjà pas la bonne manière de faire..) Tous les onglets n'ont pas de sous-onglets
Effectivement, j'ai trois tables:
categories: j'avais créé ID (primary, AI) et NAME
Sub_categories: j'ai créé egalement ID(primary,AI) et NAME et CATEGORIES(INDEX)
Items: ID(primary, AI), name, description, image, category(index), sub-category(index)
J'ai relié:
- l'id de "categories" avec le category de "sub_categories" ET de "items"
- l'id de "sub_categories" avec le "sub_category" de items.
Je voudrais m'en servir pour faire un admin sur mon site mais je rencontre DEUX problèmes:
1: quand j'ajoute un items, je suis du coup obligée de rentrer sa sous catégorie ET sa categorie sinon un message d'erreur de PHPmyadmin s'affiche.. Mais comme certaines catégories(onglets) n'ont pas de sous onglets, c'est compliqué..
Deuxièmement, je dois avoir un problème dans mon code, car cette fatal error se met automatiquement: Fatal error: Uncaught Error: Call to a member function fetch() on boolean in /Applications/XAMPP/xamppfiles/htdocs/MyLovelyBodySITE/admin/index.php:261 Stack trace: #0 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/MyLovelyBodySITE/admin/index.php on line 261
Je vous joints les photos des codes, ca sera plus simple.. Merci beaucoup!!!
Pour mon fichier database.php:
[PHP]<?php
class Database
{
private static $dbHost = "localhost";
private static $dbName = "mylovelybody";
private static $dbUser = "root";
private static $dbUserPassword = "";
private static $connection = null;
public static function connect()
{
try
{
self::$connection = new PDO ("mysql:host=" . self::$dbHost ."; dbName=" .self::$dbName,self::$dbUser,self::$dbUserPassword);
}
catch (PDOException $e)
{
die($e->getMessage());
}
return self::$connection;
}
public static function disconnect()
{
self::$connection = null;
}
}
Database::connect();
?>[/PHP]
Pour mon fichier index.php (la ligne d'erreur 261 correspond à la ligne : while($item = $statement->fetch()))
[PHP] <table class="table table-striped table-bordered">
<thead>
<tr>
<th>Titre</th>
<th>Description</th>
<th>Categorie</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php
require 'database.php';
$db = Database::connect();
$statement = $db->query('SELECT * FROM items');
while($item = $statement->fetch())
{
echo '<tr>';
echo '<td>' . $items['name'] .'</td>';
echo '<td>' . $items['description'].'</td>';
echo '<td>' . $items['category'].'</td>' ;
echo '<td>' . $items['sub_category'].'</td>';
echo ' <td width=300>';
echo '<a class="btn btn-default" href="view.php?id= '.$item['id'] .'">Voir</a>';
echo '<a class="btn btn-success" href="update.php?id= '.$item['id'].'">Modifier</a>';
echo ' <a class="btn btn-danger" href="delete.php?id= '.$item['id'].'">Supprimer</a>';
echo '</td>';
echo '</tr>';
}
?>
</tbody>
</table>[/PHP]
MERCI MERCI MERCI