|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
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 du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
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...
|
Téléchargements
Logiciels à télécharger sur le même thème :
|