get_display_list(); } function show_results_stats($id_proc=0){ global $msg, $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="./edit.php"; $requete = "SELECT idproc, name, requete, comment, num_vue FROM statopac_request where idproc='".$id_proc."' "; $res = pmb_mysql_query($requete); $row=pmb_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(!isset($nombre_lignes_total) || !$nombre_lignes_total){ $req_nombre_lignes = pmb_mysql_query($sql); if(!$req_nombre_lignes){ die($sql."

".pmb_mysql_error()); } $nombre_lignes_total = pmb_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 (!isset($limite_page) || !$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 (!isset($numero_page) || !$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 = pmb_mysql_query($sql) or die($sql."

".pmb_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 = pmb_mysql_query($sql) or die($sql."

".pmb_mysql_error()); echo "

"; break; } $nbr_lignes = @pmb_mysql_num_rows($res); $nbr_champs = @pmb_mysql_num_fields($res); if ($nbr_lignes) { switch($dest) { case "TABLEAU": $worksheet = new spreadsheetPMB(); $worksheet->write_string(0,0,$row[1]); $worksheet->write_string(0,1,$row[3]); for($i=0; $i < $nbr_champs; $i++) { // entête de colonnes $fieldname = pmb_mysql_field_name($res, $i); $worksheet->write_string(2,$i,$fieldname); } for($i=0; $i < $nbr_lignes; $i++) { $row = pmb_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=" "; if (is_numeric($col)) { $worksheet->write(($i+3),$j,$col); } else { $worksheet->write_string(($i+3),$j,$col); } $j++; } } $worksheet->download('edition.xls'); break; case "TABLEAUHTML": echo "

$row[1]

$row[3]

$sql
"; echo ""; for($i=0; $i < $nbr_champs; $i++) { $fieldname = pmb_mysql_field_name($res, $i); print(""); } for($i=0; $i < $nbr_lignes; $i++) { $row = pmb_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 = pmb_mysql_field_name($res, $i); print $fieldname."\t"; } for($i=0; $i < $nbr_lignes; $i++) { $row = pmb_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 = pmb_mysql_field_name($res, $i); print ""; } $odd_even=0; for($i=0; $i < $nbr_lignes; $i++) { $row = pmb_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 $nav_bar = ''; $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"]; } pmb_mysql_free_result($res); } } if(!isset($id_proc)){ print show_stats(); } else { print show_results_stats($id_proc); } ?>