Incrémentation d'une variable en PHP

Fermé
Profil bloqué - 16 févr. 2009 à 14:27
 Profil bloqué - 20 févr. 2009 à 20:26
Bonjour,
J'ai fait une grille de pronostique.Il est constitué évidemment du noms des équipes ^^ et pour choisir entre victoire nul ou défaite, j'ai mis un système de coche.C'est à dire qu'il y a 3 coche par match une coche pour la victoire une pour le nul une pour la défaite. Voici le code juste au niveau des coches :

<div id="centre1">
<center>
1&nbsp;&nbsp;&nbsp;N&nbsp;&nbsp;&nbsp;2
<br>
<form method="post" action="check.php">
<input type="checkbox" name="choix1"><input type="checkbox" name="choix2"><input type="checkbox" name="choix3"><br>
<input type="checkbox" name="choix4"><input type="checkbox" name="choix5"><input type="checkbox" name="choix6"><br>
<input type="checkbox" name="choix7"><input type="checkbox" name="choix8"><input type="checkbox" name="choix9"><br>
<input type="checkbox" name="choix10"><input type="checkbox" name="choix11"><input type="checkbox" name="choix12"><br>
<input type="checkbox" name="choix13"><input type="checkbox" name="choix14"><input type="checkbox" name="choix15"><br>
<input type="checkbox" name="choix16"><input type="checkbox" name="choix17"><input type="checkbox" name="choix18"><br>
<input type="checkbox" name="choix19"><input type="checkbox" name="choix20"><input type="checkbox" name="choix21"><br>
<input type="checkbox" name="choix22"><input type="checkbox" name="choix23"><input type="checkbox" name="choix24"><br>
<input type="checkbox" name="choix25"><input type="checkbox" name="choix26"><input type="checkbox" name="choix27"><br>
<input type="checkbox" name="choix28"><input type="checkbox" name="choix29"><input type="checkbox" name="choix30"><br>
<input type="submit" name="submit" value="Valider">
</center>
</div>



Ma question, c'est : Est-ce qu'il est possible de faire en quelque sorte un sondage pour chaque match, c'est à dire que le visiteur viens cliqué sur victoire et quant il fait valider, si c'est la coche victoire qui est coché, sa incrémente une variable. Et comme ça apres je peu faire le pourcentage de clic sur victoire, sur nul ou sur défaite .
Vous avez compris ce que je voulais dire ? si il y a un problème dite le moi.


Merci d'avance pour la réponse.

Vincent,

25 réponses

974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 07:17
Ben je pense que tu peux le faire sans BDD non ???

Tu mets :

$victoire=0
si (il coche victoire)
{
$victoire=$victoire+1
}

Ta compris ???
2
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
17 févr. 2009 à 07:48
Mis a pars que ton code donera 1 vote au maximum, et qu'il n'y a aucun moyen de consulter les fameuses statistiques, effectivement, ton code peut être pas mal.. Sinon t'as aussi:
<?php
$varibale++;
?>
Ca va t'incrémenter la variable.. mais ça résoudra absolument pas son problème.. Un peu comme ton code..


Le silence est l'intelligence des imbéciles

0
leto23 Messages postés 86 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 24 janvier 2010 6
16 févr. 2009 à 14:55
salut,

utilise simplement une base de donnée... qui comptabilise le nombre de victoire, nul et défaite de chaque match. Après ta juste a compter le nombre total de croix (total_croix=victoire + nul + défaite) pour avoir un pourcentage de chaque choix du type : pourcentage_victoire = (victoire/total_croix)*100

Pour vérifier que une case a été cochée, tu vérifies si elle existe, car une case non coché n'existera pas dans ta page check.php en tant que $_POST['choixX']; (ou X est un nombre)
1
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 185
17 févr. 2009 à 13:33
Salut à tous, je viens détendre l’atmosphère … :P

Bon alors ! On a un vote à 3 options : victoire, défaite, nul, Ça nous fait déjà 3 variables. Pour les pourcentages, il faut aussi compter le nombre total de clics, ce qui nous fait 4 variables.

Le problème qu’Apatik a bien mis en évidence c’est que : ce qu’on appelle communément une variable en php n’existe que le temps que le serveur génère la page (de l’ordre de quelques nanosecondes), il faut donc un moyen de stocker les données durablement.

Il y a 2 solutions : un fichier plat ou une base de données. Les bases de données sont conçues pour répondre à des problèmes complexes, et sont donc aussi relativement complexes. Comme le problème est simple, mieux vaut aller vers la solution la plus simple aussi, vous me suivez ^^

Avec les fonctions de lecture/écriture dans un fichier, il n’y a que quelques pages de la doc à lire, tandis que pour celui qui n’a jamais utilisé de BDD, il lui faut une bonne semaine pour faire un truc, et surtout le comprendre.

La comparaison des ressources nécessaires est assez édifiante :
– fonctions de fichiers : seulement les pages de file(), fopen() et fwrite() (pour le cas présent);
– bases de données : à peu près toute la doc …

Bon d’accord, j’exagère :D mais ici, un ’tit fichier à 4 lignes ça sera quand même bien plus simple, et pour toi, INTELMAN, et pour ton serveur. Allez j’ai donné assez d’indices, je te laisse chercher comment faire ton code (sinon c’est pas drôle ^^).

Bon courage ! ;)


PS : Bien sûr, la solution que je propose n’est qu’une parmi d’autres …
1
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
16 févr. 2009 à 14:46
Le truc c'est que tes variables ne sont définient que le temps de la génération de ta page. Tes statistiques, il faut les enregistrer soit dans un fichier, soit dans une base de données. Ensuite, par le biais de la lecture/ecriture (pour un fichier), ou de requettes (pour une base de données), tu vas pouvoir lire le nombre, l'incrémenter, puis l'écrire à la place.
=)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
16 févr. 2009 à 14:53
Peut tu m'expliqué comment faire avec une BDD ou un fichier ?
Explique moi ce qui est le plus simple celon toi Fichier ou BDD ?
0
Profil bloqué
16 févr. 2009 à 15:11
J'ai pas bien compris comment savoir si la coche existe.
En PHP sa donne quoi ???

Merci d'avance
0
Profil bloqué
16 févr. 2009 à 17:33
UP
0
Profil bloqué
16 févr. 2009 à 18:38
help
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 07:53
Ben si il veut tout simplement récupérer le nombre de fois qu'a été cliqué victoire, c'est bon non ???
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
17 févr. 2009 à 10:26
"Et comme ça apres je peu faire le pourcentage de clic sur victoire, sur nul ou sur défaite . "


Tu le fais comment ton pourcentage une fois que tu l'a incrémenté?

Quand à toi qui cherche desespérement une solution. Je te conseille d'apprendre le php. Tu as un très bon tuto sur le site du zéro. Dans ton cas, je te conseille de tout noter dans un fichier, c'est plus simple, et surtout plus léger.
Je ne vais pas te sortir un code complet, parce que ça ne te servirai à rien, tu n'apprendrais rien, et aussi parce que travaillant plus avec des BDD, j'ai tendance a oublier les fonctions de lecture dans les fichiers.

Bon courage à toi.
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 11:20
Ben il fait un petit calcul du pourcentage non ??

0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
17 févr. 2009 à 12:31
T'as déjà codé un programme?
Vas-y, fait son code, je suis curieux de voir comment tu vas faire pour faire ton calcul de pourcentage... (ils sortent d'où les nombres pour ton calcul...)
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 12:33
Ben a chak foi il récupere combien il y a de fois qu'on a kliké sur victoire.. Imaginons kil en ait à 28 pour victoire, 32 pour null et 10 pour défaite ...

Tu va me faire croire ke t'arrive pa a trouvé le pourcentage de 28 parmi tout ca ??? lE pourcentage de 32 puis le pourcentage de 10 ????


Et pour info, oui j'ai déja codé un programe et plus d'un ^^ ...

0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
17 févr. 2009 à 12:37
Et il les stoque où ces nombres de victoires, défaites, et nuls?
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 12:39
Ben dans des variables ...
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
17 févr. 2009 à 12:45
T'es au courant qu'une fois la page générée, les variables ne sont plus définies? Un exemple parce que t'as pas l'air de bien saisir.. Une page qu'on va appeler test.php
<?php
if (isset($_GET['valeur'])) {
   $variable = $_GET['valeur'];
   }
echo $valeur;
?>

Donc on va définir notre variable en ouvrant une page => test.php?valeur=32
Elle affiche donc 32.
Puis on ouvre une nouvelle fois la page SANS MODIFIER NOTRE VARIABLE VALEUR => test.php
Et au final.. bah la variable $valeur sera vide et il ne t'afficheras rien... Etrange non?
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
17 févr. 2009 à 12:46
Désolé pour le double post.
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 12:50
Ahh excuze moi, je viens de relir ce que tu l'avais proposé, j'avais pas tout lu, je pensé ke tu voulais lui faire faire des calculs dans sa base de données toute, en faite tu lui avait juste di d'ajouter un champs à sa base pr stocké le pourcentage c ca ???

En faite c'était ca ke je fesais alusion
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
17 févr. 2009 à 12:53
Bah Base de données, ou fichiers vu le nombre de données a stocker..
Mais finalement, oui c'est ce que je disais. Il faut un moyen de stocker les trois nombres, victoire, défaite, et nul.
La procédure sera extraire le nombre, l'incrémenter, et le ré-enregistrer. (Le calcul des stats étant une autre affaire)

Tout est bien qui finis bien...
0
974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
17 févr. 2009 à 12:57
Oui c bien ca ...

Au temps pour moi ;) ^^ loooool
0
Profil bloqué
17 févr. 2009 à 14:45
Merci pour tous les gars. Mai j'ai toujour pa compris une chose :

Îl n'y a pas un moyen de dire au code en gros :


if ( cocheX == coché)
{
switch (cocheX )
{

case ( coche1 )
{
$i_1 ++;
}

...

case (coche30)
{
$i_30 ++;
}

}
}

Et ensuite je fais le pourcenatge de tous sa !


Merci d'avance !
0
Profil bloqué
17 févr. 2009 à 17:29
help
0
Utilisateur anonyme
17 févr. 2009 à 17:43
besoin d'aide ?
0
Profil bloqué
17 févr. 2009 à 17:45
Un peu oui ^^

si tu pouvait m'aidé se serait simpa.
0
Utilisateur anonyme
17 févr. 2009 à 17:47
d'abord je dois savoir à quoi correspond chaque ligne de checkbox ?
0
Profil bloqué
17 févr. 2009 à 17:50
Est ce que tu peut patientez une dizaine de minute le tps que je trouve un hébergeur gratuit avec inscription rapide de 100Mo et gratuit pour mettre en ligne mon site que je puisse te montré a quoi sa corresponde. Je vais te montré tt sa se sera plus simple qu'un long discours.
0
Utilisateur anonyme
17 févr. 2009 à 17:50
cé une grille de lotofoot ?
0