S_FONT_FAMILY;\n"; echo " font-size: $STYLErow->S_FONT_SIZE_SMALL;\n"; echo " font-style: normal;\n"; /* echo " font-weight: 400;\n"; */ // echo " text-align: left;\n"; echo " vertical-align: top;\n"; echo " color: $STYLErow->S_COLOR_TEXT;\n"; echo " background-color: $STYLErow->S_COLOR_3;\n"; echo "}\n"; } //============================================================================== // FUNCTION putFrame (...) // // Generation frame content. //============================================================================== function putFrame ($db, $link, $DOCrow, $PAGEresult, $CURRENTPAGErow, $innerTableWidth, $innerTableSpacing) { global $project; global $locale; global $set; global $G_mysqlDB; global $G_link; global $num_sem; global $thema; //permet un passage de parametre global $fichier_arbre; global $fichier_cartouche; $page_arg = $CURRENTPAGErow->P_ARGUMENT; if($page_arg != ""):$thema=$page_arg;endif; include ('php/frame/arbre/chemin.php3'); include ("$chemin_ago"); include ("$chemin_param"); include ('php/frame/arbre/fonctions.php3'); $pageNdx = $CURRENTPAGErow->P_ORDER; //ici commence mon arbre //SCRIPT DE DESSIN DE L'ARBRE Version 2: construction avec des tables //------------------------------------------------------------------- $xesvert="0";//$xesvert*2=espace verticcal entre 2 branches d'un même coté //Connexion a la base //mysql_connect ($dbhostname, $dbwho, $dbpass); //mysql_select_db ($dbnamedb); if($thema != ""): $nom_en_cl=mysql_query("select AGO_CAT_TITRE from AGORA_CATEG where AGO_CAT_APPEL LIKE \"%$thema%\"") or die("Theme non répertorié dans la base de donnée : $thema"); $thema_temp="and (THEMA LIKE \"%$thema%\")"; $nom_en_clair=mysql_result($nom_en_cl,0,"AGO_CAT_TITRE"); $blabla_thema="Theme de l'arbre: $nom_en_clair"; endif; //prerequis au moteur //->les requetes $res //->les variable $lientela_botanica $nb_ab_tela $nb_total_mess=0 $nb_total_abon=0 $nbtables_dessin //->connexion à la base //-------------------------------------------------------------------------------------------------------------------------------------------- $res = mysql_query ("select NOM_TABLE, LIEN_BRANCHE, LIEN_FEUILLE, ALIAS, DATE_CREATION, LIEN_PUCE from $nom_table_index where ((VISIBLE=1) and (NOM_TABLE <> \"$nom_table_tela\") $thema_temp ) order by \"date_creation\" desc"); $nbtables = mysql_num_rows($res); // boucle visant a constituer les valeurs couleur, nombre d'abonnes et taille de branche pour les tables concernees //(existant deja a la date $nv_date) $max_nv_mesg=1; /////////////////////////////////////////////////////////////////////////////////// $max_mesg=1; /////////////////////////////////////////////////////////////////////////////////// $nb_table_2=0; //index des tables à afficher... puis for($i=0;$i<$nbtables;$i++) { // on recupere le nom de la table $nom_tb[$i] = mysql_result($res,$i,"NOM_TABLE"); // on recupere un tuple contenant le nombre de messages, le nombre d'abonnes pour la table concernee // et la semaine correspondant a la semaine $num_sem $tab = mysql_query("select NB_MESSAGES,NB_ABONNES from $nom_tb[$i] where NUM_SEM=$num_sem"); $nb_rows_tab_tmp = mysql_num_rows($tab); // on teste si l'on a qqchose a afficher if ($nb_rows_tab_tmp > 0) : $nb_rows_tab[$nb_table_2]=$nb_rows_tab_tmp; $nom_tb02[$nb_table_2]=mysql_result($res,$i,"ALIAS"); $tab_lien_branche[$nb_table_2]=mysql_result($res,$i,"LIEN_BRANCHE"); $tab_lien_puce[$nb_table_2]=mysql_result($res,$i,"LIEN_PUCE"); $tab_lien_feuille[$nb_table_2]=mysql_result($res,$i,"LIEN_FEUILLE"); // on recupere le nombre de messages (cumule) pour la semaine $num_sem -1 if ($num_sem == 1) : $anc_mesg = 0; else : $sem_prec = $num_sem -1; $anc_mesg = mysql_query("select NB_MESSAGES from $nom_tb[$i] where NUM_SEM=$sem_prec"); $nb_rows_anc_mesg = mysql_num_rows($anc_mesg); if ($nb_rows_anc_mesg == 0) : $nb_anc_mesg[$nb_table_2] = 0; else : $nb_anc_mesg[$nb_table_2] = mysql_result($anc_mesg,0,"NB_MESSAGES"); endif; endif; // on recupere le nombre de messages(cumule) pour la semaine $num_sem $nb_nv_mesg[$nb_table_2] = mysql_result($tab,0,"NB_MESSAGES"); // on calcule le nombre de messages emis effectivement lors de // la semaine $num_sem $nb_mesg[$nb_table_2] = $nb_nv_mesg[$nb_table_2] - $nb_anc_mesg[$nb_table_2]; // on positionne la variable donnant le maximum de messages if ($max_nv_mesg < $nb_nv_mesg[$nb_table_2]) : $max_nv_mesg = $nb_nv_mesg[$nb_table_2]; endif; // on positionne la variable donnant le maximum de messages de la semaine // $num_sem if ($max_mesg < $nb_mesg[$nb_table_2]) : $max_mesg = $nb_mesg[$nb_table_2]; endif; //calcul du nombre de messages total $nb_tot_mess += $nb_nv_mesg[$nb_table_2]; // on recupere le nombre d'abonnes pour la semaine $num_sem $nb_abon[$nb_table_2] = mysql_result($tab,0,"NB_ABONNES"); //calcul du nombre d'abonnes total $nb_tot_abon += $nb_abon[$nb_table_2]; $nb_table_2++; endif; } //cette requete recupere ne nombre d'abonnes et de messages a la semaine num_sem $resreq=mysql_query("select NB_ABONNES, NB_MESSAGES from $nom_table_tela where NUM_SEM=$num_sem"); $nbresreq=mysql_num_rows($resreq); $nb_ab_tela=mysql_result($resreq,($nbresreq-1),nb_abonnes); $nb_mes_tela=mysql_result($resreq,($nbresreq-1),nb_messages); $temptotoblabla=round(($xres-$nhi_xsommet)/2);// oui, je suis en manque d'inspiration pour les noms de variables ;) //sérieusement, c'est le blanc devant la cime de l'arbre // l'idee c'est de remetre tout dans une table temporaire pour refaire une requete res et rende tout ca compatible avac le moteur... //un nom aléatoir pour la table.. function create_new_pwd($n) { //caractères possibles en virant ceux qui se ressemblent (ijl1oO0) $chaine = "123456789"; // $n_car caractères dans le 'mot' généré $n_car = $n; srand((double)microtime()*1000000); for($i = 0; $i < $n_car; $i++) { $str .= $chaine[rand()%strlen($chaine)]; } return "$str"; } $ago_tempo=TEMP.create_new_pwd(5); //en premier lieu, virer la table $ago_tempo si elle existe $rep=mysql_query("DROP TABLE IF EXISTS $ago_tempo"); //ensuite la créer, et la remplire avec les données récoltées... //creation $creation = "CREATE table $ago_tempo( INDEXE INT, NB_MES INT not null, LIEN_BRANCHE TINYTEXT not null, LIEN_FEUILLE TINYTEXT not null, COULEUR TINYINT not null, NB_ADH INT not null, TAILLE_B TINYINT not null, ALIAS TINYTEXT not null, LIEN_PUCE TINYTEXT) "; $rep=mysql_query("$creation") or die ("ERREUR LORS DE LA CREATION DE LA TABLE TEMPORAIRE

$creation"); //remplissage $les_slashes=1; //pour la gestion des parametres du javascript de popup sans erreur d'insertion dans la base for($i=0;$i<$nb_table_2;$i++) { $couleur = round(($nb_mesg[$i]/$max_mesg)*100);//i+1? $tb = round(($nb_nv_mesg[$i]/$max_nv_mesg)*100);//i+1? //pour la gestion des parametres du javascript de popup sans erreur d'insertion dans la base $tab_lien_branche[$i]=addslashes($tab_lien_branche[$i]); $tab_lien_feuille[$i]= addslashes($tab_lien_feuille[$i]); $tab_lien_puce[$i]=addslashes($tab_lien_puce[$i]); // $toto="INSERT INTO $ago_tempo ( INDEXE, NB_MES, LIEN_BRANCHE, LIEN_FEUILLE, COULEUR, NB_ADH, TAILLE_B, ALIAS, LIEN_PUCE ) VALUES ('$i','$nb_nv_mesg[$i]','$tab_lien_branche[$i]','$tab_lien_feuille[$i]','$couleur','$nb_abon[$i]','$tb','$nom_tb02[$i]','$tab_lien_puce[$i]')"; $rep=mysql_query($toto) or die("erreur dans l'insertion dans la table temporaire : $toto"); } //Calcul des totaux C'est un reliqua d'une version précedente //$nb_total_mess=$nb_tot_mess+$nb_mes_tela; //$nb_total_abon=$nb_tot_abon+$nb_ab_tela; mysql_free_result($res); $res = mysql_query("select INDEXE, NB_MES, LIEN_BRANCHE, LIEN_FEUILLE, COULEUR, NB_ADH, TAILLE_B, ALIAS, LIEN_PUCE from $ago_tempo order by \"INDEXE\" ")or die("erreur dans l'interogation de la table temporaire"); $rep=mysql_query("DROP TABLE IF EXISTS $ago_tempo"); $nbtables_dessin=$nb_table_2; $nb_total_mess=0; $nb_total_abon=0; $req=mysql_query("select LIEN_BRANCHE, LIEN_FEUILLE, LIEN_PUCE from $nom_table_index where NOM_TABLE=\"$nom_table_tela\""); $tabtemp=mysql_fetch_array($req); $lientela_botanica=$tabtemp["LIEN_BRANCHE"]; $lientela_numero=$tabtemp["LIEN_FEUILLE"]; $lientela_feuille=$tabtemp["LIEN_PUCE"]; // $lientela_botanica=mysql_result($req,0,"LIEN_BRANCHE"); // $lientela_numero=mysql_result($req,0,"LIEN_FEUILLE"); // $lientela_feuille=mysql_result($req,0,"LIEN_PUCE"); //-------------------------------------------------------------------------------------------------------------------------------------------- //inclusion du moteur include ('php/frame/arbre/moteur_dessin.php'); include ('php/frame/arbre/cartouche_arbre_date.php'); //purge des résultats de requetes mysql_free_result($resreq); mysql_free_result($res); mysql_free_result($req); //fermeture de la connexion //mysql_close(); //ici finit mon arbre... } //============================================================================== // FUNCTION putFooter () // // Generation of footer. //============================================================================== function putFooter () { echo ' '; } //-- End of source ------------------------------------------------------------ ?>