begin process at 2012 05 31 01:31:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Problème avec page de mise à jour de tous les membres mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec page de mise à jour de tous les membres mysql

vendredi 13 juin 2008 à 19:51:16 | Problème avec page de mise à jour de tous les membres mysql

astuces_jeux

Bonjour,
J'ai fais une page qui sera lancée automatiquement tout les soirs à minuit :
<?php
if (isset($_POST['mise_a_jour']))
{


/*En gros, le vrai code de la MAJ commence ici.
Avant, ce n'était que pour déclencher la MAJ.
Mais comme je suppose que tu feras ça de manière automatique...
______________________________________________________
Début de la MAJ des métiers
______________________________________________________
*/
$connect = mysql_connect("localhost","cdd_dinolife","*******");

/* selection de la base de donnée mysql */
mysql_select_db("cdd_dinolife", $connect);

$retour_metiers = mysql_query("SELECT pf_rubis FROM phpbb_profile_fields_data");
$retour_metiers = mysql_query("SELECT pf_metier FROM phpbb_profile_fields_data");
$retour_metiers = mysql_query("SELECT user_id FROM phpbb_users");
while ($donnees_metiers = mysql_fetch_array($retour_metiers))
{
$metiers = $donnees_metiers['pf_metier'];
$rubis_initiales = $donnees_metiers['pf_rubis'];
$id = $donnees_metiers['user_id'];
/*Attention, dans les métiers, je ne sais pas comment tu les as écrit...
Ç'aurait été plus simple avec des nombres, comme 1 = star, 2 = mécanicien, et pas mécanitien... ^^
Donc, à toi de voir.
Honnêtement, je priviliègerai les nombres, à la place des noms.
*/
switch ($metiers) {

case '2':
$rubis_a_ajouter = 2;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='2'";
break;

case '3':
$rubis_a_ajouter = 460;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='3'";
break;

case '4':
$rubis_a_ajouter = 150;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='4'";
break;

case '5':
$rubis_a_ajouter = 50;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='5'";
break;

case '6':
$rubis_a_ajouter = 350;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='6'";
break;

case '7':
$rubis_a_ajouter = 75;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='7'";
break;

case '8':
$rubis_a_ajouter = 100;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='8'";
break;

case '9':
$rubis_a_ajouter = 68;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='9'";
break;

case '10':
$rubis_a_ajouter = 12;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='10'";
break;

case '11':
$rubis_a_ajouter = 22;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='11'";
break;

case '12':
$rubis_a_ajouter = 100;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='12'";
break;

case '13':
$rubis_a_ajouter = 70;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='13'";
break;

case '14':
$rubis_a_ajouter = 85;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='14'";
break;

case '15':
$rubis_a_ajouter = 52;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='15'";
break;

case '16':
$rubis_a_ajouter = 12;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='16'";
break;

case '17':
$rubis_a_ajouter = 56;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='17'";
break;

case '18':
$rubis_a_ajouter = 50;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='18'";
break;

case '19':
$rubis_a_ajouter = 150;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='19'";
break;

case '20':
$rubis_a_ajouter = 50;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='20'";
break;

case '21':
$rubis_a_ajouter = 40;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='21'";
break;

case '22':
$rubis_a_ajouter = 31;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='22'";
break;

case '23':
$rubis_a_ajouter = 200;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='23'";
break;

case '24':
$rubis_a_ajouter = 2000;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='24'";
break;

case '25':
$rubis_a_ajouter = 4000;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='25'";
break;

case '26':
$rubis_a_ajouter = 7000;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='26'";
break;

case '27':
$rubis_a_ajouter = 500;
$rubis_totales = $rubis_a_ajouter+$rubis_initiales;
$requete_ajout_emeraudes = "UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='27'";
break;
}
mysql_query($requete_ajout_emeraudes);
echo $donnees_metiers['user_id'] . '==> fait<br>';
/*
______________________________________________________
Fin de la MAJ des métiers
______________________________________________________
*/
}
mysql_close();
}
else
{
?>
<form method="post" action="maj_metiers.php">
<input type="hidden" name="mise_a_jour" value="ok_pour_la_mise_a_jour" />
<input type="submit" value="Envoyer la MAJ des métiers" />
</form>
<?php
}
?>

Mais j'ai un problème, il met "id => fait"
Mais le champ "pf_rubis" ne chnage pas dans MySQL.
Avez-vous une idée ?


--------------------------------------
Cordialement,   CDD
[ Lien ]

vendredi 13 juin 2008 à 23:10:45 | Re : Problème avec page de mise à jour de tous les membres mysql

JoJo738

Membre Club
Hello,

Hum ... je comprend pas trop ton code :s

$retour_metiers = mysql_query("SELECT pf_rubis FROM phpbb_profile_fields_data");
$retour_metiers = mysql_query("SELECT pf_metier FROM phpbb_profile_fields_data");
$retour_metiers = mysql_query("SELECT user_id FROM phpbb_users");

??? Petit problème là ... les deux autres sont écrasées !

Pas trop compris non plus le fonctionnement de l'atribution des rubis :s

Tu fais quoi ? une M.A.J. pour rajouté des points par métier ? ou par user ?

UPDATE phpbb_profile_fields_data SET pf_rubis='$rubis_totales' WHERE pf_metier='27'

La tu fais une M.A.J.de tous les users ayants le métier 27 ...

En plus, ton switch est énorme !!!

Regarde le mien ;)

while ( $row_pf = mysql_fetch_assoc($query_pf) )
{
    $rubis_add = 0;

    switch ($metiers)
    {
        case 2 :
            $rubis_add = 2;
            break;
        case 3 :
            $rubis_add = 460;
            break;
        case 4 :
            $rubis_add = 150;
            break;
               
            /*
             * ...
             */

    }
    if( $rubis_add <> 0 )
    {
        $sql = mysql_query('UPDATE phpbb_profile_fields_data SET pf_rubis += ' . $rubis_add . ' WHERE pf_metier = ' . $metier) or die(mysql_error());
    }
}
Par contre, si j'étais toi, je mettrais dans ma base de donnée, une table avec mes métiers (qui corespond aux 1, 2, 3, 4, ...) et j'ajouterais un champ 'add_rubis_days' et avec une seule requete, le tour serait joué.

UPDATE ma_table as t1, ma_table_metiers as t2 SET t1.pf_rubis += t2.add_rubis_days WHERE t2.metier_id = t1.pf_metier

^_____^

Si ma reponse te convient, merci de l'accepter ! 
vendredi 13 juin 2008 à 23:12:47 | Re : Problème avec page de mise à jour de tous les membres mysql

JoJo738

Membre Club
Petite erreur dans mon code ^^

while ( $row_pf = mysql_fetch_assoc($query_pf) )
{
    $rubis_add = 0;

    switch ($metiers)
    {

Je n'ai pas spécifié d'ou vennait $metier :p Ce serait switch($row_pf['pf_metier']) ici ^^


Si ma reponse te convient, merci de l'accepter ! 


Cette discussion est classée dans : ajouter, pf, phpbb, rubis, totales


Répondre à ce message

Sujets en rapport avec ce message

Section Membres PHPBB !! ;) [ par pi0up51 ] Slut !! ;)J'sui debutant en php et je voudrai savoir une chose ou plutot si qqn pourrait m'aider !!Je dispose du forum phpBB et je voudrai utiliser la Impossible d'ajouter ou modifier une source [ par Houzefa ] Ben voilà chaque fois que j'veux ajouter ou modifier une source ya une erreur du coté du serveur...Houzéf@ - www.123toto.com Ajouter dans une bd [ par TheLenain ] Bonjour,Je voudrais mettre le contenu d'un fichier dans une base de données en respectant les colonnes.J'ai un fichier de ce type : Diusse Tn Tx Tm Un Ajouter la troncature dans un moteur de recherche [ par baboun ] Bonjour, je viens crier au secours.Je tente d'insérer un système de troncature dans mon moteur de recherche php sur base de donnée MySQL.(Sans vouloir Posté un formulaire sur phpbb 2.0.6 [ par stradfred ] -Je fais appel à vous pour la confection d'un mod qui me permettrait de remplir un formulaire et de le générer dans un tableau via le thème de mon fo PHPNUKE ET PHPBB en francais sous free.fr [ par zeus75 ] J'ai travaillé la dessus !C'est fonctionnelC'est ici:http://phpbuild.free.frjuju Pseudos frames, ajouter des extensions [ par Trigun222 ] Salut à tous :)et bonne année très en retard loulj'aimerais bien savoir ce qu'il faut rajouter à ce code php pour qu'il n'inclus pas que les fichiers mise en forme phpbb [ par mozrat ] Bonjour,je cherche à insérer phpbb dans mon site :je m'explique, j'aimerais avoir la page du forum sous la forme :inclu Construire un forum rival de phpBB [ par LiBe444 ] Rendez-vous sur l'adresse http://membres.lycos.fr/libe4442003 puis donnez moi des idées, des conseils, tout ce qu'il vous passe par la tête...Merci d' ajouter des jours à une date? [ par cedd ] Bonjour!Petit problème: je récupère une chaine de caractères qui est une date, de la forme 23/03/2004(enfin, je peux la mettre autrement si besoin es


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,382 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales