Contact RGDP

Cette page vous permet de nous contacter au sujet de notre politique de confidentialité.

[insert_php]
/**
* \project Simply adaptable form
* \brief This PHP code can be easily adapt for simple form connected with MySQL BD
* \version 1.0.1
* \author Valérie Bellynck
* \author uri http://tiprof.fr
* \domain adaptablePHPform
*
* Copyright 2017-2018 Valérie Bellynck (email : t.bidon@live.fr)
*
* This file is part of « adaptablePHPform ».
*
* « adaptablePHPform » is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* « adaptablePHPform » is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with « adaptablePHPform ». If not, see .
*
*/

[/insert_php]

[insert_php]

/**
* \enum DEBUG
* \brief Constante définie (ou pas) pour activer des affichages de trace pendant le débogage.
*/
define(‘DEBUG’, »);
//define(‘DEBUG’,’test’);
//define(‘DEBUG’,’mysql’);
//define(‘DEBUG’,’export’);

/**
* === Adaptation de la configuration du serveur === pour activer ou désactiver l’affichage des notice et des alertes (Warning)
*/
//error_reporting(E_ALL & ~E_DEPRECATED); // & ~E_NOTICE
error_reporting(E_ALL );
ini_set(« display_errors », 1);
if(defined(‘DEBUG’) && DEBUG==’test’) echo ‘error_reporting = ‘,error_reporting(),’
‘;

/**
* === Définition des constantes === Il suffit de modifier le nom de la table à ce seul endroit
*/

/**
* \enum TABLE
* \brief Nom de la table MySQL.
*/
define(‘TABLE’,’algm__contacts’);

/**
* \enum FICSQL
* \brief Nom de la table MySQL.
*/
define(‘FICSQL’,’CreateTable.mysql’);

/**
* === Définition des fonctions ===
*/

/**
* @fn function test_exist_table( $table=TABLE )
* @brief Cette fonction teste si une table existe déjà dans la BD
*
* @param $tab Nom de la table à chercher dans la BD. (facultatif)
* @return \e boolean valant TRUE si la table est trouvée dans les tables de la BD.
*/
function test_exist_table($pdo, $table=TABLE) {
//global $pdo;
//$sql = ‘SHOW CREATE TABLE ‘ .$table ‘ ‘ ;
$sql = « SHOW TABLES FROM ` ».my_DB_NAME. »` « ;
if(defined(‘DEBUG’) && DEBUG==’mysql’) echo « 

$sql

« ;

$prep = $pdo->prepare($sql);
try {
$prep->execute();
//if ( $row = $prep->fetchAll(PDO::FETCH_ASSOC) ) ;
while ($row = $prep->fetch() ) {
//echo « 

"; print_r($row); echo "

« ;
if($row[‘Tables_in_’.my_DB_NAME] == $table) return TRUE;
}
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}
}

/**
* @fn function cree_table( $table=TABLE, $sql_create= » )
* @brief Cette fonction crée une table MySQL avec la requête transmise en paramètre.
* Si la requête de création de table n’est pas fournie en paramètre,
* alors elle est cherchée dans le ‘CreateTable.mysql’.
* Si le fichier n’existe pas, la requête utilisée est contenue « en dur » dans le code
*
* @param $tab Nom de la table à créer dans la BD. (facultatif)
* @param $sql_create Requête MySQL de la table à créer dans la BD. (facultatif)
* @return Ne rend pas de valeur.
*/
function cree_table($pdo, $table=TABLE, $sql_create= ») {
//global $pdo;
if(!empty($sql_create))
$sql = $sql_create;
elseif(is_file(FICSQL))
$sql = sprintf(file_get_contents(FICSQL, NULL, NULL), $table);
else {
$sql_param =  »
CREATE TABLE `%s` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`titre` enum(‘Mme’,’Mlle’,’M.’) DEFAULT NULL,
`nom` varchar(30) NOT NULL DEFAULT  »,
`prénom` varchar(30) DEFAULT NULL,
`adresse électronique` varchar(60) DEFAULT NULL,
`demande sur` enum(‘un logement’,’une offre de location’,’la salle de restaurant et la salle du bar (ERP)’,’une option’,’les moyens de paiement’) DEFAULT NULL,
`sujet` varchar(60) DEFAULT NULL,
`votre message` varchar(60) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
« ;
$sql = sprintf($sql_param, $table);
}
if(defined(‘DEBUG’) && DEBUG==’mysql’) echo « 

$sql

« ;

$prep = $pdo->prepare($sql);
try {
$prep->execute();
echo « La table MySQL $table a été créée. »;
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}

}

/**
* \fn function my_addslashes( $string )
* \brief Cette fonction ajoute des \a antislashes devant les caractères « quote » selon la configuration du serveur
*
* @param $string Texte à traiter.
* @return \e string Texte traité.
*/
function my_addslashes($string) {
if (get_magic_quotes_gpc()) return $string;
elseif (function_exists(‘addslashes’)) return addslashes($string);
else return mysql_real_escape_string($string);
}

/**
* \fn function insert_data( $data )
* \brief Cette fonction insère une ligne de données dans la table MySQL
*
* @param $data Tableau associatif PHP (\e array ) contenant les valeurs d’un enregistrement à réaliser dans une ligne de table MySQL.
* @return \e integer Indentifiant de la ligne créée dans la table MySQL.
*/
function insert_data($pdo, $data) {
//global $pdo;
// INSERT INTO `DD__contacts` (`titre` ,`nom` ,`prenom`) VALUES (‘M.’, ‘O’\’Hara’, ‘Joe’);
// Remarque : id et date sont instanciés avec les valeurs par défaut
$list_fields = get_fields($pdo);
// SET `titre` = ‘Mlle’ AND `nom`=’Moi’ …
foreach($list_fields as $df) {
if($df[‘Field’]!=PRIM && $df[‘Field’]!=DATE && isset($_REQUEST[$df[‘Field’]])) {
$connect = (!isset($connect))?’ ‘:’, ‘;
$str_keys = @$str_keys . $connect . « ` ».$df[‘Field’]. »` »;
$str_vals = @$str_vals . $connect . « ‘ ».my_addslashes($_REQUEST[$df[‘Field’]]). »‘ »;
}
}
$sql = ‘INSERT INTO `’ .my_DB_NAME.’`.`’.TABLE. « ` ($str_keys) VALUES ($str_vals) « ;
if(defined(‘DEBUG’) && DEBUG==’mysql’) echo « 

$sql

« ;

$prep = $pdo->prepare($sql);
try {
$prep->execute();
$no = $pdo->lastInsertId();
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}
return $no;
}

/**
* \fn function delete_data( $data )
* \brief Cette fonction supprime une ligne de données de la table MySQL
*
* @param $id Identifiant de l’enregistrement à supprimer.
* @return \e boolean valant TRUE seulement si la requête MySQL n’a pas généré d’erreur.
*/
function delete_data($pdo, $id) {
//global $pdo;
// DELETE FROM `wordpress`.`DD__contacts` WHERE `dd__contacts`.`id` = $id;
$sql = ‘DELETE FROM `’ .my_DB_NAME.’`.`’ .TABLE. ‘` WHERE `’ .PRIM. « ` = ‘ » .$id. « ‘ « ;
$prep = $pdo->prepare($sql);
try {
$prep->execute();
return TRUE; // sort en rendant TRUE s’il n’y a pas eu d’erreur MySQL
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}
}

/**
* \fn function update_data( $data )
* \brief Cette fonction met à jour une ligne de données dans la table MySQL
*
* @param $id Identifiant de l’enregistrement à mettre à jour ; les informations à prendre en compte sont récupérées par $_REQUEST.
* @return \e boolean valant TRUE seulement si la requête MySQL n’a pas généré d’erreur.
*/
function update_data($pdo, $id= ») { $id=$_REQUEST[PRIM];
//global $pdo;
// UPDATE `wordpress`.`DD__contacts` SET `titre` = ‘Mlle’ AND `nom`=’Moi’ WHERE `dd__contacts`.`id` = $id;
$list_fields = get_fields($pdo);
// SET `titre` = ‘Mlle’ AND `nom`=’Moi’ …
foreach($list_fields as $df) {
if($df[‘Field’]!=PRIM && $df[‘Field’]!=DATE) {
$connect = (!isset($connect))?’SET ‘:’, ‘;
$str_set = @$str_set . $connect . ‘`’.$df[‘Field’]. »` = ‘ ».$_REQUEST[$df[‘Field’]]. »‘ « ;
}
}
$sql = ‘UPDATE `’ .my_DB_NAME.’`.`’ .TABLE. « ` $str_set WHERE ` » .PRIM. « ` = ‘ » .$_REQUEST[PRIM]. « ‘ « ;
if(defined(‘DEBUG’) && DEBUG==’mysql’) echo « 

$sql

« ;

$prep = $pdo->prepare($sql);
try {
$prep->execute();
return TRUE; // sort en rendant TRUE s’il n’y a pas eu d’erreur MySQL
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}
}

function get_lasts($pdo, $nb= », $field_date=DATE) {
//global $pdo;
// SELECT * FROM `DD__contacts` WHERE 1 ORDER BY date DESC LIMIT 4
if(empty($nb)) $limit =  »;
else $limit = « LIMIT $nb »;
$sql = ‘SELECT * FROM `’ .my_DB_NAME.’`.`’.TABLE. « ` ORDER BY $field_date DESC $limit »;
$prep = $pdo->prepare($sql);
try {
$prep->execute();
while ($row = $prep->fetch(PDO::FETCH_ASSOC)) { $tab[] = $row; }
return (isset($tab)?$tab:NULL);
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}
}

function get_one($pdo, $id) {
//global $pdo;
// SELECT * FROM `DD__contacts` WHERE `id`= $d
$sql = ‘SELECT * FROM `’ .my_DB_NAME.’`.`’.TABLE. « ` WHERE ` ».PRIM. »` = $id »;
$prep = $pdo->prepare($sql);
try {
$prep->execute();
while ($row = $prep->fetch(PDO::FETCH_ASSOC)) { $tab[] = $row; }
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}
return $tab;
}

/**
* \fn function affich_table( $tab, $pri=PRIM )
* \brief Cette fonction génère le code HTML qui présentera les données d’une table PHP dans un tableau HTML
* Si le texte d’une des clés est le nom de la clé primaire,
* alors on ajoute une case à cocher pour sélectionner plusieurs items et un bouton radio pour en choisir un
*
* @param $tab Table associative PHP (chaque cellule est indexé par une clé pouvant être un texte)
* @param $pri Nom d’une clé à utiliser pour porter les boutons radio et les cases à cocher
* @return \e string Texte HTML d’un tableau
*/
function affich_table($tab, $pri=PRIM) {
if(defined(‘DEBUG’) && DEBUG==’export’) echo « 

prim= $pri

« ;

$strHTML_bulle = ‘

%s

‘;
$strJS_bulle = ‘onmouseout= »cache(); » onmouseover= »montre(\’%s\’); »‘;
$textbulle_checkbox = ‘Cocher pour sélectionner‘;
$textbulle_radio = ‘Cocher pour choisir‘;

$str = sprintf($strHTML_bulle, »Espèce de chouette mal empaillée ! »);

$str .= « 

\n »;
foreach ($tab as $row) {
if(empty($keys)) $keys = array_keys($row);
$str .= ‘

‘;
foreach ($keys as $k) {
if($k==$pri) $str .= ‘

‘;
else $str .= ‘

‘;
}
$str .= ‘

‘. »\n » ;
}
$str .= « 


.$row[$k].’
‘.$row[$k].’

\n »;
return $str;
}

function get_table_csv($pdo, $table=TABLE) {
//global $pdo;
// SELECT * FROM `DD__contacts` WHERE `id`= 2 or `id`= 3
foreach(array_keys($_REQUEST) as $param) { //echo ‘

'.substr($param, 0, strlen(PRIM)+1).'

‘;
if(substr($param, 0, strlen(PRIM)+1) == PRIM.’_’) {
$connect = (!isset($connect))?’ `’.PRIM.’`= ‘:’ OR `’.PRIM.’`= ‘;
$str_listOR = @$str_listOR . $connect . substr($param, strlen(PRIM)+1);
}
}
if(!empty($str_listOR)) {
$sql = « SELECT * FROM ` » .my_DB_NAME. »`.`$table` WHERE $str_listOR « ;
if(defined(‘DEBUG’) && DEBUG==’export’) echo « 

$sql

« ;
$prep = $pdo->prepare($sql);
try {
$prep->execute();
while ($row = $prep->fetch(PDO::FETCH_ASSOC)) { $tab[] = $row; }
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}
return $tab;
}
}

function affich_csv($table) {
$str =  »;
foreach ($table as $row) {
if(empty($keys)) $keys = array_keys($row);
foreach ($keys as $k) {
$str .= $row[$k]. »\t »;
}
$str .= « \n » ;
}
return $str;
}

function get_show_create($pdo, $table=TABLE) {
//global $pdo;
$sql = ‘SHOW CREATE TABLE ‘ .$table. ‘ ‘ ;
//echo « 

$sql

« ;

$prep = $pdo->prepare($sql);
try {
$prep->execute();
if ($row = $prep->fetch(PDO::FETCH_ASSOC) ) {
return $row[‘Create Table’];
}
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}
}

/**
* \fn function get_fields_v0( $table=TABLE )
* \brief Cette fonction récupère les \e champs (noms des colonnes) de la table MySQL
* \bug Gardée pour mémoire ; ne marche pas tout à fait
*
* @param $table Nom de la table MySQL .
* @return \e array Tableau PHP résultant de l’analyse par expression régulière de la requête MySQL de création de la table
*/
function get_fields_v0($pdo, $table=TABLE) {
// Note : rajout de $pdo dans les paramètres alors qu’il n’est pas nécessaire quand on peut le déclarer en global
// parce qu’il est utilisé dans une des fonctions utilisées par celle-ci
$sql_create = get_show_create($pdo, $table);

preg_match_all(« /`(.+)` (\w+)\(? ?(\d*) ?\)?/ », $sql_create, $_matches, PREG_SET_ORDER);
//{ echo « 

"; print_r($_matches); echo "

« ; }

return $_matches;
}

/**
* \fn function get_fields( $table=TABLE )
* \brief Cette fonction récupère les \e champs (noms des colonnes) de la table MySQL
*
* @param $table Nom de la table MySQL .
* @return \e array Tableau PHP à 2 dimensions : pour chaque colonne, 1 tableau associatif avec son nom, son type, si c’est une clé primaire, sa valeur par défaut…
*/
function get_fields($pdo, $table=TABLE) {
//global $pdo;
$sql = ‘DESC `’ .my_DB_NAME.’`.`’.$table. ‘` ‘ ;
if(defined(‘DEBUG’) && DEBUG==’mysql’) echo « 

$sql

« ;

$prep = $pdo->prepare($sql);
try {
$prep->execute();
while ($row = $prep->fetch(PDO::FETCH_ASSOC) ) $tab_fields[] = $row; {
if(defined(‘DEBUG’) && DEBUG==’mysql’) { echo « 

"; print_r($row); echo "

« ; }
}
} catch( Exception $e ){
echo ‘Erreur de requête : ‘, $e->getMessage();
}
return $tab_fields;
}

function affich_fieldset_table($pdo, $table=TABLE) {
// Note : rajout de $pdo dans les paramètres alors qu’il n’est pas nécessaire quand on peut le déclarer en global
// parce qu’il est utilisé dans une des fonctions utilisées par celle-ci
$list_fields = get_fields($pdo, $table);
if(defined(‘DEBUG’) && DEBUG==’mysql’) { echo « 

"; print_r($list_fields); echo "

« ; }

$str = « 

\n »;
$str .= « 

Renseigner le formulaire $table

\n »;

foreach ($list_fields as $df) {
if($df[‘Default’]!=’CURRENT_TIMESTAMP’) {
// { echo « 

"; print_r($df); echo "

« ; }
$field = $df[‘Field’];
if($df[‘Key’]==’PRI’) {
if (!empty($_REQUEST[$field])) {
$str .= ‘‘.$_REQUEST[$field].’‘. « \n » ;
}
}
elseif(substr($df[‘Type’], 0,strlen(‘enum’))==’enum’) {
$str .= ‘
‘.$df[‘Field’].’ :   ‘;
$liste = explode(« ‘,' », substr($df[‘Type’], strlen(‘enum’)+2, -2));
// { echo « 

"; print_r($liste); echo "

« ; }
//foreach (array(‘Mme’,’Mlle’,’M.’,’Dr’) as $t) {
foreach ($liste as $t) {

$str_checked = (@$_REQUEST[$field]==$t)?’checked’: »;
$str .= ‘‘.$t.’       ‘;

}
$str .= « \n »;
}
else {
$str .= ‘

‘.$field
.’
. « \n » ;
}
}
}
$str .= « 

\n »;
return $str;
}

/**
* \fn function get_primary_key( $table=TABLE )
* \brief Cette fonction récupère la clé \e primaire de la table MySQL
*
* @param $table Nom de la table MySQL .
* @return \e string Nom du champ qui est la clé primaire de la table
*/
function get_primary_key($pdo, $table=TABLE) {
// Note : rajout de $pdo dans les paramètres alors qu’il n’est pas nécessaire quand on peut le déclarer en global
// parce qu’il est utilisé dans une des fonctions utilisées par celle-ci
$list_fields = get_fields($pdo, $table);
// { echo « 

"; print_r($list_fields); echo "

« ; }
foreach ($list_fields as $df) {
if($df[‘Key’]==’PRI’) { return $df[‘Field’]; }
}
}

/**
* \fn function get_date_key( $table=TABLE )
* \brief Cette fonction récupère le nom du champ dont la valeur par défaut est la date courante
*
* @param $table Nom de la table MySQL .
* @return \e string Nom du premier champ trouvé dans la liste des champs dont la valeur par défaut est CURRENT_TIMESTAMP
*/
function get_date_key($pdo, $table=TABLE) {
// Note : rajout de $pdo dans les paramètres alors qu’il n’est pas nécessaire quand on peut le déclarer en global
// parce qu’il est utilisé dans une des fonctions utilisées par celle-ci
$list_fields = get_fields($pdo, $table);
// { echo « 

"; print_r($list_fields); echo "

« ; }
foreach ($list_fields as $df) {
if($df[‘Default’]==’CURRENT_TIMESTAMP’) { return $df[‘Field’]; }
}
}

/**
* ===TEST=== Affichage pour vérifier que les valeurs du formulaire sont bien reçues par le serveur
*/
if(defined(‘DEBUG’) && DEBUG==’test’) foreach($_GET as $k=>$v) echo « $k $v
\n »;

[/insert_php]

[insert_php]
/**
* === Connexion === Inclusion du fichier de connexion
*/
//include(‘_connexion-MPO.php’);

define(‘my_DB_NAME’,DB_NAME); // on prend la même DB que WordPress
if(!defined(‘DB_HOST’)) { // pour ne pas chercher à définir les constantes si on est dans WP
define(‘DB_HOST’,DB_HOST); //’localhost:8889′;//pour MAMP… 127.0.0.1:3307
define(‘DB_USER’,’root’);
define(‘DB_PASSWORD’,’root’);

echo ‘

‘.DB_USER.’ @ ‘.DB_HOST.’ > ‘.my_DB_NAME.’

‘;
}

try {
$strConnection = ‘mysql:host=’.DB_HOST.’;dbname=’.my_DB_NAME;
$arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => « SET NAMES utf8 »);
$pdo = new PDO($strConnection, DB_USER, DB_PASSWORD, $arrExtraParam);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
$msg = ‘ERREUR PDO dans ‘ . $e->getFile() . ‘ L.’ . $e->getLine() . ‘ : ‘ . $e->getMessage();
die($msg);
}

/**
* === Initialisation === Création de la table si elle n’existe pas ; récupération des nom des clés primaires et date
*/

//$result = test_exist_table(TABLE); echo ($result ?’OUI’:’NON’);
if (!test_exist_table($pdo, TABLE)) cree_table($pdo, TABLE);
else {
// echo ‘La table '.TABLE. " existe déjà. »;
}

/**
* \enum DATE
* \brief Nom de la colonne mémorisant la date courante.
*/
define(‘DATE’, get_date_key($pdo));

/**
* \enum PRIM
* \brief Nom de la colonne portant l’index.
*/
define(‘PRIM’, get_primary_key($pdo));

/**
* === Programme Principal === Gros « switch » pour associer les bonnes actions aux boutons
*/

switch(@$_REQUEST[‘lancer’]) {
case ‘Nouveau’:
echo affich_fieldset_table($pdo,TABLE);

$nb1 = rand(1,99); $nb2 = rand(1,99);
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;

echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
break;

case ‘Sauver’:
unset($_REQUEST[‘lancer’]);
//if ($_REQUEST[‘calcul-demande’] != $_REQUEST[‘calcul-reponse’]) {
//if (!hash_equals($_REQUEST[‘calcul-demande’], md5($_REQUEST[‘calcul-reponse’], $_REQUEST[‘calcul-demande’]))) {
if ($_REQUEST[‘calcul-demande’] != md5($_REQUEST[‘calcul-reponse’])) {
echo ‘erreur de calcul !’;
echo ‘ ‘. »\n »;
} else {
unset($_REQUEST[‘calcul-demande’]);
unset($_REQUEST[‘calcul-reponse’]);
if($i = insert_data($pdo, $_REQUEST)) echo  » La ligne n° $i vient d’être insérée.
\n » ;
if($t_insert = get_lasts($pdo, 1,DATE)) {
echo affich_table($t_insert);
}
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
}

break;

case ‘Derniers’:
if($t_derniers = get_lasts($pdo, 4,DATE)) {
echo affich_table($t_derniers);
}
else echo « Aucune ligne trouvée, rien à afficher.
\n »;

echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
break;

case ‘Tout afficher’:
if($t_tous = get_lasts($pdo)) {
echo affich_table($t_tous);
}
else echo « Aucune ligne trouvée, rien à afficher.
\n »;

echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
break;

case ‘Supprimer’:
if(empty($_REQUEST[PRIM])) {
echo « Vous devez d’abord sélectionnez une ligne…
\n »;
}
elseif(delete_data($pdo, $_REQUEST[PRIM]))
echo « La suppression du n° ».$_REQUEST[PRIM]. » a été demandée.
\n »;

if($t_tous = get_lasts($pdo)) {
echo affich_table($t_tous);
}

echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
break;

case ‘Modifier’:
if (isset($_REQUEST[PRIM]) && $ligne=get_one($pdo, $_REQUEST[PRIM])[0]){
if( $_REQUEST = array_merge($_REQUEST, $ligne)) {
// { echo « 

"; print_r($_REQUEST); echo "

« ; }
echo affich_fieldset_table($pdo);
}
}
else {
echo « Vous devez d’abord sélectionner une ligne (bouton radio) »;
if($t_tous = get_lasts($pdo)) {
echo affich_table($t_tous);
}
}

echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
break;

case ‘Mettre à jour’:
if(update_data($pdo)) echo  » La ligne n° « .$_REQUEST[PRIM]. » vient d’être modifiée.
\n » ;
if($t_ajour = get_one($pdo, $_REQUEST[PRIM])) {
echo affich_table($t_ajour);
}

echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
break;

case ‘Filtrer’:
if($t_filtre = get_table_csv($pdo)) {
echo affich_table($t_filtre);
}
else echo « Aucune ligne trouvée, rien à afficher.
\n »;

echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
break;

case ‘Exporter’:
if($t_export = get_table_csv($pdo)) {
echo ‘

'.affich_csv($t_export).'

‘;
}
break;

default:
echo ‘ ‘. »\n »;
echo ‘ ‘. »\n »;
}

[/insert_php]