[PHP] Besoin d'aide pour simplifier ma requête...

Besoin d'aide pour simplifier ma requête... [PHP] - PHP - Programmation

Marsh Posté le 25-10-2002 à 03:23:18    

Salut à tous,
j'essaye de mettre des valeurs dans tous les champs de ma table d'un seul coup.
 
Cette table possède trois champs à remplir : X,Y et Valeur
Il y a 100 valeurs X et autant d'Y...
 
Ce que je voudrais avoir, c'est :
 
X : Y : Valeur
0   1   vide
0   2   vide
0   3   vide
...
100 99  vide
100 100 vide
 
J'ai réussi à obtenir ce résultat mais je ne comprends pas pourquoi je suis obligé de mettre ces deux lignes :

Code :
  1. $db = mysql_connect('localhost', 'admin', 'test');
  2. mysql_select_db('essai',$db);


à l'intérieur de la boucle... C'est super lourd... Et j'ai vu d'autres codes semblables qui placaient ces lignes tout au début du code... Moi quand je fais ça, j'obtient une erreur "base inexistante"...
 
Voilà le code entier !
 

Code :
  1. <?
  2. $posx=0;
  3. for ($posx = 0; $posx < 101; $posx++)
  4. for ($posy = 0; $posy < 101; $posy++)
  5. {
  6. echo " ".$posx.":".$posy."<br>";
  7. $db = mysql_connect('localhost', 'admin', 'test');
  8. mysql_select_db('essai',$db);
  9. mysql_query("INSERT INTO map VALUES ($posx,$posy,'')" )
  10. or die ('Database Error: ' . mysql_error() . '<br>');
  11. mysql_close();
  12. }
  13. }
  14. ?>


 
Merci pour votre aide...

Reply

Marsh Posté le 25-10-2002 à 03:23:18   

Reply

Marsh Posté le 25-10-2002 à 03:29:43    

et ca ca marche pas ?

Code :
  1. <?
  2. $db = mysql_connect('localhost', 'admin', 'test'); 
  3. mysql_select_db('essai',$db); 
  4. $posx=0;
  5. for ($posx = 0; $posx < 101; $posx++)
  6. for ($posy = 0; $posy < 101; $posy++)
  7. echo " ".$posx.":".$posy."<br>";
  8. mysql_query("INSERT INTO map VALUES ($posx,$posy,'')" )
  9. or die ('Database Error: ' . mysql_error() . '<br>'); 
  10. }
  11. mysql_close();
  12. ?>


:??:
 
 
 
 
si tu mets

$db = mysql_connect('localhost', 'admin', 'test');  
mysql_select_db('essai',$db);  
...
mysql_close();

dans la boucle, la connection vers ta base de donnée est ouverte et fermée a chaque iteration, ce qui va ralentir l'execution de ton code!
 
si tu mets

$db = mysql_connect('localhost', 'admin', 'test');  
mysql_select_db('essai',$db);  

en dehors de la boucle (avant), il faudra aussi mettre mysql_close en dehors (apres) sinon tu auras une erreur (puisque a la deuxieme iteration, tu vas essayer d'inserer qqchose dans une base "fermé" )


Message édité par JWhy le 25-10-2002 à 03:34:06

---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 25-10-2002 à 03:38:32    

Pheew... Mortel... J'ai galéré trop longtemps pour ce problème... Quel con  :pt1cable: Je fermais bien ma base pendant la réitération...
 
Merci de ton aide à cette heure si tardive (3H30 et j'ai ma réponse en moins de 5 mn, ca c'est mortel)...
 
A charge de revanche, bonne nuit... moi je vais dormir...
 
++++

Reply

Marsh Posté le 25-10-2002 à 03:40:07    

bonne nuit  :hello:


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed