Probléme de checkbox

Eléphanteau du PHP | 15 Messages

16 nov. 2007, 01:14

Pour répondre a tong dans ma base j'ai 3 champ un champ 'id' un champ 'nom' et un champ 'dkp'

Question petétre béte pour vous :
il faut juste que tu calcule la valeur à donner à dkp.
j'ai pas trop saisie :shock:

se serais donc +1dkp et +10dkp ?? si oui ou les placer svp?

Invité
Invité n'ayant pas de compte PHPfrance

18 nov. 2007, 00:03

Donc voila j ai suivit tout se que vous m'avais dit mais toujour le méme probléme.
Quand je selectione 1 case et que je valide sa me compte bien les dkp prévu mais en plus de compté les dkp, sa les mutiplis.

si je selectione les 2 case la parcontre tout les dkp de cette personne tombe a zero

Je ne comprend plus rien snif .

Eléphanteau du PHP | 15 Messages

18 nov. 2007, 00:04

Oups je me suis pas logué désolé :D

Eléphant du PHP | 445 Messages

18 nov. 2007, 00:13

Redonnes ton nouveau code.

Les checkbox ainsi que le code PHP.

Eléphanteau du PHP | 15 Messages

18 nov. 2007, 00:23

ok merci

alors la page 2 (checkbox):
  <?php
  //connection au serveur:
  $cnx = mysql_connect( "localhost", "root", "" ) ;
  
  //sélection de la base de données:
  $db = mysql_select_db( "bob" ) ;
  
  //récupération de la variable d'URL,
  //qui va nous permettre de savoir quel enregistrement modifier
  $id  = $_GET["id"] ;
  
  //requête SQL:
  $sql = "SELECT * FROM paladin WHERE id = $id";
	    
  //exécution de la requête:
  $requete = mysql_query( $sql, $cnx ) ;
  
  //affichage des données:
  if( $result = mysql_fetch_object( $requete ) )
  {
  ?>
<form name="insertion" action="modif3.php" method="POST">
  <input type="hidden" name="id" value="<?php echo($id) ;?>">
  <table border="2" align="center" cellspacing="2" cellpadding="2">
    <tr align="center">
      <td bgcolor="#FFFFFF">nom</td>
      <td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"></td>
    </tr>
    <tr align="center">
      <td bgcolor="#FFFFFF">dkp</td>
      <td><input type="text" name="dkp" value="<?php echo($result->dkp) ;?>"></td>
    </tr>
    <tr align="center">
      <td bgcolor="#FFFFFF">inscription</td>
      <td bgcolor="#FFFFFF"><div align="left">
        <input type="checkbox" name="inscrit" value="<?php echo($result->dkp+1) ;?>">
      +1 si inscrit</div></td>
    </tr>
    <tr align="center">
      <td bgcolor="#FFFFFF">presence</td>
      <td bgcolor="#FFFFFF"><div align="left">
        <input type="checkbox" name="present" value="<?php echo($result->dkp+10) ;?>">
      +10 si present</div></td>
    </tr>
    <tr align="center">
      <td colspan="2" bgcolor="#FFFFFF"><p>
        <input type="submit" value="modifier">
          </p>        </td>
    </tr>
  </table>
</form>
  <?php
  }//fin if 
  ?>
et la page 3:
<?php
  //connection au serveur
  $cnx = mysql_connect( "localhost", "root", "" ) ;
 
  //sélection de la base de données:
  $db  = mysql_select_db( "bob" ) ;
 
  //récupération des valeurs des champs:
  $nom = $_POST["nom"] ;
  $dkp = $_POST["dkp"] ; 
  $dkp += (isset($_POST["inscrit"])) ? intval($_POST["inscrit"]) : 0; 
  $dkp += (isset($_POST["present"])) ? intval($_POST["present"]) : 0; 


  //récupération de l'identifiant de la personne:
  $id         = $_POST["id"] ;
  
  //création de la requête SQL:
 $sql ="UPDATE paladin SET nom='$nom', dkp='$dkp' WHERE id='$id'";
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
 
  
  //affichage des résultats, pour savoir si la modification a marchée:
  if($requete)
  {
    echo("La modification à été correctement effectuée") ;
  }
  else
  {
    echo("La modification à échouée") ;
  }
?>

Eléphant du PHP | 445 Messages

18 nov. 2007, 01:34

Si je comprends bien.

Tu as dans ta ligue des joueurs qui ont tous un DKP.
Si ils sont inscript alors cela leurs ajoutent 1 au DKP.
Si ils sont présent alors cela leurs ajoutent 10 au DKP.

Explique moi plus en details comment cela fonctionne (le DKP).
Car tu devras faire des modifications sur ton code voire peut etre changé la structure de ta table.

En tout cas, tu as deja des erreurs.

<?php
// La tu ajoute a inscrit une valeur egal à ton DKP+1
// et a present une valeur egal à DKP+10
// Ce qui triplera ton DKP car tu ajoutes DKP , $_GET['inscrit'] et $_GET['presence']
// dans ton script PHP
?>
<input type="checkbox" name="inscrit" value="<?php echo($result->dkp+1) ;?>">
<input type="checkbox" name="present" value="<?php echo($result->dkp+10) ;?>">
Après si ces valeurs sont fixe (1 et 10) alors tu peux les mettre directement en dur dans ton php
  //récupération des valeurs des champs:
  $nom = $_POST["nom"] ;
  $dkp = $_POST["dkp"] ; 
  $dkp += (isset($_POST["inscrit"])) ? 1 : 0; 
  $dkp += (isset($_POST["present"])) ? 10 : 0; 

Eléphanteau du PHP | 15 Messages

18 nov. 2007, 01:59

merci pour ta réponse tu as tout compris a se que je voulais faire :)

Pour se qui et du mot dkp c'est le nom employé par les joueur de mmorpg pour te simplifier la chose on va appelé sa des points :) .

Donc vue que tu as compris :D se sera plus simple .

Explication:

alors a la base les joueur on 0 dkp, tout les soir nous allons tuer des gros monstre dans le jeu on nomme sa un raid.
Les joueur s'inscrive pour le raid sur un site , toute les personne inscrite gagne 1 dkp si la personne qui et inscrite et presente pour le raid on lui rajoute 10 dkp.

Les dkp serve a définir qui et prioritére pour remporté l'objet que le monstre nous donne une fois mort.

Et donc je voudrais créer se systéme en php/sql pour facilité la gestion des dkp .

Je teste les modif et je te tien au courant .

si tu a d'autre question je t'écoute par avance un gros merci pour ton aide :D :D

Eléphanteau du PHP | 15 Messages

18 nov. 2007, 02:08

Yessss merci ton code fonctione trés bien :)

Parcontre j'ai une autre question:

Et il possible de faire la méme chose avec un menu déroulent car en fait mon projet final resemblera a sa:

Image

Eléphant du PHP | 445 Messages

18 nov. 2007, 02:15

Donc tu devras après chaque raid définir qui s'est inscrit et qui a été présent.

Je pense que dans tes checkbox tu peu mettre nimporte quel value.
Mais je te conseille pour etre propre de mettre les value 1 et 10.

Apres dans ton code PHP.
1. Tu recuperes l'ancien DKP (devrait tu avoir la possibilite de le modifier par cette interface ?)
2. Si il est inscript alors DKP=DKP+1
3. Si il est present alors DKP=DKP+10

Donc le code que j'ai t'ai donné avant devrait fonctionner.

A part :

- Comment ton membre s'inscrit il ? (forum,messagerie prive,email)
- Vous devez avoir un Nuked-Clan ou autre chose du genre je suppose.

Si oui, je pense que tu devrais te lancer dans la création d'un mod (a moins qu'il en existe deja un) pour gere les DKP (les membres s'inscrivent et le +1 est automatiquement ajouté et apres tu as une page d'administration ou tu valides les presences et ajoute les +10)

Eléphanteau du PHP | 15 Messages

18 nov. 2007, 02:35

Alors en se qui concerne l inscription au raid c'est vraiment difficile a expliqué .

Des personne que je ne connais pas on créer un site ICI spécialement concu pour les raid du jeu, sur se site je ne peut rien modiffier car il ne m'apartient pas .

sinon pour se qui et du site de notre guilde (team,groupe...) nous avons un forum phpbb avec un portail .

Créer un mod oui pourquoi pas sa me semble une trés bonne idée :D mais vu que je n'est aucune gestion sur le site des inscription cela ne m'avancera pas plus :).

Par contre il et vrai que je pourais créer un minisite d'inscription couplé de mon systéme de gestion de dkp , Pour cela je doit continuer a aprendre a codé des pages et des pages ... :D mais rien et impossible :)

Un big merci pour ton aide car mon probléme qui et a la base les checkbox et résolu .

Eléphanteau du PHP | 15 Messages

18 nov. 2007, 02:36

Pas de panique monsieur le gentil modo j'ai bien vue le bouton pour cloturé le post :D :D