Faire un update avec des conditions

Toutes les questions et les aides qui concernent le langage PHP
kaelkaelkael
Tutomaker Apprenti
Tutomaker Apprenti
 
Messages: 59
Enregistré le: Ven Juil 18, 2008 9:26 pm

Faire un update avec des conditions

Messagepar kaelkaelkael le Mer Juin 24, 2009 7:32 pm

Bonjour,

je voudrais faire un update mais avec plusieurs conditions:

Code: Tout sélectionner
sql::exec("UPDATE `membres` SET `ref`='0' WHERE `validefilleuls`>='".date('U')."' AND `validefilleuls` != '0'"); 


Donc la, ref va revenir a 0 quand la date dans validefilleuls sera dépassée et si la donnée est superieure a 0

Est-ce correcte? mon code est-il bon?

Est ce que ca ne risque pas de mettre ref a 0 lorsque validefilleuls est a 0 par défaut?

Merci d'avance

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: Faire un update avec des conditions

Messagepar Yoyo le Jeu Juin 25, 2009 6:02 pm

Oui c'est correct. :) Le mieux est de toujours faire des tests sur une table de développement pour en être sur !
Vive les tutomakers ;)

kaelkaelkael
Tutomaker Apprenti
Tutomaker Apprenti
 
Messages: 59
Enregistré le: Ven Juil 18, 2008 9:26 pm

Re: Faire un update avec des conditions

Messagepar kaelkaelkael le Jeu Juin 25, 2009 6:22 pm

Merci yoyo,

comme tu peux voir je m'amélioere :P

mais loin d'etre au top.

J'ai cependant d'autres questions.

Ou la je planche vraiment.

J'ai fait tout un code qui ne fonctionne pas.

en fait, si validefilleuls = 0 dans la bdd, je voudrais que ca affiche "infini" et si c'est superieur ou meme simplement différent de 0 je voudrais que ca affiche une date.

Dans la base de donnée, la date est entré avec la fonction date(U), donc au final dans la BDD il y a écrit 1234435238 par exemple.

voici le code que j'ai créé:

Code: Tout sélectionner
if ($res->validefilleuls == "0" )

$validefifi infini ;


else
{
$validefifi date('d-m-Y H:i',$res->validefilleuls) ;
}

$template->assign_vars(array(
                         

                         
'validefilleuls'  =>  $validefifi
                          
                          
));
 




mais ca ne se passe du tout comme je pensais que ca allé se passer.
Le résultat qui s'affiche est en faite une date sous la forme 01/04/1970 13H27. Ca prend en compte le 0.

Merci de bien vouloir m'aider.

Avatar de l’utilisateur
Yoyo
Gérant
Gérant
 
Messages: 2031
Enregistré le: Mer Sep 27, 2006 4:54 pm

Re: Faire un update avec des conditions

Messagepar Yoyo le Ven Juin 26, 2009 5:33 am

Salut,

Alors, t'as oublié les côtes je crois

$validefifi = 'infini';

Et sinon j'ai pas trop compris ton histoire avec ce qui marche pas :)
Vive les tutomakers ;)

kaelkaelkael
Tutomaker Apprenti
Tutomaker Apprenti
 
Messages: 59
Enregistré le: Ven Juil 18, 2008 9:26 pm

Re: Faire un update avec des conditions

Messagepar kaelkaelkael le Lun Juin 29, 2009 9:31 pm

en fait j'ai du faire un code complétement différent. Ce que j'ai fonctionne bien, ca affiche ce que je veux mais les affichages son limités a 1. Il y a 3 filleuls a afficher, seulement le dernier apparait, enfin le dernier inscrit.
Voici le code que j'ai écrit:

Code: Tout sélectionner
if($usr=mysql_fetch_object(sql::exec('SELECT * FROM `membres` WHERE `ref`="'.$utilisateur->id.'" AND `activated`="1"  ORDER BY `inscription` DESC '))){
$quel=1;    

$filleuls $usr->validefilleuls;
if(
$filleuls == 0){
if(
$quel==1){$template->assign_block_vars('filleuls',array());}

    
$template->assign_block_vars('filleuls.ref', array(
                          
'registerDate'     =>        date('d-m-Y H:i',$usr->inscription),
                          
'email'         =>        $usr->email,
                          
'id'         =>        $usr->id,
                          
'prenom'         =>        $usr->prenom,
                          
'nom'         =>        stripslashes(substr($usr->nom,0,1)),
                          
'valide'      =>    "infini",
                          ));
                          
$quel++;
}
else{ 
if(
$quel==1){$template->assign_block_vars('filleuls',array());}   

$template->assign_block_vars('filleuls.ref', array(
                          
'registerDate'     =>        date('d-m-Y H:i',$usr->inscription),
                          
'email'         =>        $usr->email,
                          
'id'         =>        $usr->id,
                          
'prenom'         =>        $usr->prenom,
                          
'nom'         =>        stripslashes(substr($usr->nom,0,1)),
                          
'valide'      =>    date('d-m-Y H:i',$filleuls),
                          ));
                          
$quel++;

}
}
 


Comment puis-je limiter au nombre de filleuls et non pas a juste une ligne?



Retourner vers Langage PHP

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invités