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

  FORUM HardWare.fr
  Programmation
  PHP

  Calcul d'une somme un peu spéciale...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Calcul d'une somme un peu spéciale...

n°1652674
Chandon
Même pas peur !
Posté le 04-12-2007 à 14:49:23  profilanswer
 

Bonjour à tous,
Voilà je cherche à faire un petit calcul pour m'assurer qu'une variable est bonne.
En bref, j'ai une liste de liens, que l'on peut ordonner.
Dans la base, chaque lien a donc un n° d'ordre.
Supposons que j'ai 7 liens.
J'ai un formulaire pour pouvoir changer l'ordre de ces liens : dans un select déroulant pour chaque lien, de 1 à 7, avec son ordre sélectionné.
Donc pour changer l'ordre il suffit de dire le lien en 1 je choisis dans la liste la position 5, et celui en position 5 je le mets en 1.
Ok.
 
Pour m'assurer que les interfaces chaise-clavier ne choisissent pas 2 fois la position 1 par exemple, j'aimerai faire un petit calcul avec les valeurs envoyées de tout les liens.
Exemple, pour 7 liens, je devrai avoir un total de 1+2+3+4+5+6+7, soit 28
Si il y a 2 fois la position 1, ça me ferait 1+2+3+4+1+6+7, soit 24, ça marche pas il faut revoir l'ordre.
 
Mais bien évidemment ce total à vérifier change en fonction du nombre de liens (pour 6 c'est 21, pour 5 c'est 15...)
 
Je cherche donc, ouf, merci d'être arrivé jusque là, la formule qui me permet de dire : j'ai x liens, donc le total recherché doit être de y.
Merci de votre aide !!!


---------------
Fred 'Chandon' | http://www.inventeursfous.com | http://www.plantesgrasses.com
mood
Publicité
Posté le 04-12-2007 à 14:49:23  profilanswer
 

n°1652714
Profil sup​primé
Posté le 04-12-2007 à 16:20:46  answer
 

Si c'est pour faire la vérification coté serveur, autant utiliser un array_unique().

n°1652719
MagicBuzz
Posté le 04-12-2007 à 16:24:16  profilanswer
 

D'autant qu'avec tes 7 liens...
 
1+2+3+4+5+6+7 = 28
1+3+3+3+5+6+7 = 28
 
=> Ton test ne marche pas


Message édité par MagicBuzz le 04-12-2007 à 16:24:55
n°1652735
Chandon
Même pas peur !
Posté le 04-12-2007 à 16:36:53  profilanswer
 

Putain de merde !!!!
Et avec une fonction factorielle ?


---------------
Fred 'Chandon' | http://www.inventeursfous.com | http://www.plantesgrasses.com
n°1652747
MagicBuzz
Posté le 04-12-2007 à 16:43:55  profilanswer
 

Cherche pas :o
 
Tu colles les valeurs dans un tableau.
Tu fais un tri.
Et tu vérifies ensuite que t'as pas deux fois de suite la même valeur.
 
Ce sera bien plus simple.
 
Pour faire un sort en JS :
http://www.w3schools.com/jsref/try [...] sref_sort2

n°1652755
MagicBuzz
Posté le 04-12-2007 à 16:54:35  profilanswer
 

Mais bon, tu te prends la tête pour pas grand chose...
 
Une petite GUI bien plus conviviale et qui résoud ton problème...
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head>
  4.    <title>Untitled Page</title>
  5.    <script type="text/javascript">
  6.    function up()
  7.    {
  8.      var liste = document.getElementById("liste" );
  9.      if (liste.selectedIndex > 0)
  10.      {
  11.        var opt1 = liste.options[liste.selectedIndex];
  12.        var opt2 = liste.options[liste.selectedIndex - 1];
  13.        //liste.remove(liste.selectedIndex);
  14.        liste.insertBefore(opt1, opt2);
  15.      }
  16.      return false;
  17.    }
  18.    function down()
  19.    {
  20.      var liste = document.getElementById("liste" );
  21.      if (liste.selectedIndex != -1 && liste.selectedIndex < liste.options.length - 2)
  22.      {
  23.        var opt1 = liste.options[liste.selectedIndex];
  24.        var opt2 = liste.options[liste.selectedIndex + 1];
  25.        liste.insertBefore(opt2, opt1);
  26.      }
  27.      return false;
  28.    }
  29.    </script>
  30. </head>
  31. <body>
  32. <form name="grmpf" method="post" action="#">
  33. <select name="liste" size="10" id="liste">
  34.    <option>Test 1</option>
  35.    <option>Test 2</option>
  36.    <option>Test 3</option>
  37.    <option>Test 4</option>
  38.    <option>Test 5</option>
  39.    <option>Test 6</option>
  40.    <option>Test 7</option>
  41.    <option>Test 8</option>
  42. </select>
  43. <br />
  44. <input type="button" value="v" onclick="return down();"/>
  45. <input type="button" value="^" onclick="return up();"/>
  46. </form>
  47. </body>
  48. </html>


Message édité par MagicBuzz le 04-12-2007 à 19:26:58
n°1653599
Chandon
Même pas peur !
Posté le 06-12-2007 à 09:06:43  profilanswer
 

Merci MagicBuzz pour tes réponses.


---------------
Fred 'Chandon' | http://www.inventeursfous.com | http://www.plantesgrasses.com

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

  Calcul d'une somme un peu spéciale...

 

Sujets relatifs
Besoin Vitesse de calculCalcul de l'age
calendrier et calcul auto de montants sur bulletin reservation[PHP/MySQL] Calcul d'un prix en fonction d'une dimension
supprimer tous les graphiques dans une feuille de calculSOMME.SI.ENS
[JAVA]Algorithme de calcul de la limite de la somme des entierssomme des noeuds d'un arbre
EXCELfeuille de calcul 
Plus de sujets relatifs à : Calcul d'une somme un peu spéciale...


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