Concaténer le nom de deux variables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Concaténer le nom de deux variables

par sadjiro » 07 nov. 2005, 15:37

Code : Tout sélectionner

max_execution_time = 30 max_input_time = 60
ces 2 variables sont dans ton php.ini (raccourcis les si tu ve avoir la réponse tout de suite :)) et si tu veux voir si il fait bien le script augmente les :)

Ayant déjà ce problème pour des statistiques je te conseillerai dé découper tes infos :)

en gros tu prends tous les résultats jusqu'à infanterie 3 et tout le reste tu le mets en commentaires :)

tu testes si ça marche tu ajoutes un peu + et ceux petit à petit :)

et si ça bloque un moment bah fais le en plusieurs pages et appelle les ensuite dans la meme :)

voilou :wink:

par Jawad » 06 nov. 2005, 21:37

Tu peux toujours m'envoyer la page en privé, ça peut être utile (mais je ne promets rien).

Ce qui est étrange, c'est que si le script est trop long à exécuter, PHP te renvoie une erreur et non pas une page "Impossible..." (qui elle est l'interprétation du navigateur et non un renvoi du serveur).

Je te conseillerai de faire un petit test en local, histoire de voir si c'est bien dû à la longueur de la page ou non.
Je ne pense pas que ce soit dû aux calculs simples (les additions, multiplications et autres sont, dans la majorité des langages, les opérations les plus rapides).

Autre moyen de vérifier si c'est la longueur: pose des die ("ok");
En gros, force l'arrêt du script. Tu en mets un premier à un ligne. Si tu vois bien le ok, tu l'enlèves et tu en poses un autre un peu plus loin. Et ainsi de suite.

As-tu essayé le set_time_limit ?

par Invité » 06 nov. 2005, 20:50

Sinon, d'autres auraient une solution à me proposer ? Apparement, les calculs prennent trop de temps si je ne m'abuse, non ?

par Invité » 06 nov. 2005, 20:41

Non, je teste en ligne directement, sinon bien sur qu'en local il finirait par le faire. Je ne pense pas que le code est trop long.

par contre, ça va être dur de le raccourcir, ya pas grand chose à enlever, même rien du tout.

Si tu veux bien Jawad, je te donne la page complete du code en message privé, tu penses que ça pourrait t'aider ? Ou encore par msn, si tu veux, pour en parler, ce serait plus facile.

Merci

par Jawad » 06 nov. 2005, 20:34

Essaye un set_time_limit(0) (tout de même déconseillé, mais pour les tests on peut l'utiliser).

Etant entendu que tu testes en local non ?

Après, si tu penses que c'est vraiment le code qui est trop long... Bah raccourci-le, voilà tout.

par Invité » 06 nov. 2005, 20:30

Voui, merci d'avoir répondu. Depuis quelques heures mon activité est à la lecture de ces bases... et voila ce que ça a donné. Donc pas super concluante la lecture des bases.

Bon, il me refait le coup de d'habitude quand le code est correct, c'est à dire qu'il fait comme s'il chargeait la page, et finalement, après un certain temps (le délait d'attente de la page doit être dépassé) il m'affiche la page classique "Impossible de trouver le serveur".

Que faire donc ?

par Jawad » 06 nov. 2005, 19:58

C'est effrayant en effet... puisque tu aurais pu le faire de manière beaucoup plus efficace!

Peut-être devrais-tu réexpliquer clairement ton problème, puisque dans le dernier listing que tu as posté, je n'ai pas retrouvé le calcul que tu faisais (tu as simplifié $baston).

Quand on te parlait d'utiliser des tableaux indexés pour optimiser ton code, voilà un exemple de ce que l'on te conseillait.
Tu as:
$ressource1 = $sql['ressource1'];
$ressource2 = $sql['ressource2'];        
$ressource3 = $sql['ressource3'];    
$ressource4 = $sql['ressource4']; 
Au lieu d'en créer 4, un seul tableau aurait suffit:
$ressource["1"] = $sql['ressource1'];
$ressource["2"] = $sql['ressource2'];        
$ressource["3"] = $sql['ressource3'];    
$ressource["4"] = $sql['ressource4'];
D'une part ce sera un peu moins lourd, et d'autre part tu pourras boucler sur tes index si tu as envie de lister les ressources dispo.

Visiblement il y'a un problème dans une partie de ton code.
Tu écris:
$armee["i"]=array($i);
$armee["nb"]=array($dem['armee{$nombreu1}']);
$armee["vie"]=array($sql['unit{$nombreu1a}{$nombreu1}vie']);
$armee["def"]=array($sql['unit{$nombreu1a}{$nombreu1}def']);
$armee["deg"]=array($sql['unit{$nombreu1a}{$nombreu1}deg']);
$armee["att"]=array($sql['unit{$nombreu1a}{$nombreu1}att']);
$armee["aaa"]=array($sql['aaa1{$nombreu1a}{$nombreu1}']); 
Ce qui ne correspond pas à grand chose...
array() sert à créer un nouveau tableau!

Autrement dit lorsque tu écris $armee = array($i);
Tu mets dans $armee un tableau dont la valeur de l'index 0 est $i.
Il en est de même pour les autres index de ton tableau armee (nb, vie...)

En gros, pour accéder à la valeur de $armee[vie] comme tu penses que tu devrais le faire (soit avec $armee[vie] directement), tu devrais en réalité écrire $armee[vie][0]. $armee[vie] étant un tableau dans ton code (et non la valeur de l'index 'vie' du tableau $armee).

D'où le problème dans tes calculs, puisque tu tentes de calculer avec des tableaux. Ce qui est impossible! (et logique).

Reprends donc une partie de ton code pour avoir quelque chose comme ça:
 
$armee["i"]=$i);
$armee["nb"]=$dem['armee{$nombreu1}'];
$armee["vie"]=$sql['unit{$nombreu1a}{$nombreu1}vie'];
$armee["def"]=$sql['unit{$nombreu1a}{$nombreu1}def'];
$armee["deg"]=$sql['unit{$nombreu1a}{$nombreu1}deg'];
$armee["att"]=$sql['unit{$nombreu1a}{$nombreu1}att'];
$armee["aaa"]=$sql['aaa1{$nombreu1a}{$nombreu1}']; 
Je rejoins malheuresement l'avis de Nicolas. Les bases sont à reprendre! (mais ça ne nous empêchera pas de t'aider si tu évitais les bourdes comme celles-ci)

par Invité » 06 nov. 2005, 19:33

S'il vous plait... j'aimerais bien que ça marche ce soir :oops: Je vois que personne ne prend le temps de répondre, je sais que c'est long mais...

par Invité » 06 nov. 2005, 18:44

Bah il ne me semble pas que le lien que tu m'as donné parle de calculs quelconques qu'on puisse faire à partir des données que l'on prend dans ce tableau.

je redonne le code, un peu plus haché, car j'ai essayé (betement, certes) de diviser voir si par hasard, ça enlevait le surchargement.
$requete = mysql_query("SELECT * FROM ***** WHERE `nom1`='$nom1'"); 
$sql = mysql_fetch_array ($requete);
	$id_a = $sql['id'];
	$nom1a = $sql['nom1'];
	$nom2a = $sql['nom2'];
	$sexe = $sql['sexe'];
	$peuple = $sql['peuple'];
	$infanterie1 = $sql['infanterie1'];
	$infanterie2 = $sql['infanterie2'];
	$infanterie3 = $sql['infanterie3'];
	$archer1 = $sql['archer1'];
	$cavalerie1 = $sql['cavalerie1'];
	$cavalerie2 = $sql['cavalerie2'];
	$magie1 = $sql['magie1'];
	$siege1 = $sql['siege1'];
	$siege2 = $sql['siege2'];
	$siege3 = $sql['siege3'];
	$villageois2 = $sql['villageois2'];
	$commerce1 = $sql['commerce1'];
	$special1 = $sql['special1'];
	$heros1 = $sql['heros1'];
	$heros2 = $sql['heros2'];
	$ressource1 = $sql['ressource1'];
	$ressource2 = $sql['ressource2'];		
	$ressource3 = $sql['ressource3'];	
	$ressource4 = $sql['ressource4'];
	$classement = $sql['classement'];
	$unit1att = $sql['unit01att'];
	$unit1def = $sql['unit01def'];
	$unit1deg = $sql['unit01deg'];
	$unit1vie = $sql['unit01vie'];
	$unit2att = $sql['unit02att'];
	$unit2def = $sql['unit02def'];
	$unit2deg = $sql['unit02deg'];
	$unit2vie = $sql['unit02vie'];
	$unit3att = $sql['unit03att'];
	$unit3def = $sql['unit03def'];
	$unit3deg = $sql['unit03deg'];
	$unit3vie = $sql['unit03vie'];
	$unit4att = $sql['unit04att'];
	$unit4def = $sql['unit04def'];
	$unit4deg = $sql['unit04deg'];
	$unit4vie = $sql['unit04vie'];
	$unit5att = $sql['unit05att'];
	$unit5def = $sql['unit05def'];
	$unit5deg = $sql['unit05deg'];
	$unit5vie = $sql['unit05vie'];
	$unit6att = $sql['unit06att'];
	$unit6def = $sql['unit06def'];
	$unit6deg = $sql['unit06deg'];
	$unit6vie = $sql['unit06vie'];
	$unit7att = $sql['unit07att'];
	$unit7def = $sql['unit07def'];
	$unit7deg = $sql['unit07deg'];
	$unit7vie = $sql['unit07vie'];
	$unit8att = $sql['unit08att'];
	$unit8def = $sql['unit08def'];
	$unit8deg = $sql['unit08deg'];
	$unit8vie = $sql['unit08vie'];
	$unit9att = $sql['unit09att'];
	$unit9def = $sql['unit09def'];
	$unit9deg = $sql['unit09deg'];
	$unit9vie = $sql['unit09vie'];
	$unit10att = $sql['unit10att'];
	$unit10def = $sql['unit10def'];
	$unit10deg = $sql['unit10deg'];
	$unit10vie = $sql['unit10vie'];
	$unit11att = $sql['unit11att'];
	$unit11def = $sql['unit11def'];
	$unit11deg = $sql['unit11deg'];
	$unit11vie = $sql['unit11vie'];
	$unit12att = $sql['unit12att'];
	$unit12def = $sql['unit12def'];
	$unit12deg = $sql['unit12deg'];
	$unit12vie = $sql['unit12vie'];
	$unit13att = $sql['unit13att'];
	$unit13def = $sql['unit13def'];
	$unit13deg = $sql['unit13deg'];
	$unit13vie = $sql['unit13vie'];
	$unit14att = $sql['unit14att'];
	$unit14def = $sql['unit14def'];
	$unit14deg = $sql['unit14deg'];
	$unit14vie = $sql['unit14vie'];
	$unit15att = $sql['unit15att'];
	$unit15def = $sql['unit15def'];
	$unit15deg = $sql['unit15deg'];
	$unit15vie = $sql['unit15vie'];
	$aaa1 = $sql['aaa1'];
	$aaa2 = $sql['aaa2'];
	$aaa3 = $sql['aaa3'];
	$aaa4 = $sql['aaa4'];
	$aaa5 = $sql['aaa5'];
	$aaa6 = $sql['aaa6'];
	$aaa7 = $sql['aaa7'];
	$aaa8 = $sql['aaa8'];
	$aaa9 = $sql['aaa9'];
	$aaa10 = $sql['aaa10'];
	$aaa100 = $sql['aaa100'];
	$aaa101 = $sql['aaa101'];
	$aaa102 = $sql['aaa102'];
	$aaa103 = $sql['aaa103'];
	$aaa104 = $sql['aaa104'];
	$aaa105 = $sql['aaa105'];
	$aaa106 = $sql['aaa106'];
	$aaa107 = $sql['aaa107'];
	$aaa108 = $sql['aaa108'];
	$aaa109 = $sql['aaa109'];
	$aaa110 = $sql['aaa110'];
	$aaa111 = $sql['aaa111'];
	$aaa112 = $sql['aaa112'];
	$aaa113 = $sql['aaa113'];
	$aaa114 = $sql['aaa114'];
	$aaa901 = $sql['aaa901'];
	$aaa902 = $sql['aaa902'];
	$aaa903 = $sql['aaa903'];
	$aaa904 = $sql['aaa904'];
	$aaa905 = $sql['aaa905'];
	$aaa906 = $sql['aaa906'];
	$aaa907 = $sql['aaa907'];
	$aaa908 = $sql['aaa908'];
	$aaa909 = $sql['aaa909'];
	$aaa910 = $sql['aaa910'];
	$aaa911 = $sql['aaa911'];
	$aaa912 = $sql['aaa912'];
	$aaa913 = $sql['aaa913'];
	$aaa802 = $sql['aaa802'];
	$aaa803 = $sql['aaa803'];
	$aaa804 = $sql['aaa804'];
	$aaa805 = $sql['aaa805'];
	$aaa806 = $sql['aaa806'];
	$aaa807 = $sql['aaa807'];
	$aaa808 = $sql['aaa808'];
	$aaa809 = $sql['aaa809'];
	$aaa810 = $sql['aaa810'];

$askeur = mysql_query("SELECT * FROM ****** WHERE `id_a`='$id_a'"); 
$dem = mysql_fetch_array ($askeur);
	$id_d = $dem['id_d'];
	$tpsrestant = $dem['tpsrestant'];
	$action = $dem['action'];

$question = mysql_query("SELECT * FROM ****** WHERE `id`='$id_d'"); 
$var = mysql_fetch_array ($question);
	$sexe_d = $var['sexe'];
	$nom1d = $var['nom1'];
	$nom2d = $var['nom2'];
	$ressource1_d = $var['ressource1'];
	$ressource2_d = $var['ressource2'];		
	$ressource3_d = $var['ressource3'];	
	$ressource4_d = $var['ressource4'];
	$peuple_d = $var['peuple'];
	$maison1_d = $var['maison1'];
	$maison2_d = $var['maison2'];
	$caserne1_d = $var['caserne1'];
	$archerie1_d = $var['archerie1'];
	$ecurie1_d = $var['ecurie1'];
	$marche1_d = $var['marche1'];
	$temple1_d = $var['temple1'];
	$ateliersiege1_d = $var['ateliersiege1'];
	$batspecial1_d = $var['batspecial1'];
	$tech01_d = $var['tech01'];
	$tech02_d = $var['tech02'];
	$tech03_d = $var['tech03'];
	$tech04_d = $var['tech04'];
	$tech05_d = $var['tech05'];
	$tech06_d = $var['tech06'];
	$tech07_d = $var['tech07'];
	$tech08_d = $var['tech08'];
	$tech09_d = $var['tech09'];
	$tech10_d = $var['tech10'];
	$tech11_d = $var['tech11'];
	$tech12_d = $var['tech12'];
	$unit1att_d = $var['unit01att'];
	$unit1def_d = $var['unit01def'];
	$unit1deg_d = $var['unit01deg'];
	$unit1vie_d = $var['unit01vie'];
	$unit2att_d = $var['unit02att'];
	$unit2def_d = $var['unit02def'];
	$unit2deg_d = $var['unit02deg'];
	$unit2vie_d = $var['unit02vie'];
	$unit3att_d = $var['unit03att'];
	$unit3def_d = $var['unit03def'];
	$unit3deg_d = $var['unit03deg'];
	$unit3vie_d = $var['unit03vie'];
	$unit4att_d = $var['unit04att'];
	$unit4def_d = $var['unit04def'];
	$unit4deg_d = $var['unit04deg'];
	$unit4vie_d = $var['unit04vie'];
	$unit5att_d = $var['unit05att'];
	$unit5def_d = $var['unit05def'];
	$unit5deg_d = $var['unit05deg'];
	$unit5vie_d = $var['unit05vie'];
	$unit6att_d = $var['unit06att'];
	$unit6def_d = $var['unit06def'];
	$unit6deg_d = $var['unit06deg'];
	$unit6vie_d = $var['unit06vie'];
	$unit7att_d = $var['unit07att'];
	$unit7def_d = $var['unit07def'];
	$unit7deg_d = $var['unit07deg'];
	$unit7vie_d = $var['unit07vie'];
	$unit8att_d = $var['unit08att'];
	$unit8def_d = $var['unit08def'];
	$unit8deg_d = $var['unit08deg'];
	$unit8vie_d = $var['unit08vie'];
	$unit9att_d = $var['unit09att'];
	$unit9def_d = $var['unit09def'];
	$unit9deg_d = $var['unit09deg'];
	$unit9vie_d = $var['unit09vie'];
	$unit10att_d = $var['unit10att'];
	$unit10def_d = $var['unit10def'];
	$unit10deg_d = $var['unit10deg'];
	$unit10vie_d = $var['unit10vie'];
	$unit11att_d = $var['unit11att'];
	$unit11def_d = $var['unit11def'];
	$unit11deg_d = $var['unit11deg'];
	$unit11vie_d = $var['unit11vie'];
	$unit12att_d = $var['unit12att'];
	$unit12def_d = $var['unit12def'];
	$unit12deg_d = $var['unit12deg'];
	$unit12vie_d = $var['unit12vie'];
	$unit13att_d = $var['unit13att'];
	$unit13def_d = $var['unit13def'];
	$unit13deg_d = $var['unit13deg'];
	$unit13vie_d = $var['unit13vie'];
	$unit14att_d = $var['unit14att'];
	$unit14def_d = $var['unit14def'];
	$unit14deg_d = $var['unit14deg'];
	$unit14vie_d = $var['unit14vie'];
	$unit15att_d = $var['unit15att'];
	$unit15def_d = $var['unit15def'];
	$unit15deg_d = $var['unit15deg'];
	$unit15vie_d = $var['unit15vie'];
	$aaa1_d = $var['aaa1'];
	$aaa2_d = $var['aaa2'];
	$aaa3_d = $var['aaa3'];
	$aaa4_d = $var['aaa4'];
	$aaa5_d = $var['aaa5'];
	$aaa6_d = $var['aaa6'];
	$aaa7_d = $var['aaa7'];
	$aaa8_d = $var['aaa8'];
	$aaa9_d = $var['aaa9'];
	$aaa10_d = $var['aaa10'];
	$aaa100_d = $var['aaa100'];
	$aaa101_d = $var['aaa101'];
	$aaa102_d = $var['aaa102'];
	$aaa103_d = $var['aaa103'];
	$aaa104_d = $var['aaa104'];
	$aaa105_d = $var['aaa105'];
	$aaa106_d = $var['aaa106'];
	$aaa107_d = $var['aaa107'];
	$aaa108_d = $var['aaa108'];
	$aaa109_d = $var['aaa109'];
	$aaa110_d = $var['aaa110'];
	$aaa111_d = $var['aaa111'];
	$aaa112_d = $var['aaa112'];
	$aaa113_d = $var['aaa113'];
	$aaa114_d = $var['aaa114'];
	$aaa901_d = $var['aaa901'];
	$aaa902_d = $var['aaa902'];
	$aaa903_d = $var['aaa903'];
	$aaa904_d = $var['aaa904'];
	$aaa905_d = $var['aaa905'];
	$aaa906_d = $var['aaa906'];
	$aaa907_d = $var['aaa907'];
	$aaa908_d = $var['aaa908'];
	$aaa909_d = $var['aaa909'];
	$aaa910_d = $var['aaa910'];
	$aaa911_d = $var['aaa911'];
	$aaa912_d = $var['aaa912'];
	$aaa913_d = $var['aaa913'];
	$aaa802_d = $var['aaa802'];
	$aaa803_d = $var['aaa803'];
	$aaa804_d = $var['aaa804'];
	$aaa805_d = $var['aaa805'];
	$aaa806_d = $var['aaa806'];
	$aaa807_d = $var['aaa807'];
	$aaa808_d = $var['aaa808'];
	$aaa809_d = $var['aaa809'];
	$aaa810_d = $var['aaa810'];

$annonce = 'Les armées de ' . $nom2a . ' affrontent les armées de ' . $nom2d .'.<br><br>';
$texte1 = 'Vous êtes parti avec votre escorte pour aller voir ce qui se passait sur le champ de bataille, étant donné que aucune nouvelle ne vous est parvenue.<br><br>';
$texte2 = 'Voici le résultat de la bataille que vous pouvez voir de vos propres yeux, en haut d\'une colline qui domine la ville de votre ennemi.<br>';
$i=1;
do {
$askeur = mysql_query("SELECT * FROM **** WHERE `id_a`='$id_a'"); 
$dem = mysql_fetch_array ($askeur);
	$armee1 = $dem['armee1'];
	$armee2 = $dem['armee2'];
	$armee3 = $dem['armee3'];
	$armee4 = $dem['armee4'];
	$armee5 = $dem['armee5'];
	$armee6 = $dem['armee6'];
	$armee7 = $dem['armee7'];
	$armee8 = $dem['armee8'];
	$armee9 = $dem['armee9'];
	$armee10 = $dem['armee10'];
	$armee11 = $dem['armee11'];
	$armee12 = $dem['armee12'];
	$armee13 = $dem['armee13'];
	$armee14 = $dem['armee14'];
	$armee1b = $villageois2-$armee1;
	$armee2b = $infanterie1-$armee2;
	$armee3b = $infanterie2-$armee3;
	$armee4b = $infanterie3-$armee4;
	$armee5b = $archer1-$armee5;
	$armee6b = $cavalerie1-$armee6;
	$armee7b = $cavalerie2-$armee7;
	$armee8b = $magie1-$armee8;
	$armee9b = $special1-$armee9;
	$armee10b = $heros1-$armee10;
	$armee11b = $heros2-$armee11;
	
$question = mysql_query("SELECT * FROM ***** WHERE `id`='$id_d'"); 
$var = mysql_fetch_array ($question);
	$armee1dz = $var['villageois2'];
	$armee2dz = $var['infanterie1'];
	$armee3dz = $var['infanterie2'];
	$armee4dz = $var['infanterie3'];
	$armee5dz = $var['archer1'];
	$armee6dz = $var['cavalerie1'];
	$armee7dz = $var['cavalerie2'];
	$armee8dz = $var['magie1'];
	$armee9dz = $var['special1'];	
	$armee10dz = $var['heros1'];
	$armee11dz = $var['heros2'];
	$armee12dz = $var['siege1'];
	$armee13dz = $var['siege2'];
	$armee14dz = $var['siege3'];
	$armee15dz = $var['commerce1'];

$armee=array();
$nombreu1=rand(1,8);
$nombreu2=rand(1,8);
if($nombreu1==1)
{
$nombreu1a=0;
$armee[i]=array($i);
$armee[nb]=array($dem['armee{$nombreu1}']);
$armee[vie]=array($sql['unit{$nombreu1a}{$nombreu1}vie']);
$armee[def]=array($sql['unit{$nombreu1a}{$nombreu1}def']);
$armee[deg]=array($sql['unit{$nombreu1a}{$nombreu1}deg']);
$armee[att]=array($sql['unit{$nombreu1a}{$nombreu1}att']);
$armee[aaa]=array($sql['aaa1{$nombreu1a}{$nombreu1}']);
}
elseif($nombreu1>1)
{
$nombreu1=$nombreu1+1;
$nombreu1a=0;
$armee[i]=array($i);
$armee[nb]=array($dem['armee{$nombreu1}']);
$armee[vie]=array($sql['unit{$nombreu1a}{$nombreu1}vie']);
$armee[def]=array($sql['unit{$nombreu1a}{$nombreu1}def']);
$armee[deg]=array($sql['unit{$nombreu1a}{$nombreu1}deg']);
$armee[att]=array($sql['unit{$nombreu1a}{$nombreu1}att']);
$armee[aaa]=array($sql['aaa1{$nombreu1a}{$nombreu1}']);
}
if($nombreu2==1)
{
$nombreu2a=0;
$armee[i2]=array($i);
$armee[nb2]=array($armee{$nombreu2}{dz});
$armee[vie2]=array($var['unit{$nombreu2a}{$nombreu2}vie']);
$armee[def2]=array($var['unit{$nombreu2a}{$nombreu2}def']);
$armee[deg2]=array($var['unit{$nombreu2a}{$nombreu2}deg']);
$armee[att2]=array($var['unit{$nombreu2a}{$nombreu2}att']);
$armee[aaa2]=array($var['aaa1{$nombreu2a}{$nombreu2}']);
}
elseif($nombreu2>1)
{
$nombreu2=$nombreu2+1;
$nombreu2a=0;
$armee[i2]=array($i+100000);
$armee[nb2]=array($armee{$nombreu2}{dz});
$armee[vie2]=array($var['unit{$nombreu2a}{$nombreu2}vie']);
$armee[def2]=array($var['unit{$nombreu2a}{$nombreu2}def']);
$armee[deg2]=array($var['unit{$nombreu2a}{$nombreu2}deg']);
$armee[att2]=array($var['unit{$nombreu2a}{$nombreu2}att']);
$armee[aaa2]=array($var['aaa1{$nombreu2a}{$nombreu2}']);
}

if($armee['nb']!=0 && $armee['nb2']!=0)
{
$defens0=$armee['nb2'];
$defens1=$armee['vie2'];
$defens=$defens0*$defens1;
$attaq1=$armee['nb']*2;
$attaq2=$armee['att'];
$attaq3=$armee['deg'];
$attaq=$attaq1*($attaq2+$attaq3);
$premier = $defens-$attaq;
$baston = $armee['nb2']*$armee['vie2']-$premier;
$armeedn2 = $armee['nb2']-(floor($baston/$armee['vie2']));
$armee['nb2'] = floor($baston/$armee['vie2']);
if($armeedn2<1)
{
$armeedn2 = 'tous les';
}
$texte2 .= '<br><strong>Les ' . $armee['aaa'] .' ont tué ' . $armeedn2 .' ' . $armee['aaa2'] . '.</strong>';
if($armee['nb2']!=0)
{
$defens2=$armee['nb']*$armee['vie'];
$attaq2=$armee['nb2']*2*($armee['att2']+$armee['deg2']);
$deuxieme = $defens2-$attaq2;
$baston2 = $armee['nb']*$armee['vie']-$deuxieme;
$armeen2 = $armee['nb']-(floor($baston2/$armee['vie']));
$armee['nb'] = floor($baston/$armee['vie']);
if($armeen2<1)
{
$armeen2 = 'tous les';
}
$texte2 .= '<br>Les ' . $armee['aaa2'] .' ont massacré ' . $armeen2 .' ' . $armee['aaa'] . '.<br>';
}
$armee{$nombreu1}=$armee['nb'];
$armee{$nombreu2}{d}=$armee['nb2'];
}

mysql_query ("UPDATE cbtencours SET `armee{$nombreu1}`='$armee{$nombreu1}' WHERE id_a='$id_a'");
if($nombreu2==1)
{
mysql_query ("UPDATE membre SET `villageois2`=$armee{$nombreu2}{d} WHERE id='$id_d'");
}
if($nombreu2==2)
{
mysql_query ("UPDATE membre SET `infanterie1`=$armee{$nombreu2}{d} WHERE id='$id_d'");
}
if($nombreu2==3)
{
mysql_query ("UPDATE membre SET `infanterie2`=$armee{$nombreu2}{d} WHERE id='$id_d'");
}
if($nombreu2==4)
{
mysql_query ("UPDATE membre SET `infanterie3`=$armee{$nombreu2}{d} WHERE id='$id_d'");
}
if($nombreu2==5)
{
mysql_query ("UPDATE membre SET `archer1`=$armee{$nombreu2}{d} WHERE id='$id_d'");
}
if($nombreu2==6)
{
mysql_query ("UPDATE membre SET `cavalerie1`=$armee{$nombreu2}{d} WHERE id='$id_d'");
}
if($nombreu2==7)
{
mysql_query ("UPDATE membre SET `cavalerie2`=$armee{$nombreu2}{d} WHERE id='$id_d'");
}
if($nombreu2==8)
{
mysql_query ("UPDATE membre SET `magie1`=$armee{$nombreu2}{d} WHERE id='$id_d'");
}
if($nombreu2==9)
{
mysql_query ("UPDATE membre SET `special1`=$armee{$nombreu2}{d} WHERE id='$id_d'");
}
$armeetotaledea=$armee1+$armee2+$armee3+$armee4+$armee5+$armee6+$armee7+$armee8+$armee9+$armee10+$armee11;
$armeetotaleded=$armee1dz+$armee2dz+$armee3dz+$armee4dz+$armee5dz+$armee6dz+$armee7dz+$armee8dz+$armee9dz+$armee10dz+$armee11dz;
$i++;
} while($armeetotaledea<10 || $armeetotaleded<10);

j'ai donné le contenu de la page en entier (sauf le html et le code de session, ainsi que le traitement que je fais à partir du résultat de ces calculs), en espérant que avec ça vous pourrez m'aider, et que la longueur du code que je me suis tapé va vous effrayer ^^

Merci d'avance[/php]

par nicolas » 06 nov. 2005, 18:31

Je t'ai donné un moyen d'y arriver mais apparament ça doit être tabou sur ce forum.
Bon courage

par Invité » 06 nov. 2005, 18:19

Snif, même dans un seul tableau, ça ne marche pas :cry: . S'il vous plait, HELPPPPPP, ça commence à faire un bout de temps que je rame dessus...

par Invité » 06 nov. 2005, 17:31

Et donc, quels moyens existent-t-ils pour éviter ce surchargement ? Dois-je stocker toutes mes valeurs dans un seul tableau pour éviter que ça pose problème ?

par nicolas » 06 nov. 2005, 17:22

Tu essaies d'ajouter ou multiplier deux tableaux ce qui n'est pas possible sans surcharger les opérateurs + et *.

par Invité » 06 nov. 2005, 17:01

J'ajoute que si vous ne comprenez pas tout, je peux rajouter la liste des importations, ou alors la boucle tout entière.

par Invité » 06 nov. 2005, 15:52

Hé bien non, il y a un problème, je dois faire des calculs, et je reçois un message d'erreur : Fatal error: Unsupported operand types in /hsphere/local/home/xavierdm/leslarmesduchaos.fr/membres/resultatlong4.php on line 405
$nombreu1=rand(1,8);
if($nombreu1==1)
{
$nombreu1a=0;
$armee=array();
$armee['i']=array($i);
$armee['nb']=array($dem['armee{$nombreu1}']);
$armee['vie']=array($sql['unit{$nombreu1a}{$nombreu1}vie']);
$armee['def']=array($sql['unit{$nombreu1a}{$nombreu1}def']);
$armee['deg']=array($sql['unit{$nombreu1a}{$nombreu1}deg']);
$armee['att']=array($sql['unit{$nombreu1a}{$nombreu1}att']);
$armee['aaa']=array($sql['aaa1{$nombreu1a}{$nombreu1}']);
}
elseif($nombreu1>1)
{
$nombreu1=$nombreu1+1;
$nombreu1a=0;
$armee=array();
$armee['i']=array($i);
$armee['nb']=array($dem['armee{$nombreu1}']);
$armee['vie']=array($sql['unit{$nombreu1a}{$nombreu1}vie']);
$armee['def']=array($sql['unit{$nombreu1a}{$nombreu1}def']);
$armee['deg']=array($sql['unit{$nombreu1a}{$nombreu1}deg']);
$armee['att']=array($sql['unit{$nombreu1a}{$nombreu1}att']);
$armee['aaa']=array($sql['aaa1{$nombreu1a}{$nombreu1}']);
}

$nombreu2=rand(1,8);
if($nombreu2==1)
{
$nombreu2a=0;
$armee_d=array();
$armee_d['i']=array($i);
$armee_d['nb']=array($armee{$nombreu2}{dz});
$armee_d['vie']=array($var['unit{$nombreu2a}{$nombreu2}vie']);
$armee_d['def']=array($var['unit{$nombreu2a}{$nombreu2}def']);
$armee_d['deg']=array($var['unit{$nombreu2a}{$nombreu2}deg']);
$armee_d['att']=array($var['unit{$nombreu2a}{$nombreu2}att']);
$armee_d['aaa']=array($var['aaa1{$nombreu2a}{$nombreu2}']);
}
elseif($nombreu2>1)
{
$nombreu2=$nombreu2+1;
$nombreu2a=0;
$armeed=array();
$armeed['i']=array($i);
$armeed['nb']=array($armee{$nombreu2}{dz});
$armeed['vie']=array($var['unit{$nombreu2a}{$nombreu2}vie']);
$armeed['def']=array($var['unit{$nombreu2a}{$nombreu2}def']);
$armeed['deg']=array($var['unit{$nombreu2a}{$nombreu2}deg']);
$armeed['att']=array($var['unit{$nombreu2a}{$nombreu2}att']);
$armeed['aaa']=array($var['aaa1{$nombreu2a}{$nombreu2}']);
}

if($armee['nb']!=0 && $armeed['nb']!=0)
{
$baston = $armeed['nb']*$armeed['vie']-(($armeed['nb']*$armeed['vie'])-($armee['nb']*2*($armee['att']+$armee['deg'])));
$armeedn2 = $armeed['nb']-(floor($baston/$armeed['vie']));
$armeed[nb] = floor($baston/$armeed['vie']);
if($armeedn2<1)
{
$armeedn2 = 'tous les';
}
$texte2 .= '<br><strong>Les ' . $armee['aaa'] .' ont tué ' . $armeedn2 .' ' . $armeed['aaa'] . '.</strong>';
if($armee[nb] != 0)
{
$baston2 = $armee['nb']*$armee['vie']-(($armee['nb']*$armee['vie'])-($armeed['nb']*2*($armeed['att']+$armeed['deg'])));
$armeen2 = $armee['nb']-(floor($baston2/$armee['vie']));
$armee['nb'] = floor($baston/$armee['vie']);
if($armeen2<1)
{
$armeen2 = 'tous les';
}
$texte2 .= '<br>Les ' . $armeed['aaa'] .' ont massacré ' . $armeen2 .' ' . $armee['aaa'] . '.<br>';
}
$armee{$nombreu1}=$armee['nb'];
$armee{$nombreu2}{d}=$armeed['nb'];
}

La ligne 405 étant celle-ci :
$baston = $armeed['nb']*$armeed['vie']-(($armeed['nb']*$armeed['vie'])-($armee['nb']*2*($armee['att']+$armee['deg'])));
Je ne vois pas le problème... J'ai essayé avec les ' dans les crochets [''] et sans, mais ça ne change rien.

Où est donc le problème ?