8768 sujets

Développement web côté serveur, CMS

Pages :
Est ce que je dois c'est :

$retour = $base->query ('SELECT * FROM user_searchs WHERE user_id = 5'); 
Dès la ligne 17 de index.php j'ai : Notice: Use of undefined constant ‘localhost’ - assumed '‘localhost’' in C:\wamp64\www\ville\index.php on line 17
et je n'ai pas appris ce genre de message d'erreur.


Voici les fichiers que j 'ai crée :


index.php :
<?php require(‘inc_connexion.php’); ?>
<!DOCTYPE html>
<html>
<head>
<title>Accueil</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div>
<h1>Accueil</h1>
<p>Bienvenue sur le mini-site consacré aux villes.</p>
<p>Ce site utilise PHP et MySQL</p>
<p>Utilisez le menu de navigation pour consulter les pages du
site.</p>
<p>Bonne visite !</p>
</div>
<?php require(‘inc_menu.php’) ?>
<?php require(‘inc_footer.php’) ?>



ville.php :
<?php require(‘inc_connexion.php’); ?>
<!DOCTYPE html>
<html>
<head>
<?php
// récupération de la variable externe
$id = $_GET[‘id’];
// requête.
$result = $mysqli->query(‘SELECT user_id, user_ville
FROM user_searchs WHERE ville_id = ‘ . $id );
// création du nouvel array
$row = $result->fetch_array();
// variables destinées à l’affichage
$nom = $row[‘ville_nom’];
?>
<title><?php echo $nom ?></title>
<link rel="stylesheet" type="text/css" href="style.css" />
 </head>
 <body>
 <div>
<h1><?php echo $nom ?></h1>
</div>
<?php require(‘inc_menu.php’) ?>
<?php require(‘inc_footer.php’) ?>


inc_connexion.php :
<?php
/*
fichier inclus: inc_connexion.php
contient la connexion à la base de données
--------------------------------------------*/
$mysqli = new mysqli(‘localhost’, ‘root’, ‘’, ‘projet_internautes’);


ensuite

inc_menu.php :
<?php
/*
fichier inclus : inc_menu.php
contient le menu de navigation des villes
--------------------------------------------*/
// requête
$result = $mysqli->query(‘SELECT user_id, user_ville FROM user_searchs’);
// fetch_array
while ($row = $result->fetch_array())
{
// création du nouvel array pour affichage ultérieur
$villes[$row[‘user_id’]] = $row[‘user_ville’];
}
// Affichage
?>
<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>


et inc_footer.php :
<?php
/*
fichier inclus : inc_footer.php
contient la fermeture de la connexion et la fin de page HTML
--------------------------------------------*/
// Libération des résultats
$result->free();
// Fermeture de la connexion
$mysqli->close();
?>
coco9196 a écrit :
Donc est ce que je dois mettre user_id = 5 ?


tu dois mettre l'user id qui correspond au mec qui est connecté
J'ai fais quelques modifications dans tous mes fichier cela marche bien j'ai mon texte , mon lien d'accueil mais je n'ai qu'une ville qui s'affiche ce qui est normal car le code est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$result = $mysqli->query('SELECT * FROM user_searchs WHERE user_id = 5 ');
.
Donc j'ai remplacer par $villes pour que toutes les villes s'affiche mais cela ne marche pas j'ai une erreur qui me dit : Fatal error: Call to a member function fetch_array() on boolean in C:\wamp64\www\ville\index.php on line 21.
Fatal error: Call to a member function fetch_array() on boolean

Te dit que ta requête ne fonctionne pas, le résultat est un booléan et non un tableau de résultat.
Du coup j'ai fais ce code en mettant user-searchs :
$result = $mysqli->query('SELECT * FROM user_searchs WHERE user_id = user_searchs ');
if ($result === false) {
    die("Erreur ! : "+ $mysqli->error);
}


Je n'ai plus de message d'erreur qui s'affiche mais en revanche les villes ne s'affiche pas
J'ai changer la ligne code que j'ai oublier de remplacer :
$result = $mysqli->query('SELECT user-ville FROM user_searchs ');
j'ai du mal a te suivre.. vraiment.. et je pense que c'est pour la même raison que les autres ne répondent pas ici..... trop de poste inutile qui viennent compremettre la compréhension de ton problème..
Faut être carré quoi...

De plus dans une requête plus haut tu utilise :

user_ville

et dans la requête que tu viens de partager tu met :

user-ville

Si tu ne fais pas attention ça va être très très compliqué pour la suite.. Smiley smile
Pages :