\"""; } function aff_url($url, $modif, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $txt, $class, $id) { echo "" . $txt . ""; } function aff_form($url, $modif, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $name, $id) { echo "
\n"; } // Fonction générant les div pour la navigation (en haut ou en bas en bas) function navigation($cette_page, $modif, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg,$class,$nbpages) { echo "
\n"; echo "\t
\n\t\t"; if ($page!=0) { $srcimg="images/ideb.png"; $altimg="Debut"; $titleimg=$altimg; $f_page=0; aff_url_img($cette_page, $modif, $nbitems, $tri, $f_page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg); echo "\n\t\t"; $srcimg="images/iprec.png"; $altimg="Precedent"; $titleimg=$altimg; $f_page=$page-1; aff_url_img($cette_page, $modif, $nbitems, $tri, $f_page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg); } // echo " Page ". ($page +1) ."/" . $nbpages . " "; // echo "\n\t\tPage ". ($page +1) ."/" . $nbpages . "\n\t\t"; if ($page!=($nbpages-1)) { $srcimg="images/ifin.png"; $altimg="Fin"; $titleimg=$altimg; $f_page=$nbpages-1; aff_url_img($cette_page, $modif, $nbitems, $tri, $f_page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg); echo "\n\t\t"; $srcimg="images/isuiv.png"; $altimg="Suivant"; $titleimg=$altimg; $f_page=$page+1; aff_url_img($cette_page, $modif, $nbitems, $tri, $f_page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg); } echo "\n\t
"; echo "\n
\n"; } /*******************/ // DEBUT DE LA PAGE /*******************/ echo "Consultation Mediatheque " . $partie . "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; $base=connecteBase(SERVEUR,LOGIN,PASSWORD,BASE); if (! mysql_table_exists("mediaparam" , BASE)) { echo " PAS DE TABLE DE PARAMETRAGE - IMPOSSIBLE DE CONTINUER"; die; } if ($partie && (! mysql_table_exists($partie , BASE))) { echo $partie . " n'existe pas. "; die; } /* ---------------------------------------------------- */ /* Requêtes générales de sélection et de comptage */ /* ---------------------------------------------------- */ if (mysql_table_exists("mdia_tri_def" , BASE)) { $reqtri="SELECT sql_tri FROM mdia_tri_def WHERE nom_table='" . $partie . "'"; $result_query_reqtri=mysql_query($reqtri,$base); while($ligne=mysql_fetch_row($result_query_reqtri)) { $tri_def=$ligne[0]; } } else { echo "PAS DE TABLE DE TRI PAR DEFAUT "; } // On cree récupère les numero de platforme pour les jeux sur gamefaqs if($partie=="jeux") { $reqGF="SELECT * FROM gamefaqs"; $result_query_reqGF=mysql_query($reqGF,$base); while($ligne=mysql_fetch_row($result_query_reqGF)) { $tab_support[$ligne[1]]=$ligne[0]; } } /* mdia_condition_def est une table qui contient la condition par défaut de sélection des enregistrement pour une table donnée (ex:jeux presence !="non" */ if (mysql_table_exists("mdia_condition_def" , BASE)) { $reqconddef="SELECT cond_def FROM mdia_condition_def WHERE nom_table='" . $partie . "'"; $result_query_reqconddef=mysql_query($reqconddef,$base); while($ligne=mysql_fetch_row($result_query_reqconddef)) { $cond_def=$ligne[0]; } } $prereq="SELECT champ FROM mediaparam WHERE nomtable='" . $partie . "' AND affiche='o' ORDER BY ordretri ASC"; $result_query_prereq=mysql_query($prereq,$base); $requete="SELECT id,"; while($ligne=mysql_fetch_row($result_query_prereq)) { $requete.=$ligne[0] . ","; } //echo $requete; if (($rech =="") && ($reqid=="")) { $requete=substr($requete,0,strlen($requete)-1) . " FROM " . $partie ." ". $cond_def; } else { $requete=substr($requete,0,strlen($requete)-1) . " FROM " . $partie ; } $reqnbenreg="SELECT COUNT(*) FROM " . $partie; $reqnbdef="SELECT COUNT(*) FROM " . $partie . " " .$cond_def; /* --------------------------------------------------------- */ /* Récupération du nb d'enregistrements dans la table */ /* --------------------------------------------------------- */ $result_query_nb=mysql_query($reqnbenreg,$base); $result_query_nbdef=mysql_query($reqnbdef,$base); $nboeuvres=mysql_fetch_row($result_query_nb); /* $nbdef contient le nombre d'enregistrements répondant à la condition par défaut de sélection */ $nbdef=mysql_fetch_row($result_query_nbdef); /* -------------------- */ /* Affichage du menu */ /* -------------------- */ $req="SELECT DISTINCT(nomtable) FROM mediaparam"; $result_query_parties=mysql_query($req,$base); echo "\n\n"; /************************************************************************************ Suppression effective validée par le clic sur oui sur le formulaire ci après *************************************************************************************/ if ($suppress=="deldel") { // Ici on supprime pour de bon $requete_suppr="DELETE FROM " . $partie ." WHERE " .$partie . ".id=" . $id . " LIMIT 1"; // echo $requete_suppr; $result_query_suppr=mysql_query($requete_suppr,$base); // echo "Suppression réussie"; $id=""; } /********************************************************** * Affichage de la fenetre de suppression d'enregistrement * ***********************************************************/ if (($modif=="del") && ($id!="")) { echo "
\n"; echo "Êtes-vous sûr de vouloir supprimer cet enregistrement ?
\n"; /* ICI ON S'OCCUPE DU FORMULAIRE */ $f_name="suppression"; aff_form($cette_page, $mod, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $f_name, ""); //ici on positionne enreg à "modif" echo "\n"; echo "\n"; echo "
\n"; echo "\n"; aff_url($cette_page, "mod", $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, "Non", "non", $id); echo "\n
"; } /***************************************************************** * Affichage de la fenetre de modification/ajout d'enregistrement * ******************************************************************/ if (($modif=="ajout") || (($modif=="mod") && ($id!=""))) { echo "
\n"; $url=$cette_page; if ($modif=="ajout") { $f_modif=""; } else { $f_modif=$modif; } $srcimg="images/fermer.png"; $altimg="Fermer cette fenêtre"; $titleimg="Fermer cette fenêtre"; $f_class="btn_fermer"; aff_url_img($url, $f_modif, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg, "", $f_class); echo "\n\t\t"; /* Bouton pour supprimer l'enregistrement */ if ($modif!="ajout") { $f_modif="del"; $srcimg="../images_GUI/poubelle.png"; $altimg="Supprimer cet enregistrement"; $titleimg="Supprimer cet enregistrement"; $f_class="btn_supprimer"; aff_url_img($url, $f_modif, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg, $id, $f_class); echo "\n\t\t"; } /* Fonction insérant le nom des colonnes de la table dans le tableau "colonnes" */ $requete_mod = "SELECT champ,denomination,liste FROM mediaparam WHERE nomtable='" . $partie . "' ORDER BY ordretri"; $result_query_mod=mysql_query($requete_mod,$base); $nbchamps=0; while ($ligne=mysql_fetch_row($result_query_mod)) { $colonnes[$nbchamps][0]=$ligne[0]; $colonnes[$nbchamps][1]=$ligne[1]; $colonnes[$nbchamps][2]=$ligne[2]; $nbchamps++; } // $enreg est positionné par le formulaire if (($enreg=="insert") || ($enreg=="modif")) { for ($i=0;$i<$nbchamps;$i++) { if ($colonnes[$i][2]!="o") { $tabvar[$i]=AddSlashes($$colonnes[$i][0]); } else { if ($$colonnes[$i][0]!="") { $tabvar[$i]=AddSlashes($$colonnes[$i][0]); } else { $chaine=$colonnes[$i][0] . "2"; if ($$chaine!="") { $tabvar[$i]=AddSlashes($$chaine); } else { $tabvar[$i]=""; } } } } } /* Cas où l'on rentre en mode ajout */ if ($enreg=="insert") { /* Enregistrement des données */ if ($tabvar[0] !="") { if ($base!=null) { $requete_mod="INSERT INTO " . $partie . " ("; for ($i=0;$i<$nbchamps;$i++) { if ($i+1 < $nbchamps) { $requete_mod.=$colonnes[$i][0] . ",";} else { $requete_mod.=$colonnes[$i][0];} } $requete_mod.=") VALUES ('"; for ($i=0;$i<$nbchamps;$i++) { if ($i+1 < $nbchamps) { $requete_mod.=$tabvar[$i] . "','";} else { $requete_mod.=$tabvar[$i] . "')";} } $result_query_mod=mysql_query($requete_mod,$base); echo "L'enregistrement s'est bien déroulé"; } } else { echo "Vous devez saisir une valeur pour le premier champs"; } } /* Cas où l'on rentre en mode modification */ else if (($id!="") && ($enreg!="modif")) { if ($base!=null) { /* On récupère les informations sur le livre sélectionné */ $id=AddSlashes($id); $requete_mod="SELECT "; for ($i=0;$i<$nbchamps;$i++) { if ($i+1 < $nbchamps) { $requete_mod.=$colonnes[$i][0] . ",";} else { $requete_mod.=$colonnes[$i][0];} } $requete_mod.=" FROM " . $partie . " WHERE id='" . $id . "'"; /* echo $requete;*/ $result_query_mod=mysql_query($requete_mod,$base); $result_mod = mysql_fetch_row($result_query_mod); /* On renseigne les variables du formulaire en conséquence */ for ($i=0;$i<$nbchamps;$i++) { $tabvar[$i]=StripSlashes($result_mod[$i]); } } } /* Cas où l'on clique sur le bouton enregistrer la modification */ else if ($enreg=="modif") { if ($base!=null) { $requete_mod="UPDATE " . $partie . " SET "; for ($i=0;$i<$nbchamps;$i++) { if ($i+1 < $nbchamps) { $requete_mod.= $colonnes[$i][0] . "='" . $tabvar[$i] . "',";} else { $requete_mod.= $colonnes[$i][0] . "='" . $tabvar[$i] . "'";} } $requete_mod.=" WHERE id='" . $id . "'"; /*echo "Requete UPDATE " . $requete_mod;*/ $result_query_mod=mysql_query($requete_mod,$base); echo "La modification s'est bien déroulée"; } } else { for ($i=0;$i<$nbchamps;$i++) { $tabvar[$i]=""; } } /* ICI ON S'OCCUPE DU FORMULAIRE */ $f_name="ajout_perso"; aff_form($cette_page, $modif, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $f_name, $id); if ($id=="") { //ici on positionne enreg à "insert" echo "\n"; } else { //ici on positionne enreg à "modif" echo "\n"; echo "\n"; } for ($i=0;$i<$nbchamps;$i++) { echo "
\n\n"; echo "\n"; if ($colonnes[$i][2]=="o") { echo "\n"; } } if ($id=="") { echo "
\n"; } else { echo "
\n"; } echo "\n"; echo "
"; } /************************************* FIN DE LA PARTIE CONCERNANT AJOUT/MODIF ********************************/ /************************************* FENETRE DE RECHERCHE PAR DESSUS LE TABLEAU *****************************/ /* ------------------------------------ */ /* Affichage de la fenetre de recherche */ /* ------------------------------------ */ if ($search=="o") { echo "
"; $f_search=""; $srcimg="images/fermer.png"; $altimg="Fermer cette fenêtre"; $titleimg="Fermer cette fenêtre"; $f_class="btn_fermer"; aff_url_img($cette_page, $modif, $nbitems, $tri, $page, $rech, $champ, $f_search, $reqid, $partie, $srcimg, $altimg, $titleimg, "", $f_class); echo "\n\t\t"; $f_name="recherche"; $f_search=""; $f_page=0; aff_form($cette_page, $modif, $nbitems, $tri, $f_page, $rech, $champ, $f_search, $reqid, $partie, $f_name); echo "\n"; echo "\n"; echo ""; echo "\n
"; } /************************************* FIN DE LA PARTIE CONCERNANT LA FENETRE DE RECHERCHE *****************************/ echo "\n
\n"; /* ---------------------------------------------- */ /* Prise en compte des requêtes paramétrées */ /* ---------------------------------------------- */ if ($reqid!='') { $req="SELECT requete FROM requeteparam WHERE idreq='" . $reqid . "'"; $result_req=mysql_query($req,$base); $result = mysql_fetch_row($result_req); $requete=$result[0]; for ($i=0;$i " LIKE '%", "d"=> " LIKE '", "nc" => " NOT LIKE '%", "nd" => " NOT LIKE '"); $fincond = array("c" => "%'", "d"=> "%'", "nc" => "%'", "nd" => "%'"); $spl_rech=split(" ",$rech,2); $cond=$spl_rech[0]; if (in_array ($debcond[$cond], $debcond)) { $rechOK=$spl_rech[1]; } else { $cond="c"; $rechOK=$rech; } $finreq=$debcond[$cond] . $rechOK . $fincond[$cond]; $reqrech="SELECT champ FROM mediaparam WHERE nomtable='" . $partie . "' AND recherche='o'"; $result_query_rech=mysql_query($reqrech,$base); $entre="faux"; $premierloop="o"; while($champrech=mysql_fetch_row($result_query_rech)) { if ($champ==$champrech[0]) { if ($clause=="o") /* On est dans le cas d'une requete parametree et on fait une recherche en + */ { $param=" AND " . $champrech[0] . $finreq; } else { $param=" WHERE " . $champrech[0] . $finreq; } $entre="vrai"; } } if ($entre=="faux") { $result_query_rech=mysql_query($reqrech,$base); while($champrech=mysql_fetch_row($result_query_rech)) { if ($premierloop=="o" && $clause=="o") { $param=" AND " . $champrech[0] . $finreq; $premierloop="n"; } else { if ($premierloop=="o") { $param=" WHERE " . $champrech[0] . $finreq; $premierloop="n"; } else { $param.=" OR " . $champrech[0] . $finreq; } } } } $requete.=$param; $reqnbenreg.=$param; /*echo $requete;*/ } /* ----------------------------------------------------------------------------------------------- */ /* Récupération du nombre d'enregistrements après passage des critères dans la requête */ /* ----------------------------------------------------------------------------------------------- */ $result_query_enreg=mysql_query($reqnbenreg,$base); $nbenreg=mysql_fetch_row($result_query_enreg); /* ------------------------------------------------------------------------------------------------------------------- */ /* Prise en compte du tri dans la mise en place de la requête ainsi que pour les options des liens du tableau */ /* ------------------------------------------------------------------------------------------------------------------ */ if ($tri!="") { $requete.=" ORDER BY "; $reqtri="SELECT champ FROM mediaparam WHERE nomtable='" . $partie . "'"; $result_query_tri=mysql_query($reqtri,$base); while($champtri=mysql_fetch_row($result_query_tri)) { if ($tri==$champtri[0]) { $requete.=$champtri[0] . " ASC"; $trialt=$champtri[0] . "n"; } else { if ($tri==$champtri[0] . "n") { $requete.=$champtri[0] . " DESC"; $trialt=$champtri[0]; } } } } else { $requete.=" " . $tri_def ; } /* -------------------------------------------------------------------- */ /* Prise en compte de la page dans la mise en place de la requête */ /* -------------------------------------------------------------------- */ if ($nbitems!="t") { if ($nbitems=="") {$nbitems=10;} $requete.=" LIMIT ". ($page * $nbitems) ."," . $nbitems; } else { $requete.=" LIMIT 0," . $nbenreg[0]; } /* ------------------------------------------------ */ /* Affichage de la navigation haute du tableau */ /* ------------------------------------------------ */ if ($nbenreg[0]!=0) { if ($nbitems!="t") { if (($rech =="") && ($reqid=="")) { $nbpages=ceil($nbdef[0] / $nbitems); } else { $nbpages=ceil($nbenreg[0] / $nbitems); } navigation ($cette_page, $modif, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg, "navigationhaut", $nbpages); } else { echo "
\n"; } if ($nbenreg[0]==$nboeuvres[0]) { echo "
" . $nbdef[0] . " " . $partie . " / " . $nbenreg[0] . " enregistrements    Page " . ($page +1) ."/" . $nbpages . "
\n"; } else { echo "
" . $nbenreg[0] . " " . $partie . " / " . $nboeuvres[0] . " enregistrements    Page " . ($page +1) ."/" . $nbpages . "
\n"; } echo "\n\n"; if ($modif=="mod") { echo ""; } /* -------------------------------------- */ /* Affichage des en-têtes du tableau */ /* -------------------------------------- */ $requetetableau="SELECT champ, denomination, largeur FROM mediaparam WHERE nomtable='" . $partie . "' AND affiche='o' ORDER BY ordretri ASC"; $result_query_tableau=mysql_query($requetetableau,$base); while ($parametre=mysql_fetch_row($result_query_tableau)) { $f_class="titretableau"; $txt=$parametre[1]; echo "\n"; } echo "\n"; // Fermeture du tr contenant les th /* ---------------------------------------------------------------------------- */ /* Mise en place dynamique des lignes du tableau selon tous les critères */ /* ---------------------------------------------------------------------------- */ $result_query=mysql_query($requete,$base); $impair="o"; $req2="SELECT COUNT(*) FROM mediaparam WHERE nomtable='" . $partie . "' AND affiche='o'"; $result_query2=mysql_query($req2,$base); $nbchamps=mysql_fetch_row($result_query2); $s_id=$id; $i=1; while ($ligne=mysql_fetch_row($result_query)) { if ($s_id == $ligne[0]) { $sel="mod"; } else { $sel=""; } if ($impair=="o") { echo "\n"; $impair="n"; } else { echo "\n"; $impair="o"; } if ($modif=="mod") { $id=$ligne[0]; // $url="formajout.php"; $url=$cette_page; $srcimg="images/crayon.gif"; $altimg="Modifier"; $titleimg="Modifier l'enregistrement"; echo "\n"; } for ($x=1;$x<=$nbchamps[0];$x++) { // echo ""; if ($x==1 && $partie=="jeux") { echo "\t\n"; } else { echo "\t\n"; } } echo "\n"; $i+=1; } echo "
"; if ($tri==$parametre[0] || $tri==$parametre[0] . "n") { $f_tri=$trialt; } else { $f_tri=$parametre[0]; } if ($tri==$parametre[0]."n") { $txt=$txt . ""; } else if ($tri==$parametre[0]) { $txt=$txt . ""; } aff_url($cette_page, $modif, $nbitems, $f_tri, $page, $rech, $champ, $search, $reqid, $partie, $txt, $f_class); echo "
"; aff_url_img($url, $modif, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg, $id); echo " " . StripSlashes($ligne[$x]) . "" . StripSlashes($ligne[$x]) . "" . StripSlashes($ligne[$x]) . "
\n"; /* ------------------------------------------------ */ /* Affichage de la navigation basse du tableau */ /* ------------------------------------------------ */ if ($nbitems!="t") { if (($rech =="") && ($reqid=="")) { $nbpages=ceil($nbdef[0] / $nbitems); } else { $nbpages=ceil($nbenreg[0] / $nbitems); } navigation ($cette_page, $modif, $nbitems, $tri, $page, $rech, $champ, $search, $reqid, $partie, $srcimg, $altimg, $titleimg, "navigationbas", $nbpages); } else { echo "
\n"; } } else { echo "

Pas d'enregistrements correspondant

"; } /* --------------------------------------------------------------------------- */ /* Affichage du choix du nombre d'enregistrements à afficher par page */ /* --------------------------------------------------------------------------- */ echo "
"; $f_name="bougepage"; $f_page=0; aff_form($cette_page, $modif, $nbitems, $tri, $f_page, $rech, $champ, $search, $reqid, $partie , $f_name); echo "\n\n"; echo "\n"; echo ""; //echo ""; echo "
\n" ; echo "
\n"; deconnecteBase($base); echo "\n"; echo "\n"; ?>