[HELP] HTML moi aussi, mais avancé ;) PHP

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • RyF
    Desp.R.Hate Zombie


    • avril 2001
    • 7205

    #16
    bon...l'aventure continue...

    j'ai réussi à créer un base MySQL et à la remplir, tou ça sans rien y connaitre grâce à EasyPHP... maintenant il va falloir que j'utilise ces données : c'est à dire afficher le contenu de cette base dans des pages de mon site...
    Je suppose que c'est là que les requêtes entrent en scène (j'ai bon??)...
    Comment intégrer cela dans des pages, par ordre alphabétique d'un catégorie text ou par ordre numérique (croissant) d'une catégorie Entier (Int)...??? En clair, comment utiliser une base MySQL dans une page HTML/PHP... :rolleyes:
    @+
    RyF
    Vieux de la Vieille de Lost Treasures Fr =^__^=

    Game Designer dans la Real Life ®©

    Commentaire

    • Guybrush02
      320x200x256


      • avril 2001
      • 6835

      #17
      Aaaaaah les masques pour l'heure c'est toujours bien casse-c*uilles
      tiens ça t'aidera: http://fr2.php.net/manual/fr/function.date.php

      Pour te connecter a une base fait, un petit fichier ou tu mettras tes codes de connection et que tu appeleras avec un include('nom_du_fichier') au debut de ta page, ça t'eviteras de toujours taper un truc dans ce genre:

      <?
      function connexionBdd()
      {
      $idCon=mysql_connect("Adresse_du_server","identififant","mot_de_passe")or die("Echec connexion serveur");
      $db=mysql_selectdb("base_de_données") or die ("Echec connexion base");

      return $idCon;
      }
      ?>

      ensuite au début de ta page tu peux te connecter à la base, juste en écrivant:
      <?
      include('nom_du_fichier_avec_ta_fonction_ConnexionBdd')
      $id:=connexionBdd();
      ?>

      Et voila la variable $id te permettras de te connecter chaque fois que tu le desire a travers tes requetes...

      Comment intégrer cela dans des pages, par ordre alphabétique d'un catégorie text ou par ordre numérique (croissant) d'une catégorie Entier (Int)...??? En clair, comment utiliser une base MySQL dans une page HTML/PHP.
      pour executer une requete MySQL en php
      <?
      //exemple de requete
      $requete:='select * from toto order by nom'; <--- le order by c'est pour trier
      $resultat:=mysql_query($requete,$id) or die ('erreur requete'); <--- on execute la requete et on stock tous les enregistrements dans la variable $resultat
      while($line:=mysql_fetch_array($resultat)){
      echo $line['champ'];
      }
      on organise les resultats ligne par ligne, une ligne = un resultat, enfin plutot un tableau de données organisés champ par champ (les champs de ta table)
      S'il y a plusieurs enregistrements on passe par une boucle, sinon si tu es sur de n'avoir qu'un enregistrement tu peux simplement faire ceci $line:=mysql_fetch_array($resultat);

      ?>
      Dernière modification par Guybrush02, 27 septembre 2003, 07h49.

      Commentaire

      • RyF
        Desp.R.Hate Zombie


        • avril 2001
        • 7205

        #18
        bon, j'ai fait ce que tu as dit...
        comme je teste n local, serveur c'est local host, id root et mot de passe rien;

        ensuite, j'ai remplacer toto par patch( je supposais que c'est le nom de la base qu'il fallait mettre là ..?? ) et nom par jeu (une catégorie de a base)...
        j'ai bon?
        en tout les cas ça amrche pas, il me dit :
        Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp\www\download.php on line 3

        line 3 donc :
        <?
        include('prequete.id')
        $id:=connexionBdd(); <==== ça
        ?>
        ...

        Edit : précision.
        ma base d edonnée s'appelle atp et la table consultée patch
        @+
        RyF
        Vieux de la Vieille de Lost Treasures Fr =^__^=

        Game Designer dans la Real Life ®©

        Commentaire

        • Guybrush02
          320x200x256


          • avril 2001
          • 6835

          #19
          tu as oublié un point virgule apres le include

          Commentaire

          • RyF
            Desp.R.Hate Zombie


            • avril 2001
            • 7205

            #20
            Provient du message de Guybrush02
            tu as oublié un point virgule apres le include
            j'avais juste fais un copié collé da ce que toi tu avais fais
            merci pour l'info.

            mais maintenant il me dit :
            Parse error: parse error, unexpected ':' in c:\program files\easyphp\www\download.php on line 3

            ...
            @+
            RyF
            Vieux de la Vieille de Lost Treasures Fr =^__^=

            Game Designer dans la Real Life ®©

            Commentaire

            • Guybrush02
              320x200x256


              • avril 2001
              • 6835

              #21
              arf c'est '=' pour assigner une valeur a une variable en PHP, excuse moi je suis en plein Delphi au boulot en ce moment alors j'ai des failles de syntaxe php^^

              Commentaire

              • RyF
                Desp.R.Hate Zombie


                • avril 2001
                • 7205

                #22
                Merci; je ne peux pas t'en vouloir, je serais même pas capable d'en faire la moitié

                bon, j'ai été obligé d'enlever tout les := pour les remplacer par =...
                mais ça m'affiche une page vide... =^__^=

                pour le if, ne faut il pas utiliser autre chose que = tout seul ?
                @+
                RyF
                Vieux de la Vieille de Lost Treasures Fr =^__^=

                Game Designer dans la Real Life ®©

                Commentaire

                • Guybrush02
                  320x200x256


                  • avril 2001
                  • 6835

                  #23
                  oui les operateurs de comparaison pour l'egalité c'est '=='
                  pour la difference c'est '<>' je crois
                  Superieur '>'
                  Inferieur '<'

                  mais ça m'affiche une page vide...
                  C'est bon signe, ça veut dire que tu es connecté ^^
                  Dernière modification par Guybrush02, 28 septembre 2003, 13h44.

                  Commentaire

                  • RyF
                    Desp.R.Hate Zombie


                    • avril 2001
                    • 7205

                    #24
                    voici le code tel qu'il est actuellement :
                    Code:
                    <?
                    include('prequete.id');
                    $id=connexionBdd();
                    ?>
                    
                    <html>
                    <head>
                    <title></title>
                    </head>
                    <body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FF9900" alink="#FF3333">
                    
                    <?
                    //exemple de requete
                    $requete='select * from patch order by jeu';
                    $resultat=mysql_query($requete,$id) or die ("erreur requete");
                    while($line==mysql_fetch_array($resultat)){
                    echo $line['champs'];
                    } 
                    ?>
                    
                    </html>
                    Champs" doit il être remplacé par une des catégories (titre, version, jeu , commentaire, aide, misc,...) de ma table ...?
                    j'ai essayémais ça chage rien....
                    EDIT :
                    en mettant un seul = ici :
                    while($line==mysql_fetch_array($resultat)){

                    ça marche...
                    bon, ben me reste plus qu'à faire la mise en page....

                    Vous pourrez tester le script au fur et à mesure que je le modifie là :
                    http://ryf.no-ip.com/download.php

                    suis je obliger de taper tout ça :
                    Code:
                    while($line=mysql_fetch_array($resultat)){
                    echo $line['jeu'];
                    echo "&nbsp;";
                    echo $line['titre'];
                    echo "&nbsp;";
                    echo $line['version'];
                    echo "&nbsp;";
                    echo $line['date'];
                    echo "<br>";
                    echo "<br>";
                    }
                    pour arriver au résultat de la page du lien ci dessus ?

                    [I]EDIT :[/]
                    c'est bon, j'ai trouvé (en dépiotant un code autre) =^__^=
                    merci
                    @+
                    RyF
                    Vieux de la Vieille de Lost Treasures Fr =^__^=

                    Game Designer dans la Real Life ®©

                    Commentaire

                    • Guybrush02
                      320x200x256


                      • avril 2001
                      • 6835

                      #25
                      EDIT :
                      en mettant un seul = ici :
                      while($line==mysql_fetch_array($resultat)){

                      ça marche...
                      bon, ben me reste plus qu'à faire la mise en page....
                      oui c'est normal la condition du while ne s'execute que que si la variable $line arrive a prendre une ligne (pas de cocaine ^^) dans $resultat...

                      en fait la syntaxe parfaite serait :
                      While (($line=mysql_fetch_array($resultat))= true){
                      blalblalbla
                      }

                      Commentaire

                      • RyF
                        Desp.R.Hate Zombie


                        • avril 2001
                        • 7205

                        #26
                        presque, tu as encore oublié le == =^_^=

                        mais ça marche avec == true
                        merci !
                        @+
                        RyF
                        Vieux de la Vieille de Lost Treasures Fr =^__^=

                        Game Designer dans la Real Life ®©

                        Commentaire

                        • Guybrush02
                          320x200x256


                          • avril 2001
                          • 6835

                          #27
                          arf oui effectivement...

                          on la refait pour la forme:

                          While (($line=mysql_fetch_array($resultat))== true){}

                          Commentaire

                          • RyF
                            Desp.R.Hate Zombie


                            • avril 2001
                            • 7205

                            #28
                            bon, un autre problème :
                            pour faire la requête, il faut un identifiant et un mot de passe sur la base.
                            voici les critères pour les comptes utilisateurs :
                            Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv

                            Quels sont ceux à activer pour mon utilisateur puisse faire des requêtes sans pouvoir modifier les contenus des tables/bases ?

                            et aussi :
                            pour afficher la date d'ajout, j'ai une ubrique "date" dans ma table qui correspond à la date d'ajout dans la base.
                            pour l'afficher sur ma page, j'utilise :
                            '.$line["date"].'
                            ça marche , mais c'est un format nul style :
                            2003-09-26 18:17:32

                            j'aimerais l'avoir comme suit :
                            d-M-y h:i
                            qcomment dois je modifier la ligne ?
                            @+
                            RyF
                            Vieux de la Vieille de Lost Treasures Fr =^__^=

                            Game Designer dans la Real Life ®©

                            Commentaire

                            • Guybrush02
                              320x200x256


                              • avril 2001
                              • 6835

                              #29
                              pour faire la requête, il faut un identifiant et un mot de passe sur la base.
                              voici les critères pour les comptes utilisateurs :
                              Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv

                              Quels sont ceux à activer pour mon utilisateur puisse faire des requêtes sans pouvoir modifier les contenus des tables/bases ?
                              Je sais pas trop, j'ai jamais eu a activer quoi que ce soit avec les servers que j'utilise d'habitude mais a vu de nez si c'est uniquement pour la consultation je te conseil d'activer uniquement Select_priv



                              pour afficher la date d'ajout, j'ai une ubrique "date" dans ma table qui correspond à la date d'ajout dans la base.
                              pour l'afficher sur ma page, j'utilise :
                              '.$line["date"].'
                              ça marche , mais c'est un format nul style :
                              2003-09-26 18:17:32
                              Arf bienvenue dans le joyeux monde des date à la con, moi j'ai créé des fonctions de conversions pour l'affichage et l'insertion de date dans la Bdd.

                              inclus les fonctions suivantes dans ton fichier 'prequete.id'

                              function ConversionDate($date)
                              {
                              list($amj,$hmj)=explode(" ",$date); <--- je coupe la Date en 2 ($amj qui recupere '2003-09-26' et $hmj qui recupere '18:17:32
                              ')
                              list($jour,$mois,$annee)=explode("-",$amj);<--- la decompose la date en jour mois année
                              list($heure,$minute,$seconde)=explode(":",$hmj) <--- pareil mais avec l'heure minute seconde
                              $date=$annee."-".$mois."-".$jour; <--- ensuite tu recomposes la date comme tu le souhaite en concatenant les variables ci-dessus la j'affiche une date comme ça 26-09-2003
                              return $date;
                              }
                              Voila tu n'as plus qu'a appeler ta fonction comme ça:
                              ConversionDate($line["date"])

                              et le tour est joué, sauf si j'ai fais encore des heures de syntaxe ^^
                              Dernière modification par Guybrush02, 28 septembre 2003, 21h58.

                              Commentaire

                              • RyF
                                Desp.R.Hate Zombie


                                • avril 2001
                                • 7205

                                #30
                                Merci !
                                pour la date ça amrche (avec un ; en plus à une certaine ligne )...
                                Si je veux des mois en toutes lettres faut quje rajoute des

                                If($mois==1){
                                $mois=janvier;
                                }

                                etc...
                                ou y a des trucs tout prêts ?

                                Pour l'ID ça marche pas, mais bon... je ferais des recherches approfondies sur le sujet.
                                Merci encore !
                                @+
                                RyF
                                Vieux de la Vieille de Lost Treasures Fr =^__^=

                                Game Designer dans la Real Life ®©

                                Commentaire

                                Chargement...