Bonjour à vous tous,
J'ai enfin réussi à trouver d'où venait l'erreur suite à ce sujet https://forum.alsacreations.com/topic-20-89646-1-Erreur-PHP-que-je-ne-comprends-pas.html
Elle était double. Dans un premier temps, je me trompais dans le nom de la base de données et celui de la table. Ensuite, j'avais oublié un bout de code qui était celui-ci :
où j'avais oublié à la fin
Ces problèmes sont corrigés.
Mais maintenant j'ai ce souci :
Je sais que c'est un problème d'encodage des caractères. Cependant, dans ma table, j'ai bien sélectionné utf8_general_ci dans l'interclassement, pour tous les champs sauf ville_id qui n'en a pas besoin vu que c'est le numéro de l'enregistrement auto incrémenté. J'ai également dans les deux pages HTML la balise :
Vous savez d'où provient ce problème d'affichage ?
Merci pour votre sollicitation
Voici le code du fichier index.php
Voici le code du fichier ville.php :
Voici la structure de la table villes :
Modifié par ObiJuanKenobi (01 Jun 2022 - 06:43)
J'ai enfin réussi à trouver d'où venait l'erreur suite à ce sujet https://forum.alsacreations.com/topic-20-89646-1-Erreur-PHP-que-je-ne-comprends-pas.html
Elle était double. Dans un premier temps, je me trompais dans le nom de la base de données et celui de la table. Ensuite, j'avais oublié un bout de code qui était celui-ci :
$result = $mysqli->query('SELECT ville_id, ville_nom, ville_texte FROM villes WHERE ville_id =' . $id);
où j'avais oublié à la fin
WHERE ville_id ='
Ces problèmes sont corrigés.
Mais maintenant j'ai ce souci :
Je sais que c'est un problème d'encodage des caractères. Cependant, dans ma table, j'ai bien sélectionné utf8_general_ci dans l'interclassement, pour tous les champs sauf ville_id qui n'en a pas besoin vu que c'est le numéro de l'enregistrement auto incrémenté. J'ai également dans les deux pages HTML la balise :
<meta charset="UTF-8">
Vous savez d'où provient ce problème d'affichage ?
Merci pour votre sollicitation
Voici le code du fichier index.php
<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<link href="styles.css" type="text/css" rel="stylesheet">
<title>Accueil</title>
</head>
<body>
<div>
<h1>Accueil</h1>
<p>Mini site consacré aux villes</p>
<p>Cette page utilise PHP et MySQL</p>
<p>Utiliser le menu de navigation pour consulter les pages</p>
<?php
$mysqli = new mysqli('localhost', 'root', '', 'projet_villes_site');
$result = $mysqli->query('SELECT ville_id, ville_nom FROM villes');
while($row = $result->fetch_array()){
$villes[$row['ville_id']] = $row['ville_nom'];
}
?>
</div>
<ul>
<li><a href="index.php">Accueil</a></li>
<?php foreach($villes as $id => $ville) : ?>
<li><a href="ville.php?id=<?php echo $id ?>"><?php echo $ville ?></a></li>
<?php endforeach ?>
</ul>
<?php
$result->free();
$mysqli->close();
?>
</body>
</html>
Voici le code du fichier ville.php :
<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<?php
$id = $_GET['id'];
$mysqli = new mysqli('localhost', 'root', '', 'projet_villes_site');
$result = $mysqli->query('SELECT ville_id, ville_nom, ville_texte FROM villes WHERE ville_id =' . $id);
$row = $result->fetch_array();
$nom = $row['ville_nom'];
$texte = $row['ville_texte'];
?>
<title><?php echo $nom ?></title>
<link href="styles.css" type="text/css" rel="stylesheet">
</head>
<body>
<div>
<h1><?php echo $nom ?></h1>
<p><?php echo $texte ?></p>
<?php
$result = $mysqli->query('SELECT ville_id, ville_nom FROM villes');
while($row = $result->fetch_array()){
$villes[$row['ville_id']] = $row['ville_nom'];
}
?>
</div>
<ul>
<li><a href="index.php">Accueil</a></li>
<?php foreach($villes as $id => $ville) : ?>
<li><a href="ville.php?id=<?php echo $id ?>"><?php echo $ville ?></a></li>
<?php endforeach ?>
</ul>
<?php
$result->free();
$mysqli->close();
?>
</body>
</html>
Voici la structure de la table villes :
Modifié par ObiJuanKenobi (01 Jun 2022 - 06:43)