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

Langage PHP Discussion :

problème de n° d'enregistrement


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut problème de n° d'enregistrement
    salut

    voilà je vous expose mon souci :

    dans un fichier table.php je saisi le code qui crée automatiquement des enregistrements dans une table (dans une base de données) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $saisie = mysql_query ("INSERT INTO mespages (nompage, adressepage, contenu1, contenu2, contenu3, contenu4) VALUES ('Accueil', 'pages.php?nompage=Accueil', 'Bienvenue sur mon site', 'Ce site est entièrement construit en PHP', 'Voici la liste des pages','')");
    $saisie = mysql_query ("INSERT INTO mespages (nompage, adressepage, contenu1, contenu2, contenu3, contenu4) VALUES ('Avenir', 'pages.php?nompage=Avenir', 'L\'avenir', 'La société', 'Ces unités', 'Elles produiront')");
    $saisie = mysql_query ("INSERT INTO mespages (nompage, adressepage, contenu1, contenu2, contenu3, contenu4) VALUES ('Historique', 'pages.php?nompage=Historique', 'Histoire de la société', 'Notre société', 'La famille', 'La société a ')");
    $saisie = mysql_query ("INSERT INTO mespages (nompage, adressepage, contenu1, contenu2, contenu3, contenu4) VALUES ('Formulaire', 'pages.php?nompage=Formulaire', '0', '0', '0', '0')");
    $saisie = mysql_query ("INSERT INTO mespages (nompage, adressepage, contenu1, contenu2, contenu3, contenu4) VALUES ('Photos', 'pages.php?nompage=Photos', '0', '0', '0', '0')");
    Dites-moi si je me trompe : la table comporte 6 champs : nompage, adressepage, contenu1, contenu2, contenu3, contenu4

    avec la variable $saisie je créer 5 enregistrements, numérotés de 0 à 4.

    ensuite dans un autre fichier pages.php , j'utilse la commande mysql_result : avec la syntaxe suivante :
    mysql_result(variable contenant le résultat de la requête,numéro de l'enregistrement,nom du champ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $resultat = mysql_query("select * from mespages where nompage like '" .$_GET['nompage']."'",$connexion);
    $nom_page = mysql_result($resultat,0,'nompage');
    $contenu1_page = mysql_result($resultat,0,'contenu1');
    $contenu2_page = mysql_result($resultat,0,'contenu2');
    $contenu3_page = mysql_result($resultat,0,'contenu3');
    $contenu4_page = mysql_result($resultat,0,'contenu4');
    que j'affiche ensuite avec l'instruction 'echo'

    dans un autre fichier index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $resultat = mysql_query("select * from mespages",$connexion);
    $nb = mysql_num_rows($resultat);
    for ($i = 0; $i<$nb; $i++)
    {
    $nom = mysql_result($resultat,$i,"nompage");
    $adresse = mysql_result($resultat,$i,"adressepage");
    echo "<a href = $adresse> $nom</a> &nbsp &nbsp";
    }
    ici je n'affiche que les portions de code qui me semblent intéressantes.

    et quand je lance la page, il y a donc les rubriques 'Accueil', 'Avenir', etc... et quand je clique sur chacun d'eux j'obtiens à chaque fois le nompage et le contenu, différents suivant la page cliquée

    quelqu'un peut-il me dire par quel coup de trafalgar il peut afficher le nom des pages et des contenus différents, alors que regardez le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $nom_page = mysql_result($resultat,0,'nompage');
    $contenu1_page = mysql_result($resultat,0,'contenu1');
    $contenu2_page = mysql_result($resultat,0,'contenu2');
    $contenu3_page = mysql_result($resultat,0,'contenu3');
    $contenu4_page = mysql_result($resultat,0,'contenu4');
    les variables retournent le résultat de l'enregistrement n° 0 : c'est à dire celui correspondant au nom 'Accueil' et pas les autres normalement (à moins de faire une boucle)

    bon j'espère que j'ai été clair et surtout pas trop long

    j'espère que vous aurez le courage de me lire

    désolé pour la longueur du post

  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
    Par défaut
    Bonsoir,

    Commence par mettre des guillemets a ton lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="'. $adresse . '">' .  $nom. '</a>&nbsp;&nbsp;';
    Sinon j'ai testé ton code et il fonctionne comme attendu ; pourrais-tu préciser ton problème ?

    Au passage, revois la facon dont tu traites tes requetes.
    Regarde par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $resultat = mysql_query("select * from mespages");
    while ($row = mysql_fetch_assoc($resultat)) {
    {
    echo '<span style="margin-right: 6px;"><a href="'. $row['adressepage'] . '">' .  htmlspecialchars($row['nompage']). '</a></span>';
    }
    Plus élégant n'est ce pas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    désolé pour la non-clarté de mon post (déjà que tu me connais à peine... t'a du grave halluciner hier )

    en fait ce que j'ai n'est pas un problème de code qui marche pas

    mais plutôt un problème de compréhension :

    si on regarde ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $nom_page = mysql_result($resultat,0,'nompage');
    $contenu1_page = mysql_result($resultat,0,'contenu1');
    $contenu2_page = mysql_result($resultat,0,'contenu2');
    $contenu3_page = mysql_result($resultat,0,'contenu3');
    $contenu4_page = mysql_result($resultat,0,'contenu4');
    il stocke tout à partir de l'enregistrement n° 0 : or l'enregistrement n°0 correspond aux et seulement aux contenus de 'Accueil' : normalement il ne doit pas afficher les autres contenus.
    Dernière modification par Invité ; 13/03/2009 à 13h03.

  4. #4
    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
    Par défaut
    Il ne recupere pas l'enregistrement 0 de la table entiere mais l'enregistrement 0 du resultat de la requete.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = mysql_query("select * from mespages where nompage like '" .$_GET['nompage']."'",$connexion);
    Mais comme je te l'ai mis, il est deconseillé d'utiliser mysql_result() pour recuperer plusieurs champs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Invité
    Invité(e)
    Par défaut
    désolé mais j'ai pas compris : le $_GET['nompage'] il va récupérer tous les noms de mes pages ?

    donc Accueil, Avenir, Historique, Formulaire et Photos ?

    donc en tout 5 enregsitrements ? numérotés de 0 à 4 ?

    vraiment il y a un truc qui ne va pas : pour moi seul l'enregistrement 'Accueil' doit figurer et pas les autres

  6. #6
    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
    Par défaut
    non, $_GET recupere le parametre passé dans l'url :

    pages.php?nompage=Accueil
    =>
    $_GET['nompage'] == "Accueil"
    =>
    select * from mespages where nompage like 'Accueil'
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/03/2006, 20h29
  2. Problème de visualisation d'enregistrement avec Tquickreport
    Par ingelman dans le forum Bases de données
    Réponses: 1
    Dernier message: 04/12/2005, 23h42
  3. Problème sur fréquence d'enregistrement
    Par David M dans le forum Access
    Réponses: 2
    Dernier message: 31/10/2005, 16h37
  4. [JS] Problème de quotes pour enregistrer un formulaire.
    Par polnioumane dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 24/10/2005, 18h04

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