IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Ajout ou modification d'info à partir d'info provenant de ma BDD


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Points : 50
    Points
    50
    Par défaut Ajout ou modification d'info à partir d'info provenant de ma BDD
    Bonjour,

    J'aimerais faire pour une association un système de statistiques concernant les matchs des joueurs. Ceux-ci seraient convoqués par l'entraineur, et s'ils ont tous joués, le coach validerait ses convocations.

    Le problème qui se pose c'est que je n'arrive pas à créer ma requête qui me permettrait d'ajouter ou de modifier les matchs joués pour chaques joueurs convoqués.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    <fieldset>
       <legend>Validation convocations:</legend>
    	<form method="post"  name="validation_convocation_form" action="admin.php?option=validation_convocation">
    	    <table border="1" name="tableau_valid_convok">
    		<tr>
    			<?php
    				$categorie = $_SESSION['categorie'];
     
    				$req_valid_convok = "SELECT * FROM calendrier cal 
    							     INNER JOIN convocation conv ON cal.id_calendrier = conv.id_match_convok
    							     LEFT JOIN donnees_perso d_p ON d_p.id = conv.joueurs 
    						            WHERE categorie_convok = '".$categorie."'";
     
    			$query_valid_convok = mysql_query($req_valid_convok);
     
    			$tableau_id = array();
     
    			while($valid = mysql_fetch_array($query_valid_convok))
    			{
    				$id_joueur = $valid['joueurs'];
     
    				$tableau_id[] = $id_joueur ;
     
    				echo "<td>".$id_joueur."</td>";
    				echo "<td>".$valid['nom']." ".$valid['prenom']."</td>";
    				echo "<td>";
    					echo "<select name='".$id_joueur."/oui_non'>";								
    						echo "<option value='1'>oui</option>";
    						echo "<option value='0'>non</option>";
    					echo "</select>";
    				echo "</td>";
    			echo "</tr>";
    			}
     
    		?>
    				</td>
    			</tr>
    			<tr>
    				<td colspan=3>
    			                 <input type='submit' value='Validez' name='valid_convok'>
    				</td>
    			</tr>
    		</table>
    	</form>
     
    <?php
     
    if(!empty($_POST['valid_convok']))
    {
    	$categorie_lettre = substr($_SESSION['categorie'], -1);
     
    	$req_match_joue = "INSERT INTO $table_8 VALUES";
     
    	for($i=0; $i<sizeof($tableau_id) ;$i++)
    	{
    	$oui_non[$i] = $_POST[$tableau_id[$i].'/oui_non'];
     
    	$tableau = array($tableau_id[$i]=>$oui_non[$i]);
     
     
     
    		foreach($tableau as $value=>$key)
    		{
    			$req_match_joue .=	"('', '".$value."', '".$categorie_lettre."', 0, 0, '".$key."', 0, 0, NOW())
    									ON DUPLICATE KEY UPDATE nbr_match_joué = nbr_match_joué + ".$key." ,";
     
    		}
     
    	}
    		$query_match_joue = mysql_query($req_match_joue) or die (mysql_error());
    Ma requête n'est pas correcte mais je ne sais pas comment la formuler, ou comment attribuer un nom de variable à chaque données ID + valeur du SELECT pour pouvoir ensuite l'utiliser dans ma requête.

    Auriez vous une idée.

    En vous remerciant d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Une règle de programmation est de chercher la simplicité.
    Donc je dis non à tout ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        for($i=0; $i<sizeof($tableau_id) ;$i++)
        {
        $oui_non[$i] = $_POST[$tableau_id[$i].'/oui_non'];
     
        $tableau = array($tableau_id[$i]=>$oui_non[$i]);
     
         foreach($tableau as $value=>$key)
            {
    ou même ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $id_joueur = $valid['joueurs'];
     
    $tableau_id[] = $id_joueur ;
    Utilise une notation en tableau pour tes formulaires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<select name='joueur[".$id_joueur . "]'>";
    Et tu n'as plus qu'a faire ta requête sur les ids reçus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach ($_POST['joueur'] as $id=>$value) {
        if ($value == "1") {
                  // requête
        }
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/01/2008, 14h07
  2. [MySQL] Génération d'hyperliens en PHP à partir d'infos tirées de MySQL
    Par delcada dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/06/2007, 20h04
  3. Réponses: 9
    Dernier message: 05/02/2007, 12h27
  4. Réponses: 2
    Dernier message: 26/01/2007, 14h58
  5. Compléter un formulaire à partir d'infos d'une DB
    Par zykiel dans le forum Langage
    Réponses: 14
    Dernier message: 13/12/2006, 21h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo