IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête mysql php


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Chargé de référencement
    Inscrit en
    Mars 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé de référencement
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2018
    Messages : 38
    Points : 6
    Points
    6
    Par défaut Requête mysql php
    Bonjour j'ai un problème de requête , j'ai créer ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <!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>
    <?php
    // 1. connexion
    $mysqli = new mysqli('localhost', 'root', '', 'projet_internautes');
    // 2. requête
     
     
    $result = $mysqli->query('SELECT * FROM user_searchs WHERE user_id = user_searchs ');
    if ($result === false) {
        die("Erreur ! : "+ $mysqli->error);
    }
    // 3.a. transformation en array avec fetch_array
     
    // 4. Affichage
    ?>
    </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
    /* Libération des résultats */
    $result->free();
    /* Fermeture de la connexion */
    $mysqli->close();
    ?>
    </body>
    </html>
    Les 5 villes que je souhaitent afficher ne s'affichent pas il n'y a que ce qui est dans le HTML qui s'affiche bien et j'ai essayer de remplacer la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = $mysqli->query('SELECT * FROM user_searchs WHERE user_id = user_searchs ');
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = $mysqli->query('SELECT user-ville FROM user_searchs ');
    comme dans mon cours mais cela ne marche pas non plus.

    Comment je peux faire pour que mes villes s'affichent?

    Merci d'avance pour votre aide

    Cordialement

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ne met pas de tiret dans le nom de tes colonnes.

    Tu n'as pas mis la ligne qui défini $villes, je suppose que dans ton cours tu as
    Surement dans la partie 3.a qui est vide dans ce que tu nous montres.

    Il est de plus impératif d'afficher les erreurs PHP quand on developpe.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT user-ville FROM user_searchs
    Ne jamais utiliser "-" dans un nom de table ou colonne. C'est utilisé pour une soustraction dans une requête sql.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM user_searchs WHERE user_id = user_searchs
    Peut-on voir la structure de la table? D'où vienne la valeur user_searchs?

    A+.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Chargé de référencement
    Inscrit en
    Mars 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé de référencement
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2018
    Messages : 38
    Points : 6
    Points
    6
    Par défaut
    En faite dans un autre fichier relier a cette page (index.php) j'ai (ville.php) et la ligne $ville n'est pas vide voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <html>
    <head>
    <?php
    // 1. récupération de la variable externe
    $id = $_GET['id'];
    // 2. connexion à la base
    $mysqli = new mysqli('localhost', 'root', '', 'projet_internautes');
    // 3. requête.
    // Concaténation de la requete avec la variable $id.
    $result = $mysqli->query('SELECT user_id, user_ville FROM
    villes WHERE user_id = ' . $id );
    // 4. création du nouvel array
    $row = $result->fetch_array();
    // 5. Affichage
    $nom = $row[‘ville_nom’];
    $texte = $row[‘ville_texte’];
    ?>
    <title><?php echo $nom ?></title>
    <link rel="stylesheet" type="text/css" href="style.css" />
     </head>
     <body>
     <div>
    <h1><?php echo $nom ?></h1>
    <p><?php echo $texte ?></p>
    <?php
    // 2. requête
    $result = $mysqli->query('SELECT user_id, user_ville FROM user_searchs');
    // 3.a. transformation en array avec fetch_array
    while ($row = $result->fetch_array())
    {
    // 3.b. création du nouvel array pour affichage hors de la boucle
    $villes[$row['user_id']] = $row['user_ville'];
    }
    // 4. Affichage
    ?>
    </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
    /* Libération des résultats */
    $result->free();
    /* Fermeture de la connexion */
    $mysqli->close();
    ?>
    </body>
    </html>
    Et effectivement dans index.php il manque ces lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // 3.a. transformation en array avec fetch_array
    while ($row = $result->fetch_array())
    {
    // 3.b. création du nouvel array pour affichage hors de la boucle
    $villes[$row['user_id']] = $row['user_ville'];
    }
    mais du coup je voulais retirer la partie 3a et la remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($result === false) {
        die("Erreur ! : "+ $mysqli->error);
    }

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $result = $mysqli->query('SELECT user_id, user_ville FROM
    villes WHERE user_id = ' . $id );
    // 4. création du nouvel array
    $row = $result->fetch_array();
    // 5. Affichage
    $nom = $row[‘ville_nom’];
    $texte = $row[‘ville_texte’];
    Tu n'as ni ville_nom, ni ville_text dans les colonnes retournées par ta requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while ($row = $result->fetch_array())
    {
    // 3.b. création du nouvel array pour affichage hors de la boucle
    $villes[$row['user_id']] = $row['user_ville'];
    }
    Initialise d'abord ton tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $villes = array();
    while ($row = $result->fetch_array())
    {
    // 3.b. création du nouvel array pour affichage hors de la boucle
    $villes[$row['user_id']] = $row['user_ville'];
    }
    A+.

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Chargé de référencement
    Inscrit en
    Mars 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé de référencement
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2018
    Messages : 38
    Points : 6
    Points
    6
    Par défaut
    Rien ne change je continue de chercher de mon coté.

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    dans un autre fichier relier a cette page
    ca veut dire quoi "relié" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Chargé de référencement
    Inscrit en
    Mars 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé de référencement
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2018
    Messages : 38
    Points : 6
    Points
    6
    Par défaut
    Ce que je veux dire c'est que dans la page index.php il y a un lien qui amène à la page ville.php et ces deux fichiers sont dans un dossier ou j'ai aussi d'autres php pour la connexion, le menu et le footer .

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Les variables ne sont pas conservées quand tu passes d'une à une autre.

    Il faut donc définir $villes dans toutes les pages qui en ont besoin.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Invité
    Invité(e)
    Par défaut
    Sérieusement...

    APPRENDS LES BASES :

    Dernière modification par Invité ; 11/04/2018 à 18h18.

Discussions similaires

  1. Insérez variable PHP dans requête Mysql
    Par jeremie74 dans le forum Requêtes
    Réponses: 11
    Dernier message: 22/08/2006, 18h21
  2. Réponses: 3
    Dernier message: 16/08/2006, 16h05
  3. Requête multicritère PHP-Mysql
    Par pod1978 dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/05/2006, 18h42
  4. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39
  5. Réponses: 14
    Dernier message: 17/03/2003, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo