Accueil > > > ENVOI MAIL AVEC TABLEAU RÉCAPILTULATIF DES OPTIMISATIONS FAITES DANS LA BDD MYSQL
ENVOI MAIL AVEC TABLEAU RÉCAPILTULATIF DES OPTIMISATIONS FAITES DANS LA BDD MYSQL
Information sur la source
Description
Salut @ tous, je sais pas si cette source éxiste déjà sur phpcs.com, mais je la poste quand même pour moi elle est très pratique (même si elle est pas de moi). En fait, c'est un script qui envoit un mail avec un tableau récapiltulatif des optimisations faites dans la BDD MySQL. Pratique pour savoir ce qui s'est passé lors de l'opimisation de vos tables. UTILISATION DE LA FONCTION mail(). UTILISATION DES $_SESSION. UTILISATION DE STYLES CSS. Voilà. Oui je sais, cette source n'est pas optimisée, j'ai aps trop le temps de le faire.
Source
- <?php
- // ****************************
- // Démarrage de la session PHP
- // ****************************
- session_start();
-
- // ********************************
- // Valeurs par défaut des variables
- // ********************************
- $mail_ligne_1 = '';
- $mail_ligne_2 = '';
- $mail_ligne_3 = '';
- $mail_ligne_4 = '';
- $mail_ligne_5 = '';
- $mail_ligne_6 = '';
- $mail_ligne_7 = '';
- $mail_ligne_8 = '';
- $mail_ligne_9 = '';
- $mail_ligne_10 = '';
- $mail_ligne_11 = '';
- $mail_ligne_12 = '';
- $mail_ligne_13 = '';
- $mail_ligne_14 = '';
- $mail_ligne_15 = '';
- $mail_ligne_16 = '';
-
- ?>
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title></title>
-
- <?php
- // ********************************
- // Récupération des ID de connexion
- // ********************************
-
- $_SESSION['hote_mysql'] = '*****';
- $_SESSION['user_mysql'] = '*****';
- $_SESSION['passwd_mysql'] = '*****';
- $_SESSION['base_mysql'] = '*****';
-
- // Connexion à la BDD
- mysql_connect($_SESSION['hote_mysql'], $_SESSION['user_mysql'], $_SESSION['passwd_mysql']);
- @mysql_select_db($_SESSION['base_mysql']) or die ("!! Impossible de sélectionner la BDD");
-
- //optimisation de la base
- $mail_ligne_1 = "<center>";
- $mail_ligne_2 = "<div class='texte_bleu_grand'>";
- $mail_ligne_3 = "Optimisation de la base de données ".$_SESSION['base_mysql'];
- $mail_ligne_4 = "<br>";
- $mail_ligne_5 = "Le ".date('d m Y')." à ".date('H')."h ".date('i')."mn</div>";
- $mail_ligne_6 = "<br><b>";
- $mail_ligne_7 = "<table border=1><tr><td BGCOLOR='#D6DDE7'><div align=center class='texte_bleu_moyen'>Table</div></td><td><div align=center style='background-color: #D6DDE7;' class='texte_bleu_moyen'>Taille</div></td><td><div align=center style='background-color: #D6DDE7;' class='texte_bleu_moyen'>Etat</div></td><td><div align=center style='background-color: #D6DDE7;' class='texte_bleu_moyen'>Gain</div></td></tr>";
- $mail_ligne_8 = "</b>";
-
- $db_clean = $_SESSION['base_mysql'];
- $tot_data = 0;
- $tot_idx = 0;
- $tot_all = 0;
- $poids_bdd = 0;
- $local_query = 'SHOW TABLE STATUS FROM '.$_SESSION['base_mysql'];
- $result = @mysql_query($local_query);
- if(@mysql_num_rows($result))
- {
- while($row = mysql_fetch_array($result))
- {
- $tot_data = $row['Data_length'];
- $tot_idx = $row['Index_length'];
- $total = $tot_data + $tot_idx;
- $total = $total / 1024;
- $gain= $row['Data_free'];
- $gain = $gain / 1024;
- $total_gain += $gain;
-
- $local_query = 'OPTIMIZE TABLE '.$row[0];
- $resultat = mysql_query($local_query);
-
- if($gain == 0)
- {
- $mail_ligne_9 = $mail_ligne_9."<tr><td><div class='texte_bleu_fin_italique'>".$row[0]."</div></td>"."<td><div class='texte_bleu_fin_italique'>".round($total , 2)." Ko"."</div></td>"."<td><div class='texte_bleu_italique'>Déjà optimisée</div></td><td><div class='texte_bleu_fin_italique'>0 Ko</div></td></tr> ";
- }
- else
- {
- $mail_ligne_9 = $mail_ligne_9."<tr><td><div class='texte_rouge_italique'>".$row[0]."</div></td>"."<td><div class='texte_rouge_italique'>".round($total , 2)." Ko"."</div></td>"."<td><div class='texte_rouge_italique'>"."Optimisée !"."</div></td><td><div class='texte_rouge_italique'>".round($gain , 2)." Ko</div></td></tr>";
- }
- $poids_bdd = $poids_bdd + $total;
- }
- }
-
- if($total_gain == 0)
- {
- $mail_ligne_10 = "</table>";
- $mail_ligne_11 = "<br><hr color=#141C56 width=50%><center><div class='texte_bleu_grand'><br>";
- $mail_ligne_12 = "Gain total : ".round($total_gain , 2)." Ko";
- $mail_ligne_13 = "</div>";
- $mail_ligne_14 = "<div class='texte_bleu_grand'>";
- $mail_ligne_15 = "Poids de la base de données : ".round($poids_bdd , 2)." Ko";
- $mail_ligne_16 = "</div>";
- }
- else
- {
- $mail_ligne_10 = "</table>";
- $mail_ligne_11 = "<br><hr color=#141C56 width=50%><center><div class='texte_bleu_grand'><br>";
- $mail_ligne_12 = "Gain total : <span class='texte_rouge_grand'>".round($total_gain , 2)." Ko</span>";
- $mail_ligne_13 = "</div>";
- $mail_ligne_14 = "<div class='texte_bleu_grand'>";
- $mail_ligne_15 = "Poids de la base de données après : ".round(($poids_bdd - $total_gain) , 2)." Ko";
- $mail_ligne_16 = "</div>";
- }
-
- // ****************
- // Envoi de l'amail
- // ****************
-
- // Destinataire
- $_SESSION['destinataire_mail_optimisation_des_tables'] = 'bal@mon_site.fr';
-
- // Sujet
- $_SESSION['objet_mail_optimisation_des_tables'] = 'Optimisation des tables de la base de données';
-
- // Message HTML
- $_SESSION['message_mail_optimisation_des_tables'] = '
- <html>
- <head>
- <title>Optimisation des tables de la base de données</title>
-
- <style type="text/css">
-
- .texte_bleu_normal
- {
- font-family: Arial, Helvetica, sans-serif;
- font-size: 12px;
- font-weight: bold;
- color: #141C56;
- }
-
- .texte_bleu_moyen
- {
- font-size: 15px;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: bold;
- color: #141C56;
- }
-
- .texte_bleu_grand
- {
- font-size: 18px;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: bold;
- color: #141C56;
- }
-
- .texte_bleu_fin_italique
- {
- font-family: Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight: normal;
- color: #141C56;
- font-style: italic;
- }
-
- .texte_bleu_italique
- {
- font-family: Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight: bold;
- color: #141C56;
- font-style: italic;
- }
-
- .texte_rouge_italique
- {
- font-family: Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight: bold;
- color: #FF0000;
- font-style: italic;
- }
-
- .texte_rouge_grand
- {
- font-size: 18px;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: bold;
- color: #FF0000;
- }
-
- </style>
-
- </head>
- <body>'
- .$mail_ligne_1
- .$mail_ligne_2
- .$mail_ligne_3
- .$mail_ligne_4
- .$mail_ligne_5
- .$mail_ligne_6
- .$mail_ligne_7
- .$mail_ligne_8
- .$mail_ligne_9
- .$mail_ligne_10
- .$mail_ligne_11
- .$mail_ligne_12
- .$mail_ligne_13
- .$mail_ligne_14
- .$mail_ligne_15
- .$mail_ligne_16.
- '</body>
- </html>
- ';
-
- // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
- $_SESSION['headers_mail_optimisation_des_tables'] = 'MIME-Version: 1.0' . "\r\n";
- $_SESSION['headers_mail_optimisation_des_tables'] .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
-
- // En-têtes additionnels
- $_SESSION['headers_mail_optimisation_des_tables'] .= 'To: ' . "\r\n";
- $_SESSION['headers_mail_optimisation_des_tables'] .= 'From: mon_site.fr <bal@mon_site.fr>' . "\r\n";
- $_SESSION['headers_mail_optimisation_des_tables'] .= 'Cc: ' . "\r\n";
- $_SESSION['headers_mail_optimisation_des_tables'] .= 'Bcc:' . "\r\n";
-
- // Envoi du mail
- mail($_SESSION['destinataire_mail_optimisation_des_tables'], $_SESSION['objet_mail_optimisation_des_tables'], $_SESSION['message_mail_optimisation_des_tables'], $_SESSION['headers_mail_optimisation_des_tables']);
-
- // ************************************************
- // Déconnection de la BDD et mise à 0 des variables
- // ************************************************
- mysql_close($_SESSION['connexion_bd']);
- $_SESSION['hote_mysql'] = '';
- $_SESSION['user_mysql'] = '';
- $_SESSION['passwd_mysql'] = '';
- $_SESSION['base_mysql'] = '';
-
- ?>
-
- </head>
-
- <body>
-
- </body>
-
- </html>
<?php
// ****************************
// Démarrage de la session PHP
// ****************************
session_start();
// ********************************
// Valeurs par défaut des variables
// ********************************
$mail_ligne_1 = '';
$mail_ligne_2 = '';
$mail_ligne_3 = '';
$mail_ligne_4 = '';
$mail_ligne_5 = '';
$mail_ligne_6 = '';
$mail_ligne_7 = '';
$mail_ligne_8 = '';
$mail_ligne_9 = '';
$mail_ligne_10 = '';
$mail_ligne_11 = '';
$mail_ligne_12 = '';
$mail_ligne_13 = '';
$mail_ligne_14 = '';
$mail_ligne_15 = '';
$mail_ligne_16 = '';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<?php
// ********************************
// Récupération des ID de connexion
// ********************************
$_SESSION['hote_mysql'] = '*****';
$_SESSION['user_mysql'] = '*****';
$_SESSION['passwd_mysql'] = '*****';
$_SESSION['base_mysql'] = '*****';
// Connexion à la BDD
mysql_connect($_SESSION['hote_mysql'], $_SESSION['user_mysql'], $_SESSION['passwd_mysql']);
@mysql_select_db($_SESSION['base_mysql']) or die ("!! Impossible de sélectionner la BDD");
//optimisation de la base
$mail_ligne_1 = "<center>";
$mail_ligne_2 = "<div class='texte_bleu_grand'>";
$mail_ligne_3 = "Optimisation de la base de données ".$_SESSION['base_mysql'];
$mail_ligne_4 = "<br>";
$mail_ligne_5 = "Le ".date('d m Y')." à ".date('H')."h ".date('i')."mn</div>";
$mail_ligne_6 = "<br><b>";
$mail_ligne_7 = "<table border=1><tr><td BGCOLOR='#D6DDE7'><div align=center class='texte_bleu_moyen'>Table</div></td><td><div align=center style='background-color: #D6DDE7;' class='texte_bleu_moyen'>Taille</div></td><td><div align=center style='background-color: #D6DDE7;' class='texte_bleu_moyen'>Etat</div></td><td><div align=center style='background-color: #D6DDE7;' class='texte_bleu_moyen'>Gain</div></td></tr>";
$mail_ligne_8 = "</b>";
$db_clean = $_SESSION['base_mysql'];
$tot_data = 0;
$tot_idx = 0;
$tot_all = 0;
$poids_bdd = 0;
$local_query = 'SHOW TABLE STATUS FROM '.$_SESSION['base_mysql'];
$result = @mysql_query($local_query);
if(@mysql_num_rows($result))
{
while($row = mysql_fetch_array($result))
{
$tot_data = $row['Data_length'];
$tot_idx = $row['Index_length'];
$total = $tot_data + $tot_idx;
$total = $total / 1024;
$gain= $row['Data_free'];
$gain = $gain / 1024;
$total_gain += $gain;
$local_query = 'OPTIMIZE TABLE '.$row[0];
$resultat = mysql_query($local_query);
if($gain == 0)
{
$mail_ligne_9 = $mail_ligne_9."<tr><td><div class='texte_bleu_fin_italique'>".$row[0]."</div></td>"."<td><div class='texte_bleu_fin_italique'>".round($total , 2)." Ko"."</div></td>"."<td><div class='texte_bleu_italique'>Déjà optimisée</div></td><td><div class='texte_bleu_fin_italique'>0 Ko</div></td></tr> ";
}
else
{
$mail_ligne_9 = $mail_ligne_9."<tr><td><div class='texte_rouge_italique'>".$row[0]."</div></td>"."<td><div class='texte_rouge_italique'>".round($total , 2)." Ko"."</div></td>"."<td><div class='texte_rouge_italique'>"."Optimisée !"."</div></td><td><div class='texte_rouge_italique'>".round($gain , 2)." Ko</div></td></tr>";
}
$poids_bdd = $poids_bdd + $total;
}
}
if($total_gain == 0)
{
$mail_ligne_10 = "</table>";
$mail_ligne_11 = "<br><hr color=#141C56 width=50%><center><div class='texte_bleu_grand'><br>";
$mail_ligne_12 = "Gain total : ".round($total_gain , 2)." Ko";
$mail_ligne_13 = "</div>";
$mail_ligne_14 = "<div class='texte_bleu_grand'>";
$mail_ligne_15 = "Poids de la base de données : ".round($poids_bdd , 2)." Ko";
$mail_ligne_16 = "</div>";
}
else
{
$mail_ligne_10 = "</table>";
$mail_ligne_11 = "<br><hr color=#141C56 width=50%><center><div class='texte_bleu_grand'><br>";
$mail_ligne_12 = "Gain total : <span class='texte_rouge_grand'>".round($total_gain , 2)." Ko</span>";
$mail_ligne_13 = "</div>";
$mail_ligne_14 = "<div class='texte_bleu_grand'>";
$mail_ligne_15 = "Poids de la base de données après : ".round(($poids_bdd - $total_gain) , 2)." Ko";
$mail_ligne_16 = "</div>";
}
// ****************
// Envoi de l'amail
// ****************
// Destinataire
$_SESSION['destinataire_mail_optimisation_des_tables'] = 'bal@mon_site.fr';
// Sujet
$_SESSION['objet_mail_optimisation_des_tables'] = 'Optimisation des tables de la base de données';
// Message HTML
$_SESSION['message_mail_optimisation_des_tables'] = '
<html>
<head>
<title>Optimisation des tables de la base de données</title>
<style type="text/css">
.texte_bleu_normal
{
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #141C56;
}
.texte_bleu_moyen
{
font-size: 15px;
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
color: #141C56;
}
.texte_bleu_grand
{
font-size: 18px;
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
color: #141C56;
}
.texte_bleu_fin_italique
{
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
font-weight: normal;
color: #141C56;
font-style: italic;
}
.texte_bleu_italique
{
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
font-weight: bold;
color: #141C56;
font-style: italic;
}
.texte_rouge_italique
{
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
font-weight: bold;
color: #FF0000;
font-style: italic;
}
.texte_rouge_grand
{
font-size: 18px;
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
color: #FF0000;
}
</style>
</head>
<body>'
.$mail_ligne_1
.$mail_ligne_2
.$mail_ligne_3
.$mail_ligne_4
.$mail_ligne_5
.$mail_ligne_6
.$mail_ligne_7
.$mail_ligne_8
.$mail_ligne_9
.$mail_ligne_10
.$mail_ligne_11
.$mail_ligne_12
.$mail_ligne_13
.$mail_ligne_14
.$mail_ligne_15
.$mail_ligne_16.
'</body>
</html>
';
// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
$_SESSION['headers_mail_optimisation_des_tables'] = 'MIME-Version: 1.0' . "\r\n";
$_SESSION['headers_mail_optimisation_des_tables'] .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// En-têtes additionnels
$_SESSION['headers_mail_optimisation_des_tables'] .= 'To: ' . "\r\n";
$_SESSION['headers_mail_optimisation_des_tables'] .= 'From: mon_site.fr <bal@mon_site.fr>' . "\r\n";
$_SESSION['headers_mail_optimisation_des_tables'] .= 'Cc: ' . "\r\n";
$_SESSION['headers_mail_optimisation_des_tables'] .= 'Bcc:' . "\r\n";
// Envoi du mail
mail($_SESSION['destinataire_mail_optimisation_des_tables'], $_SESSION['objet_mail_optimisation_des_tables'], $_SESSION['message_mail_optimisation_des_tables'], $_SESSION['headers_mail_optimisation_des_tables']);
// ************************************************
// Déconnection de la BDD et mise à 0 des variables
// ************************************************
mysql_close($_SESSION['connexion_bd']);
$_SESSION['hote_mysql'] = '';
$_SESSION['user_mysql'] = '';
$_SESSION['passwd_mysql'] = '';
$_SESSION['base_mysql'] = '';
?>
</head>
<body>
</body>
</html>
Conclusion
Bon, je le répète, je sais pas si ça sera utilie pour vous mais c'est très pratique pour faire une optimisation et en plus recevoir un mail comme rapport.
Historique
- 09 novembre 2006 16:46:40 :
- Ajout de trucs
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
multi recherche mysql ??? [ par stephane ]
saluttout simplement je voudrai savoir comment effectuer une requete my sql dans toutes les tables (je pense que c'est faisable mais je ne sais pas co
MySQL [ par intello2001 ]
j'ai fait une base MySQL toute neuve, toute VIDE !!je voudrai avoir des exemple de création de table et tt sa...je c juste sa :$host="sql.free.fr";$ba
BDD mysql --> Access [ par YarbY ]
SalutJ'ai un site qui tourne avec une base de donées mysql, et je voudrais récupérer les données dans Access, en gardant ma base sur le serveur. Je ve
Organiser ses tables mysql ? [ par dadybond ]
Bonjour, en fait je suis entrain de programmer une messagerie interne pour mon site mais je cherche à qu'il y est le moins possible de requete vers my
Interroger 2 tables d'une meme base (php+mysql) [ par alex1025 ]
Bonjour,Je vous expliqueje veux ajouter un système d'annonce qui est reservé aux membressauf que j'ai 2 types de membres rangées dans 2 tables différe
Convertir Access en MySQL - Help ! [ par iubito ]
Slt!G une base Access et pour m'entraîner sur MySQL je veux foutre le contenu de mes tables dans MySQL.J'arrive à créer des tables, entrer des données
Mettre un log et psw sur bdd mysql ??? [ par nova85 ]
Comment met ton un login et un mot de passe sur une base mysql avec phpmyadmin ?nova
Php & MySql ??? [ par nova85 ]
Je voudrai savoir si il est possible de realiser un site assez important juste avec une BDD mysql , si c'est capable de resister , et surtout savoir s
Sélectionner les lignes différentes entre deux tables [ par Mikemadest ]
Bonjour,J'ai cherché sans trouver de réponse à mon problème,ce qui m'amène à vous poser cette question !D'avance je m'excuse si j'ai raté la solution
liste deroulante bdd mysql [ par lagombe ]
Voilà je tente désespérement de monter sur un formulaire deux listes déroulantes, la première apparaît toute seule (contenu d'une bdd, ça ça marche...
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|