Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
22 Mar 2010, 13:42
Message
#1
|
|
|
Ceinture orange+ OSC Groupe : Membres Messages : 475 Inscrit : 16-May 02 Lieu : Oise Normande pays de bray Membre no 183 |
Bonjour a tous,
Je me suis fait un petit script php pour vider certaines de mes tables de temps à autre (genre "holding_orders"), en glanant à droite à gauche des infos sur le net. Bon je suis pas très doué mais j'ai réussi à faire un truc qui va bien... Code <?php // VARIABLES DE CONNEXION $host = 'xxxx'; // Nom du serveur $user = 'xxxxx'; // identifant $mdp = 'xxxx'; // mot de passe $base = 'xxxx'; // Nom de base $table_a_vider = 'holding_orders'; // Nom de la table à vider // ON SE CONNECTE ET ON SELECTIONNE LA BASE mysql_connect($host, $user, $mdp) or die("Impossible de se connecter au serveur ".$host); mysql_select_db($base) or die("Impossible de connecter à la base ".$base); function vider_table($table_a_vider){ $sql = "TRUNCATE TABLE ".$table_a_vider; mysql_query($sql); if(mysql_query($sql)) // SUCCES echo "La table ".$table_a_vider." a été vidée !"; else // ECHEC echo "La table ".$table_a_vider." n'a pas été vidée de son contenu."; } // ON VIDE $table_a_vider vider_table($table_a_vider); ?> Seulement j'aimerai vider plusieurs tables en même temps et la je coinse... Voila ce que j'ai fait: Code <?php // VARIABLES DE CONNEXION $host = 'xxxx'; // Nom du serveur $user = 'xxxxx'; // identifant $mdp = 'xxxx'; // mot de passe $base = 'xxxx'; // Nom de base $table_a_vider_1 = 'holding_orders'; // Nom de la table 1 à vider $table_a_vider_2 = 'holding_orders_products'; // Nom de la table 2 à vider // ON SE CONNECTE ET ON SELECTIONNE LA BASE mysql_connect($host, $user, $mdp) or die("Impossible de se connecter au serveur ".$host); mysql_select_db($base) or die("Impossible de connecter à la base ".$base); function vider_table_1($table_a_vider_1){ $sql = "TRUNCATE TABLE ".$table_a_vider_1; mysql_query($sql); function vider_table_2($table_a_vider_2){ $sql = "TRUNCATE TABLE ".$table_a_vider_2; mysql_query($sql); if(mysql_query($sql)) // SUCCES echo "La table ".$table_a_vider_1." a été vidée !"; echo "La table ".$table_a_vider_2." a été vidée !"; else // ECHEC echo "La table ".$table_a_vider_1." n'a pas été vidée de son contenu."; echo "La table ".$table_a_vider_2." n'a pas été vidée de son contenu."; } // ON VIDE $table_a_vider vider_table_1($table_a_vider_1); vider_table_2($table_a_vider_2); ?> Mais j'ai des erreurs de syntax notament : Parse error: syntax error, unexpected T_ELSE in /xxx/xxx/www/catalog/xxx/truncate_essai.php on line 28 Je n'ai pas assez d'expérience pour corriger l'erreur.... mrci à tous Alain Ce message a été modifié par AL1 - 22 Mar 2010, 14:23. -------------------- Oscommerce : 2.2 MS2 | AdminMS2fr V2.3 | BoxImageThemaMS2fr V2.7 | Definemainpage v1.3.3 | MenubarV1 | WYSIWYG HTMLArea v1.7 FR | Sendorderhtmlemail v54 | Header Tags Controller v2.3.2 | Ultimate SEO URLs 2.2.2 | xsell_1_2_1 | PayPal_IPN-v2.3.3 | visibles country v1.1b | popup_image by grunt | step_by_step_orders_v1.7 | fckeditor-oscommerce_V2 | featured_products | Discount Coupon Codes 3.3. | Account Balance (gift certificate redemption) | N° facture séquentiel par Blanche Neige.
Projet en cours de finition : Oscommerce : 2.3.3 FR | Ultimate_Seo_Urls_5_PRO_r205 | X_Sell_For_2.3.1_v3.0 | ipuv205A_for_osc231 | Instructions utf8 latin1 (Règle une bonne fois pour toute les problème d'accent) | AJAX attribute manager for 2.3.1 v2 mise à jour v2.8.10 | Category Description for OSCommerce 2.3.1 v1.08 | Product Attributes Sort Order v1.83a | Easy Populate v2.8-231 for osCommerce v2.3.1 | Quick_updates v2.9.2 | Theme Switcher v1.4.2 (retiré) | Fancier Invoice & Packing Slip for OSC 2.3.1 + Adaptation - Numéro de facture séquenciel par Blanche Neige | Dynamic Template System v2 | Order editor for2.3 v1.3 | Product Tabs V1.1 | KissIT - image Thumbnailer v1.0.0 | Option Types v2.3.1 |
|
|
22 Mar 2010, 16:11
Message
#2
|
|
![]() Ceinture bleue OSC Groupe : Membres Messages : 983 Inscrit : 8-April 08 Lieu : strasbourg Membre no 21429 |
Salut,
J'ai pas testé mais je dirais que ça fonctionneras mieux comme ça: Code <?php // VARIABLES DE CONNEXION $host = 'xxxx'; // Nom du serveur $user = 'xxxxx'; // identifant $mdp = 'xxxx'; // mot de passe $base = 'xxxx'; // Nom de base $table_a_vider_1 = 'holding_orders'; // Nom de la table 1 à vider $table_a_vider_2 = 'holding_orders_products'; // Nom de la table 2 à vider // ON SE CONNECTE ET ON SELECTIONNE LA BASE mysql_connect($host, $user, $mdp) or die("Impossible de se connecter au serveur ".$host); mysql_select_db($base) or die("Impossible de connecter à la base ".$base); function vider_table_1($table_a_vider_1){ $sql = "TRUNCATE TABLE ".$table_a_vider_1; $result = mysql_query($sql); if(!$result){ // ECHEC echo "La table ".$table_a_vider_1." n'a pas été vidée de son contenu."; }else{ // SUCCES echo "La table ".$table_a_vider_1." a été vidée !"; } } function vider_table_2($table_a_vider_2){ $sql = "TRUNCATE TABLE ".$table_a_vider_2; $result = mysql_query($sql); if(!$result){ // ECHEC echo "La table ".$table_a_vider_2." n'a pas été vidée de son contenu."; }else{ // SUCCES echo "La table ".$table_a_vider_2." a été vidée !"; } } // ON VIDE $table_a_vider vider_table_1($table_a_vider_1); vider_table_2($table_a_vider_2); ?> @++ Edit: tu peux me dire pourquoi tu utilise des fonction pour faire ça? parce que je crois que le but des fonction est de pouvoir les réutiliser au cas par cas mais là tu indique tout de suite quelle table tu veux vider alors je dirais qu'il n'est pas nécessaires de faire des fonctions ! mais simplement: Code <?php // VARIABLES DE CONNEXION $host = 'xxxx'; // Nom du serveur $user = 'xxxxx'; // identifant $mdp = 'xxxx'; // mot de passe $base = 'xxxx'; // Nom de base $table_a_vider_1 = 'holding_orders'; // Nom de la table 1 à vider $table_a_vider_2 = 'holding_orders_products'; // Nom de la table 2 à vider // ON SE CONNECTE ET ON SELECTIONNE LA BASE mysql_connect($host, $user, $mdp) or die("Impossible de se connecter au serveur ".$host); mysql_select_db($base) or die("Impossible de connecter à la base ".$base); // ON VIDE LA TABLE holding_orders $sql_1 = "TRUNCATE TABLE ".$table_a_vider_1; $result_1 = mysql_query($sql_1); if(!$result_1){ // ECHEC echo "La table ".$table_a_vider_1." n'a pas été vidée de son contenu."; }else{ // SUCCES echo "La table ".$table_a_vider_1." a été vidée !"; } // ON VIDE LA TABLE holding_orders_products $sql_2 = "TRUNCATE TABLE ".$table_a_vider_2; $result_2 = mysql_query($sql_2); if(!$result_2){ // ECHEC echo "La table ".$table_a_vider_2." n'a pas été vidée de son contenu."; }else{ // SUCCES echo "La table ".$table_a_vider_2." a été vidée !"; } ?> il suffit d'appeler le fichier pour exécuter la requête, enfin je ne sais pas trop ce que tu souhaitait faire avec tes fonctions c'est juste une remarque:) @++ Ce message a été modifié par audioshop - 22 Mar 2010, 16:22. |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 19th June 2013 - 12:00 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |