Php aide fonction

Résolu
Bonjour a tous,
J ai une petite question

Je veux creer grace a une base de donnée sql creer une ligne pour chaque maison un texte et des images et apres creer c ette page

exemple je rentre dans ma base de donné la maison1 je met les 3 photos dans une autre colonne et le texte dans une 3 eme colonne

Je veux que la page .php s apelle maison1.php

puis je rajoute dans ma base dans la 2eme ligne maison2 puis les photos et le texte la page dois s'apeller
maison2.php

et ainsi de suite

est ce que cela est possible?

Merci de votre aide
Configuration: Vista

23 réponses

  1. bonjour

    tu veux creer autant de pages que d'enregistrements de ta base ????

    ou est l'utilité !!!

    pourquoi ne pas gerer le contenu de ta base dans la même page,

    A+
    1. merci de ta reponse

      mais je ne peux pas gerer les contenu sur la meme page car chaque maison est differente

      exmple j ai 20 maisons et il me faut 20 pages

      tu comprend?
      1. c'est claire ,
        dans une base de données tous les enregistrements sont differents les uns des autres sinon on aura un problème de redandance d'information!!

        il me semble que c'est pareil pour tes maisons

        désolée mais moi j'arrive pas à comprendre votre raisonnement

        mais je vous souhaite bonne chance
        1. Hmm, tu créé une page page.php

          Dans cette page tu mets un bout de code pour dire de récuperer les valeurs $_GET de la page, et récupérer les entrées de la base de donnée en fonction de sa, exemple:
          si tu tape:
          page.php?maison=maison1
          la page ira chercher dans la base de donnée l'entrée ayant pour maison "maison1"

          Ensuite pour que pour chaque maison à la place de page.php?maison=maisonx on ai maisonx.php, tu fais du rewriting avec htacess.
          1. merci kelset pour ta reponse

            je debut ne php j ai simplement les base

            n aurais tu pas un exemple pour savoir comment faire?

            merci pour ton aide
            1. Créé un fichier page.php3. Dans ce fichier, écris ce qui suit (à adapter) :

              
              <?php
              
              // On récupère le contenu de $_GET dans l'adresse, soit ce qu'il y a après page.php3?maison=
              $maison=$_GET['maison'];
              
              // On demande à Mysql de nous donner toutes les informations de l'entrée ayant pour maison '$maison'
              $query = mysql_query("SELECT (*) FROM ta_table WHERE maison='$maison'") or die(mysql_error());
              
              // On met le tout dans une array
              $data = mysql_fetch_array($query)
              
              ?>
              <html>
                <head></head>
                <body>
                  Contenu de ta page, puis pour chaque valeur : <?php echo $data['valeur']; ?> en remplacant "valeur" par la colonne désirée dans ta table.
                </body>
              </html>
              
              


              Ensuite pour le rewriting, créé un fichier htaccess.txt sur ton ordinateur, et insère-y le code suivant :

              # Fichier HTACCESS
              
              # Le serveur doit suivre les liens symboliques :
              Options +FollowSymlinks
              
              # Activation du module de réécriture d'URL :
              RewriteEngine on
              RewriteBase /
              RewriteCond %{REQUEST_URI} !^(css|img)
              RewriteCond %{REQUEST_FILENAME} !-f 
              
              #-Règle de réecriture
              RewriteRule ^([0-9a-zA-Z-]+)\.php$ /page.php3?maison=$1 [L]
              


              Enregistre et ferme le fichier. Envoie-le sur ton serveur puis renomme le en ".htaccess" aulieu de "htaccess.txt". Ca devrait marcher, cela dit il y a toujours des chances que ton serveur soit configuré autrement et qu'il nécessite des modifications au niveau du fichier .htaccess.
              1. merci pour ton exemple

                je vais tester demain et je tien au courant

                a+
                1. je viens de tester ca ne marche pas

                  voici ma page pa.php

                  <?php
                  $base = mysql_connect ('serveur', 'nonbase', 'MDP');
                  mysql_select_db ('nombase', $base);
                  // On récupère le contenu de $_GET dans l'adresse, soit ce qu'il y a après pa.php?maison=
                  $maison=$_GET['maison'];

                  // On demande à Mysql de nous donner toutes les informations de l'entrée ayant pour maison '$maison'
                  $query = mysql_query(" SELECT (*) FROM vision_modern WHERE maison='$maison'") or die(mysql_error());

                  // On met le tout dans une array
                  $data = mysql_fetch_array($query)

                  ?>
                  <html>
                  <head></head>
                  <body>
                  Contenu de ta page, puis pour chaque valeur : <?php echo $data['maison']; ?> <?php echo $data['texte1']; ?> <?php echo $data['texte2']; ?><?php echo $data['dd']; ?>en remplacant "valeur" par la colonne désirée dans ta table.
                  </body>
                  </html>

                  j ai copier coller le fichier htaccess

                  et j ai ca cvomme erreur

                  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) FROM vision_modern WHERE maison='arte_180'' at line 1

                  as tu uune idee?

                  Merci pour ton aide
                  1. Oui, en effet, excuse moi j'ai fait une petite bêtise en oubliant un point virgul et des parenthèses, voilà la bonne version (il me semble ne rien avoir oublié cette fois :) )

                    <?php
                    $base = mysql_connect ('serveur', 'nonbase', 'MDP');
                    mysql_select_db ('nombase', $base);
                    // On récupère le contenu de $_GET dans l'adresse, soit ce qu'il y a après pa.php?maison=
                    $maison=$_GET['maison'];
                    
                    // On demande à Mysql de nous donner toutes les informations de l'entrée ayant pour maison '$maison'
                    $query = mysql_query(" SELECT * FROM vision_modern WHERE maison='$maison'") or die(mysql_error());
                    
                    // On met le tout dans une array
                    $data = mysql_fetch_array($query);
                    
                    ?>
                    <html>
                    <head></head>
                    <body>
                    Contenu de ta page, puis pour chaque valeur : <?php echo $data['maison']; ?> <?php echo $data['texte1']; ?> <?php echo $data['texte2']; ?><?php echo $data['dd']; ?>en remplacant "valeur" par la colonne désirée dans ta table.
                    </body>
                    </html> 
                    
                    1. ah oui merci je cherhcais mais je trouvais pas

                      et ici $query = mysql_query(" SELECT * FROM vision_modern WHERE maison='$maison'") or die(mysql_error());

                      faut bien enlever la parenthese a all non? (*)

                      merci beaucoup pour ton aide
                      1. Désolé, je ne sais pas comment stocker des images dans MySQL... Stocker leur chemin c'est facilement possible, mais pas l'image en elle même, ca je ne saurai pas faire...

                        Ce que tu peux faire c'est faire un dossier "photos" puis dans ce dossier mettre toutes les photos que tu veux en commencant par maisonx_, ce qui donnerait par exemple "maison1_nom-de-la-photo.jpg" puis créer un petit script en PHP qui listerait toutes les photos du dossier "photos" commençant par "maison1_", puis les afficherait.

                        Sinon autre solution plus compliquée (ou pas), ce serait de mettre en place un système d'upload puis le relier à MySQL.
                        1. merci de ta reponse

                          mais le chemin suffit car je l es es deja dans un dossier images

                          j ai essaier en rentrant juste le nom du chemin mais ca ne vas pas

                          pourrais tu me dire comment je dois faire?

                          merci pour ton aide
                          1. Dans ta table contenant les maisons, rajoute une colonne "photo", puis sélectionne la dans ton codee avec $data['photo'] et inclue le résultat dans l'adresse d'une image :
                            <img src="<?php echo $data['photo']; ?>" />
                            1. ah mais oui je suis bête j ai juste mis la fonction et pas utiliser l image aie aie aie

                              Heureusement que tu es la

                              Merci beaucoup

                              C es la meilleur solution non?
                              les images stocker dans la base prenne trop de temps et de place non?

                              merci beaucoup
                              1. Oui, je ne pense pas que stocker des images dans une bdd soit la solution, c'est beaucoup trop lourd, donc autant juste stocker le chemin.
                                1. ok merci beaucoup

                                  encore une derniere petite question
                                  y a t il une solution pour charger les fichiers dans le dossier images directement depuis le site sans passer par un ftp?

                                  merci beaucoup
                                  • 1
                                  • 2