"; $requete_vue = "select * from statopac_vues"; $res = mysql_query($requete_vue,$dbh); $vue_affichage=""; if(mysql_num_rows($res) == 0){ $vue_affichage="
".$msg["stat_no_view_created"]."
"; return $vue_affichage; } else { $vue_affichage=""; $parity=1; while(($vue = mysql_fetch_object($res))){ $rqt="select * from statopac_request where num_vue='".addslashes($vue->id_vue)."'"; $result = mysql_query($rqt); $liste_requete =""; while(($request = mysql_fetch_object($result))){ if ($parity % 2) { $pair_impair = "even"; } else { $pair_impair = "odd"; } $parity++; $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" onmousedown=\"document.location='./edit.php?categ=stat_opac&sub=&action=execute&id_proc=$request->idproc';\" "; $liste_requete.="\n ".htmlentities($request->name,ENT_QUOTES,$charset)."
".htmlentities($request->comment,ENT_QUOTES,$charset)." "; } if($liste_requete){ $tab_list="".$liste_requete."
".stripslashes(htmlentities($vue->nom_vue,ENT_QUOTES,$charset))."
"; $vue_affichage .= "
"; $lien = stripslashes(htmlentities($vue->nom_vue,ENT_QUOTES,$charset)); $space = ""; $vue_affichage .= "id_vue."',true);return false;\" title='requete' name='imEx' src=\"./images/plus.gif\" >"; $vue_affichage .= "$space$lien"; $vue_affichage .= "
"; $vue_affichage .= ""; } } } return $vue_affichage; } function show_results_stats($id_proc=0){ global $msg, $dbh, $form_type, $categ, $numero_page,$limite_page, $sub,$charset; global $dest,$pmb_set_time_limit, $force_exec,$erreur_explain_rqt,$nombre_lignes_total; @set_time_limit ($pmb_set_time_limit); //Récupération des variables postées, on en aura besoin pour les liens $page=$_SERVER[SCRIPT_NAME]; $requete = "SELECT idproc, name, requete, comment, num_vue FROM statopac_request where idproc='".$id_proc."' "; $res = mysql_query($requete, $dbh); $row=mysql_fetch_row($res); //Requete et calcul du nombre de pages à afficher selon la taille de la base 'pret' //********************************************************************************/ // récupérer ici la procédure à lancer $sql = $row[2]; $sql = str_replace("VUE()","statopac_vue_$row[4]",$sql); if (preg_match_all("|!!(.*)!!|U",$sql,$query_parameters) && $form_type=="") { $hp=new parameters($id_proc,"statopac_request"); $hp->gen_form("edit.php?categ=stat_opac&sub=&action=execute&id_proc=".$id_proc."&force_exec=".$force_exec); } else { $param_hidden=""; if($force_exec){ $param_hidden.="";//On a forcé la requete } if (preg_match_all("|!!(.*)!!|U",$sql,$query_parameters)) { $hp=new parameters($id_proc,"statopac_request"); $hp->get_final_query(); $sql=$hp->final_query; $param_hidden.=$hp->get_hidden_values();//Je mets les paramêtres en champ caché en cas de forçage $param_hidden.="";//Je mets le marqueur des paramêtres en champ caché en cas de forçage } $sql = str_replace("VUE()","statopac_vue_$row[4]",$sql); if($dest != "TABLEAU" && $dest != "TABLEAUHTML" && $dest != "TABLEAUCSV"){ print "
"; print ""; if (!explain_requete($sql) && (SESSrights & EDIT_FORCING_AUTH) && !$force_exec) { print $param_hidden; print ""; } else { print ""; } print "
"; print "
"; // la procédure n'a pas de parm ou les paramètres ont été reçus if (!explain_requete($sql) && !((SESSrights & EDIT_FORCING_AUTH) && $force_exec)) { die("

".$sql."

".htmlentities($msg["proc_param_explain_failed"], ENT_QUOTES, $charset)."

".$erreur_explain_rqt); } } $req_nombre_lignes=""; if(!$nombre_lignes_total){ $req_nombre_lignes = mysql_query($sql); if(!$req_nombre_lignes){ die($sql."

".mysql_error()); } $nombre_lignes_total = mysql_num_rows($req_nombre_lignes); } $param_hidden.="";//Je garde le nombre de ligne total pour le pas refaire la requête à la page suivante //Si aucune limite_page n'a été passée, valeur par défaut : 10 if (!$limite_page) $limite_page = 10; $nbpages= $nombre_lignes_total / $limite_page; // on arondi le nombre de page pour ne pas avoir de virgules, ici au chiffre supérieur $nbpages_arrondi = ceil($nbpages); // on enlève 1 au nombre de pages, car la 1ere page affichée ne fait pas partie des pages suivantes $nbpages_arrondi = $nbpages_arrondi - 1; if (!$numero_page) $numero_page=0; $limite_mysql = $limite_page * $numero_page; //REINITIALISATION DE LA REQUETE SQL switch($dest) { case "TABLEAU": case "TABLEAUHTML": case "TABLEAUCSV": if(!$req_nombre_lignes){ $res = @mysql_query($sql, $dbh) or die($sql."

".mysql_error()); }else{ $res = $req_nombre_lignes; } break; default: echo "

".htmlentities($msg["opac_admin_menu"], ENT_QUOTES, $charset)." : ".htmlentities($msg["stat_opac_menu"], ENT_QUOTES, $charset)."

"; echo "

".htmlentities($row[1], ENT_QUOTES, $charset)."

".htmlentities($row[3], ENT_QUOTES, $charset)."

"; $sql = $sql." LIMIT ".$limite_mysql.", ".$limite_page; // on execute la requete avec les bonnes limites $res = @mysql_query($sql, $dbh) or die($sql."

".mysql_error()); echo "

"; break; } $nbr_lignes = @mysql_num_rows($res); $nbr_champs = @mysql_num_fields($res); if ($nbr_lignes) { switch($dest) { case "TABLEAU": $fichier_temp_nom = tempnam(sys_get_temp_dir(),$fichier_temp_nom); $workbook = new writeexcel_workbook($fichier_temp_nom); $worksheet = &$workbook->addworksheet(); $worksheet->write(0,0,$row[1]); $worksheet->write(0,1,$row[3]); for($i=0; $i < $nbr_champs; $i++) { // entête de colonnes $fieldname = mysql_field_name($res, $i); $worksheet->write(2,$i,${fieldname}); } for($i=0; $i < $nbr_lignes; $i++) { $row = mysql_fetch_row($res); $j=0; foreach($row as $dummykey=>$col) { if (is_numeric($col) && preg_match("/^0/",$col)){ $col = "'".$col ; } if(trim($col)=='') $col=" "; $worksheet->write(($i+3),$j,$col); $j++; } } $workbook->close(); $fh=fopen($fichier_temp_nom, "rb"); fpassthru($fh); unlink($fichier_temp_nom); break; case "TABLEAUHTML": echo "

$row[1]

$row[3]

$sql
"; echo ""; for($i=0; $i < $nbr_champs; $i++) { $fieldname = mysql_field_name($res, $i); print(""); } for($i=0; $i < $nbr_lignes; $i++) { $row = mysql_fetch_row($res); echo ""; foreach($row as $dummykey=>$col) { /*if (is_numeric($col)){ $col = "'".$col ; }*/ if(trim($col)=='') $col=" "; print ''; } echo ""; } echo "
${fieldname}
'.$col.'
"; break; case "TABLEAUCSV": for($i=0; $i < $nbr_champs; $i++) { $fieldname = mysql_field_name($res, $i); print("${fieldname}\t"); } for($i=0; $i < $nbr_lignes; $i++) { $row = mysql_fetch_row($res); echo "\n"; foreach($row as $dummykey=>$col) { /* if (is_numeric($col)) { $col = "\"'".(string)$col."\"" ; } */ print "$col\t"; } } break; default: echo ""; for($i=0; $i < $nbr_champs; $i++) { $fieldname = mysql_field_name($res, $i); print(""); } $odd_even=0; for($i=0; $i < $nbr_lignes; $i++) { $row = mysql_fetch_row($res); if ($odd_even==0) { echo " "; $odd_even=1; } elseif ($odd_even==1) { echo " "; $odd_even=0; } foreach($row as $dummykey=>$col) { if(trim($col)=='') $col=" "; print ''; } echo ""; } echo "
${fieldname}
'.$col.'

"; echo "

"; echo " "; print $param_hidden; // LIENS PAGE SUIVANTE et PAGE PRECEDENTE // si le nombre de page n'est pas 0 et si la variable numero_page n'est pas définie // dans cette condition, la variable numero_page est incrémenté et est inférieure à $nombre // constitution des liens $suivante = $numero_page+1; $precedente = $numero_page-1; // affichage du lien précédent si nécéssaire if ($precedente >= 0) $nav_bar .= "[$msg[48]]" ; for ($i = 0; $i <=$nbpages_arrondi; $i++) { if($i==$numero_page) $nav_bar .= "".($i+1)."/".($nbpages_arrondi+1).""; } if ($suivante<=$nbpages_arrondi) $nav_bar .= "[$msg[49]]"; echo $nav_bar ; echo " $msg[edit_cbgen_mep_afficher] $msg[1905]          

"; break; } } else { echo $msg["etatperso_aucuneligne"]; } mysql_free_result ($res); } } if(!$id_proc){ print show_stats($dbh); } else { print show_results_stats($id_proc); } ?>