faq modele

نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
في: نيسـان 02, 2010, 07:35:08 صباحاً
     
    . La Base de Données
 
MySQL pour PHP,



la table faq contiendra 4 champs :
   

     
  • ID entier auto      incrémenté
  • Titre de type String      de 255 caractères
  • Texte de type      "Mémo" pour les longues explications ;)
  • Hits de type entier      pour pouvoir classer les questions par fréquentation


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #1 في: نيسـان 02, 2010, 07:36:25 صباحاً
   Création du fichier :
  faq.sql
  #
# Structure de la table `faq`
#

CREATE TABLE faq (
  ID int(11) NOT NULL auto_increment,
  Titre varchar(255) NOT NULL default '',
  Texte text NOT NULL,
  Hits int(11) NOT NULL default '0',
  KEY ID (ID)
) TYPE=MyISAM;
   
 


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #2 في: نيسـان 02, 2010, 07:37:08 صباحاً
   2. Le script de connexion
 
Il sera à placer ainsi que les fichiers suivants dans un dossier faq par exemple de votre  www en PHP (C:\Program Files\EasyPHP\www). Ensuite modifiez-le en fonction de vos paramètres de connexion.
   
  Création du fichier :
  _connexion.php
   
  function connexion() {
     $serveur = getenv("SERVER_NAME");
     $local=($serveur=="localhost");
     $host = ($local) ? "localhost" : "";  
     $user = ($local) ? "root" : "yourlogin";  
     $pass = ($local) ? "" : "yourpass";  
     $bdd = ($local) ? "test" : "yourbdname";  
     @mysql_connect($host,$user,$pass);
     @mysql_select_db($bdd);
}
connexion();
?>
 
 


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #3 في: نيسـان 02, 2010, 07:38:17 صباحاً
   3. Le listing
 
La page affiche la liste des questions classées par ordre décroissant des hits avec un lien pour afficher la réponse-type dans un popup.
   
  Il faut crée un fichier :
  index.php
  Qui contient


 :


اقتباس
   include("_connexion.php");
?>

     FAQ
     

     


         

Questions fréquentes


     


     

    $SQL = "SELECT * FROM faq ORDER BY hits DESC,ID";
    $result = mysql_query($SQL);
    while($val = mysql_fetch_array($result)) { ?>
         
  1. )"
              >


  2.      


// Déconnexion
mysql_close();
?>

  [/QUOTE]  


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #4 في: نيسـان 02, 2010, 07:41:01 صباحاً
   
  4. Le popup
 
 
A chaque fois qu'il est appelé par la page de listing qui lui transmet via querystring  l'identifiant unique de la question, il incrémente le compteur de hits correspondant puis affiche la question et la réponse-type. A noter que le popup ne peut pas passer facilement en arrière-plan, vous devinez pourquoi ? ;)
 
 
  Création du fichier :
  popup.php :
  // Connexion
include("_connexion.php");
// Variable GET
$id = (empty($_GET["id"])) ? "" : $_GET["id"];
?>

     FAQ

$SQL = "SELECT * FROM faq WHERE ID='$id'";
$result = mysql_query($SQL);
if($val = mysql_fetch_array($result)) {  
// Mise à jour des hits
$SQL=UPDATE faq SET Hits=Hits+1 WHERE ID=$id";
mysql_query($SQL);
// Affichage
?>
     
 
     


               >Fermer la fenêtre



// Déconnexion
mysql_close();
?>

 
  5. L'administration
 
Je vous laisse étudier ce script qui ne présente pas de difficulté particulière me semble-t-il si vous avez bien suivi tous nos tutoriaux.
 
  Création du fichier :
  admin.php :
 
  include("_connexion.php");

// Variables GET
$del = (empty($_GET["del])) ? "" : $_GET["del"];
$id = (empty($_GET["id"])) ? "" : $_GET["id"];
// Variables POST
$id2 = (empty($_POST["id2"])) ? "" : $_POST["id2"];
$btn = (empty($_POST["btn"])) ? "" : $_POST["btn"];
$titre = (empty($_POST["titre"])) ? "" : $_POST["titre"];
     $titre = addslashes($titre);
$texte = "";
if(!empty($_POST["texte"])) $texte=$_POST["texte"];
     $texte = addslashes($texte);

// Ajout

if($btn==Ajouter") {
     $SQL = "INSERT INTO faq(Titre,Texte)"
          . " VALUES('$titre','$texte')";
     mysql_query($SQL);
// Modification
} elseif($btn=="Modifier") {
     $SQL="UPDATE faq SET Titre='$titre',Texte='$texte'"
          . " WHERE ID='$id2'";
     mysql_query($SQL);
// Destruction
} elseif($del) {
     mysql_query("DELETE FROM faq WHERE ID=".$del);
}
// Listing
if($id) {
     $SQL = "SELECT * FROM faq WHERE ID=$id";
     $edit = mysql_fetch_array(mysql_query($SQL));
} else $edit = Array("","","");
?>

     FAQ - Admin

     


         

Administration de la FAQ


     


     
     
     

          Edition 
          Question :
 
                         value="" />
 
          Réponse :
 
         
 
         

         
     
         
                         value="" />
     
         

     

     

    $SQL = "SELECT * FROM faq ORDER BY ID DESC";
    $result = mysql_query($SQL);
    while($val = mysql_fetch_array($result)) { ?>
         
  1. ">Edit
              ">Del
              hits
             

  2. ?>
         


// Déconnexion
mysql_close();
?>

 
 


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #5 في: نيسـان 02, 2010, 07:42:40 صباحاً
يتبع ...............