Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2508 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Amélioration de script (each() ?)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Amélioration de script (each() ?)

n°479464
The_chosen​_one
There can only be one !
Posté le 07-08-2003 à 02:55:00  profilanswer
 

Voila, c'est encore moi, alors cette fois, j'ai ça comme script :
 

 # UPDATING *ALL* THE TABLES
  $sql_query = "UPDATE `quotes` SET `author` = '".$login_new."' WHERE `author` = '".$login."'";
  $sql_res = mysql_query($sql_query);
  $sql_query = "UPDATE `quotes_users` SET `login` = '".$login_new."' WHERE `login` = '".$login."'";
  $sql_res = mysql_query($sql_query);
  $sql_query = "UPDATE `quotes_lastvisit` SET `login` = '".$login_new."' WHERE `login` = '".$login."'";
  $sql_res = mysql_query($sql_query);


 
et j'aimerai pour que ça soit plus propre utiliser une sorte de boucle a laquelle je fournirai qu'un tableau associant table/clef a changer.
J'ai cru comprendre qu'il fallai utiliser each(), mais je ne vois pas comment ...


Message édité par The_chosen_one le 07-08-2003 à 16:22:25
mood
Publicité
Posté le 07-08-2003 à 02:55:00  profilanswer
 

n°479958
Mr yvele
yvele n'est plus.
Posté le 07-08-2003 à 14:55:49  profilanswer
 

 # UPDATING *ALL* THE TABLES
  $sql_query = "UPDATE `quotes` SET `author` = '$login_new' WHERE `author` = '$login'";
  $mysql_query = mysql_query($sql_query);
  $sql_query = "UPDATE `quotes_users` SET `login` = '$login_new' WHERE `login` = '$login'";
  $mysql_query = mysql_query($sql_query);
  $sql_query = "UPDATE `quotes_lastvisit` SET `login` = '$login_new' WHERE `login` = '$login'";
  $mysql_query = mysql_query($sql_query);


 
déjà ça.. [:sinclaire]


---------------
yvele n'est plus.
n°480107
The_chosen​_one
There can only be one !
Posté le 07-08-2003 à 16:21:56  profilanswer
 

OUPS ! on voit kil etait 3h du mat !

n°480108
The_chosen​_one
There can only be one !
Posté le 07-08-2003 à 16:22:53  profilanswer
 

heu ... c'etait ça le pb?
sinon, c'est quoi ?

n°480117
Mr yvele
yvele n'est plus.
Posté le 07-08-2003 à 16:26:00  profilanswer
 

reset ($TonTableau);
while (list($key,$val) = each $TonTableau))
{
   echo "$key => $val<br />";
}


 
utilisé comme ceci, c'est tres pratique pour parcourir un tableau..  :)  
 
edit: va voir par > ici < pour plus de details


Message édité par Mr yvele le 07-08-2003 à 16:26:41

---------------
yvele n'est plus.
n°480121
The_chosen​_one
There can only be one !
Posté le 07-08-2003 à 16:30:39  profilanswer
 

donc ca me donnera un truc comme ca :


reset($list_tables);
while (list($table, $value) = each($list_tables)) {
    $sql_query = "UPDATE `".$table."` SET `".$value."` = '".$login_new."' WHERE `".$value."` = '".$login."'";  
    $sql_res = mysql_query($sql_query);  
}


 
merci :)
sinon, c'était quoi le pb ?


Message édité par The_chosen_one le 07-08-2003 à 16:31:21
n°480128
Mr yvele
yvele n'est plus.
Posté le 07-08-2003 à 16:33:55  profilanswer
 

The_chosen_one a écrit :

sinon, c'était quoi le pb ?


 
pourquoi tu fais des truc comme ça? :

$char = "blabla ".$var." blabla";


 
je vois pas l'interet, soit tu fais ça :

$char = 'blabla '.$var.' blabla';


 
soit ça :

$char = "blabla $var blabla";


 
c'est plus simple et plus pratique non?  :)


Message édité par Mr yvele le 07-08-2003 à 16:34:36

---------------
yvele n'est plus.
n°480133
The_chosen​_one
There can only be one !
Posté le 07-08-2003 à 16:37:14  profilanswer
 

Mr yvele a écrit :


 
pourquoi tu fais des truc comme ça? :

$char = "blabla ".$var." blabla";


 
je vois pas l'interet, soit tu fais ça :

$char = 'blabla '.$var.' blabla';


 
soit ça :

$char = "blabla $var blabla";


 
c'est plus simple et plus pratique non?  :)


 
je vois pas la diference entre les 2 premiers, par contre par rapport au n°3 : je trouve que la concatenation est plus propre avec le '.' De plus ça permet de retrouver les variables plus facilement.

n°480141
Mr yvele
yvele n'est plus.
Posté le 07-08-2003 à 16:41:29  profilanswer
 

The_chosen_one a écrit :


 
je vois pas la diference entre les 2 premiers, par contre par rapport au n°3 : je trouve que la concatenation est plus propre avec le '.' De plus ça permet de retrouver les variables plus facilement.


 
Pour faire vite :
les chaines entre double quotes sont analysée, afin de rechercher d'eventuelles variables.. alors que les chaines entre simple quotes ne sont pas analysés..
 
donc ' ' est plus rapide à executer que " "
mais bon, la on chipote  :D  
 
 
(PS: moi je prefere largement la 2eme proposition avec les "blabla $var blabla".. mais bon [:sinclaire] )


---------------
yvele n'est plus.
n°480156
The_chosen​_one
There can only be one !
Posté le 07-08-2003 à 16:48:18  profilanswer
 

Mr yvele a écrit :


 
Pour faire vite :
les chaines entre double quotes sont analysée, afin de rechercher d'eventuelles variables.. alors que les chaines entre simple quotes ne sont pas analysés..
 
donc ' ' est plus rapide à executer que " "
mais bon, la on chipote  :D  
 
 
(PS: moi je prefere largement la 2eme proposition avec les "blabla $var blabla".. mais bon [:sinclaire] )


 
mais dans ce cas la mon editeur ne colorie pas la variable et je trouve pas ca propre :D je chipote aussi
 
par contre pour le coup des "" et '' je connaissai pas la difference, merci :jap:

mood
Publicité
Posté le 07-08-2003 à 16:48:18  profilanswer
 

n°480577
eL_Shaman_​__
Plop.
Posté le 08-08-2003 à 00:10:20  profilanswer
 

Mr yvele a écrit :

reset ($TonTableau);
while (list($key,$val) = each $TonTableau))
{
   echo "$key => $val<br />";
}




 
 
On peut faire comme cela aussi:
 

Code :
  1. foreach($tableau as $key => $val) {
  2.     echo '<p>'.$key.' = > '.$val.'</p>'."\n";
  3. }


 
Le travail est effectué sur une copie du tableau.

n°480586
Mr yvele
yvele n'est plus.
Posté le 08-08-2003 à 00:17:39  profilanswer
 

El_ShAmAn___ a écrit :


Le travail est effectué sur une copie du tableau.


 
quel travail :??:  
tu parles du pointeur interne?
 
je vois pas l'utilitée de bosser sur une copie.. puisqu'on veut juste lire.. [:sinclaire]  
explique moi stp :)


---------------
yvele n'est plus.
n°480615
eL_Shaman_​__
Plop.
Posté le 08-08-2003 à 01:41:41  profilanswer
 

Mr yvele a écrit :


 
quel travail :??:  
tu parles du pointeur interne?
 
je vois pas l'utilitée de bosser sur une copie.. puisqu'on veut juste lire.. [:sinclaire]  
explique moi stp :)  


 
 
http://fr2.php.net/manual/fr/contr [...] oreach.php
 
 
Ben une copie du tableau est faite, et c'est sur cette copie que la boucle va parcourir les éléments.
 
Pour l'intérêt d'avoir une copie... je ne sais pas trop... Ne pas modifier le pointeur interne ?? :D
 
En fait, j'avais pas fait gaffe que « each » bidouillait directement sur le tableau et pas sur une copie  :whistle:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Amélioration de script (each() ?)

 

Sujets relatifs
un script pour telecharger un fichier .txt sur un ftp toute les 2 hstatistique viste de site : PHP - MySQL - Apache
Equivalent de MODULO en PHP ?[Python] Session comme en PHP
[PHP] - traitement d'un fichier XML [marche presque] cryPHP, socket & telnet... se logger sur un serveur distant [SOLVED]
execution d'un script à partir d'1 autre url[php] Script gestion Boutique/Caddy
[PHP] Tracer des graphiques, quelles librairies ?[PHP] Question sur les Header
Plus de sujets relatifs à : [PHP] Amélioration de script (each() ?)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR