[Linux-bruxelles] PHP4 - Passage d'une variable statique hors de sa fonction

Alexandre Snaps greenhorn at encyclobd.com
Mer 21 Aou 18:09:55 CEST 2002


On Wed, 2002-08-21 at 18:02, phbobo wrote:
> On Wed, Aug 21, 2002 at 05:51:06PM +0200, Alexandre Snaps wrote:
>  
> > Et ca:
> > 
> > function traitement() {
> > 	 $set = "";
> > 	 $argc = 0;
> > 	 while( list( $key, $val ) = each ( $_POST ) ) {
> > 		  if( $argc != 0 )
> > 				$set .= ", ";
> > 		  if( $key != "SID" ) {
> > 			  $set .= "$key = '$val'";
> > 			  ++$argc;
> > 		  }
> > 	 }
> > 
> > 	 return $set;
> > }
> > 
> > 
> > Ca fait ce que tu veux?
> > Alex
> 
> Merci, je vais essayer. De plus, tu m'apprends une manière que faire que
> j'imaginais mais que je ne trouvais pas en doc (while...).
> 
> -- 
> Cordialement,
> Philippe.
>  
>  
> ___________________________________________________________________
>  
> GPG Fingerprint : BFB8 D253 DC89 D1D7 6826 2ED7 62AA 99AE 1B15 39C3
> Emails :          <phbobofr at yahoo.fr>
>                   <phbobo at hotmail.com>
> Clé publique disponible sur  << pgp.mit.edu >>              

Je me permets encore une petite remarque:

function traitement() {
         $set = "";
         $argc = 0;
         while( list( $key, $val ) = each ( $_POST ) ) {
                  if( $key != "SID" ) {
                          if( $argc++ != 0 )
                                $set .= ", ";
			  if( strlen( $val ) > 0 )
	                          $set .= "$key = '$val'";
			  else
	                          $set .= "$key = NULL";
                  }
         }

         return $set;
}

Ainsi tu suis la recommendation SQL qui dis qu'une valeur manquante se
doit d'etre NULL et non pas un string vide ("\0")... Ainsi si la donnee
ne peut pas etre omise, la backend n'updatera pas, de nouveau on suis la
recommendation SQL: Ne pas faire confiance au client pour les tests,
mais les faire le plus possible au niveau de la DB (ou quelque chose du
style ;) 
Voila,
Alex
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 189 octets
Desc: This is a digitally signed message part
URL: </pipermail/linux-bruxelles/attachments/20020821/b9b8503d/attachment-0001.sig>


Plus d'informations sur la liste de diffusion Linux-bruxelles