Un sistema di FAQ con PHP e MySQL
Pagina 1 di 2
1. Struttura dell'applicazione e database
FAQ, Frequently Asked Questions o semplicemente "domande frequenti", con queste definizioni si indica un servizio molto diffuso nei siti internet in cui viene messo a disposizione degli utenti un elenco di domande ricorrenti su un determinato argomenti corredate dalle apposite risposte.
Si tratta di un servizio molto comodo e utile per gli utenti che aumenta il grado d'interesse e la credibilità di un sito, inoltre, libera dalla vera e propria scocciatura e dalla perdita di tempo di dover rispondere ogni volta alle solite domande.
In questo breve tutorial vedremo come sia possibile creare con PHP e MySQL un semplice script per la gestione delle FAQ che potrà essere integrato facilmente in un qualsiasi sito Web preesistente.
La nostra applicazione sarà formata da 3 file:
- config.php: in cui inseriremo i dati di connessione al DBMS e di selezione del database;
- insert.php: che conterrà il form per l'inserimento dei records nell'apposita tabella e il codice PHP per l'elaborazione dei parametri e l'esecuzione delle queries;
- faq.php: cioè il file preposto alla visualizzazione contenente l'elenco delle domande e le relative risposte.
- Id_faq: identificativo autoincrementale e chiave primaria univoca per ognuno dei records inseriti;
- Domanda: campo di tipo stringa VARCHAR 255 destinato a contenere le varie domande;
- Risposta: campo di tipo testuale (TEXT) per l'archiviazione delle risposte relative ad ogni quesito.
CREATE TABLE `tb_faq` ( `Id_faq` INT ( 3 ) NOT NULL AUTO_INCREMENT , `Domanda` VARCHAR ( 255 ) NOT NULL , `Risposta` TEXT NOT NULL , PRIMARY KEY ( `Id_faq` ) );Siamo quindi pronti per passare al listato della nostra applicazione; prima di qualsiasi altro codice sarà quindi necessario creare il file di configurazione (config.php) che permetterà di mettere in comunicazione PHP con MySQL e di indicare al DBMS quale database desideriamo utilizzare:
<?php
class MySQL
{
function MySQL()
{
$this->host_name = "localhost";
$this->user_name = "username";
$this->password = "password";
$this->data_name = "faq";
$this->link = @mysql_connect($this->host_name,$this->user_name,$this->password) or die (mysq_error());
@mysql_select_db($this->data_name) or die (mysq_error());
}
}
$data = new MySQL();
?>
Come è semplice notare, si tratta di una semplice classe in cui vengono definiti tutti i parametri di connessione e selezione: host del DBMS, username, password e nome del database.L'istanza alla fine del codice permette di interfacciarci al DBMS e al database da utilizzare.







