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

SQL Procédural MySQL Discussion :

problème avec un menu généré par MySQL


Sujet :

SQL Procédural MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut problème avec un menu généré par MySQL
    Bonjour,

    je suis en train de créer un site et de façon à le garder extensible je ne travail qu'avec des bases de données ce qui m'évitera d'aller modifier le code .

    Le problème se pose avec le menu.
    Je récupère les informations du menu dans la base de données et je les affiche avec une boucle while :

    while ($line = mysql_fetch_assoc($result))
    {
    echo "<tr>";
    foreach ($line as $col_value)
    {
    echo "<td nowrap><a href=\"index.php\">$col_value</a></td>";
    }
    echo "</tr>";
    }

    L'affichage ne pose aucun problème.

    La page index.php correspond à la page contenant le menu et diver éléments à l'aide d'include(avec une mise en page CSS).

    Le menu sert à modifier ces éléments. Pour cela j'utilise une variable déclaré dans index.php avec une valeur par défaut.

    Le menu que j'affiche sert à modifier cette variable.

    Problème comment savoir sur quelle ligne l'utilisateur clic de façon à modifier ma variable en conséquence?

    Je me suis dis avec un peu de JavaScript mais non la fonction OnClick() ne passe aucun paramètre.
    J'ai aussi pensé à la position de la ligne mais celle-ci dépend des paramètres d'affichage de l'utilisateur.
    Le passage de paramètre par l'url pourrait être une possibilité mais je n'ai pas réussi à la mettre en oeuvre et ça me génerai de voir ça dans l'URL.

    Etant à cour d'idée je m'adresse à vous.

    Merci à tous.

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Pas sûr d'avoir tout compris enfin...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $i = 0;
    while ($line = mysql_fetch_assoc($result)) 
    { 
    echo "<tr>"; 
    foreach ($line as $col_value) 
    { 
    echo '<td nowrap><a href="index.php?num=' . $i . '">$col_value</a></td>'; 
    } 
    echo "</tr>"; 
    }
    Après tu récupères la valeur num (qui correspond à ta variable) et tu fais le traitement... C'est ta solution avec passage de paramètres dans l'URL. Sinon il faut utiliser autre chose que PHP peut-être...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merci de ton aide.

    Je vais m'expliquer plus clairement:

    J'ai un page index.php qui contient:
    - une variable "element_a_afficher"
    - include menu.php
    - include element.php

    Le contenu de la page element.php change en fonction de la valeur de "element_a_afficher"

    La page menu.php fait appelle à une BDD (tableau deux dimensions Nom-court et Nom_complet) mon menu affiche les Nom_complet.

    Lorsque je clic sur un élément du menu donc un Nom_complet la variable "element_a_afficher" doit prendre la valeur du Nom_court qui est associé au Nom_complet (même ligne dans la BDD).

    La méthode $_get est a éviter de préférence à moins que l'on puisse masque les paramètres dans l'URL.

    Merci.

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    J'avais bien compris le problème donc. Je pense qu'il faut s'orienter vers une solution Javascript car je ne vois pas trop comment faire en tout PHP (sans mettre les paramètres dans l'URL). Bon courage.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Même en JS je ne vois pas la solution car je n'ai aucun moyen de savoir sur quelle ligne a cliqué l'utilisateur.

    En JS ce serai en fonction onclick() global au menu (c'est à dire la même fonction appellé quelque soit la ligne sur laquelle on click) et il n'y a aucun paramètre permettant de différencier la ligne du menu.

    Quand à la position de la ligne elle va varier en fonction des paramètre d'affichage de l'utilisateur.

    Je ne vois pas quoi utiliser pour contourner ce problème.

    Je te remercie de ton aide.

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Poste dans le forum JavaScript ils seront plus à même de t'aider que ici (enfin moi je peux plus t'aider sur ce terrain ).
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

Discussions similaires

  1. problème avec un code généré par bison
    Par Samuel.le dans le forum Débuter
    Réponses: 4
    Dernier message: 08/01/2010, 11h44
  2. Réponses: 1
    Dernier message: 17/07/2006, 17h08
  3. [PHP-JS] Problème avec un menu déroulant
    Par grumly22 dans le forum Langage
    Réponses: 3
    Dernier message: 09/05/2006, 11h07
  4. Problème avec un menu, sans utilisé de frame
    Par cyraile dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/01/2006, 17h57
  5. probléme avec la création de table Mysql 5
    Par developpeur_mehdi dans le forum Outils
    Réponses: 3
    Dernier message: 19/10/2005, 19h08

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