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 :

Tableau : test de données [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut Tableau : test de données
    bonjour a tous.

    voila je cree un tableau dynamique pour avoir a chaque ligne :

    une checkbox | un radio Yes un radio No | Le nom de mon rapport | et une date

    voici le code que j'ai pour l'instant :

    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
    <?php 
     
    					$reponse = mysql_query("SELECT * FROM reports WHERE Listing=1 ORDER BY Name "); // Requête SQL 
    					$nb_entrees = mysql_num_rows($reponse);
    					// Puis on fait une boucle pour tout afficher. 
     
    					for ($numero = 1; $numero<$nb_entrees+1; $numero++)
    					{ 
    						$donnees = mysql_fetch_array($reponse);
    						$id = $donnees['Id_reports'];
    						$checked_checkbox = isset($_POST['tab'][$numero]['0']) ? 'checked' : '';
    						$checked_radio_yes = (isset($_POST['tab'][$numero]['1']) &&  $_POST['tab'][$numero]['1'] == '1') ? 'checked' : ''; 
    						$checked_radio_non = (isset($_POST['tab'][$numero]['1']) &&  $_POST['tab'][$numero]['1'] == '0') ? 'checked' : ''; 
     
    						echo '<tr>';
    						echo '<td class="col1"><input type="checkbox" name="tab['.$numero.'][0]" value="'.$id.'" '.$checked_checkbox.' '; echo'></td>';  
              				echo '<td class="col2"><input class="radio" type="radio" name="tab['.$numero.'][1]" value="1" '.$checked_radio_yes.'><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab['.$numero.'][1]" value="0" '.$checked_radio_non.'><label class="red">No</label>';
    						echo '<td class="col3">' . $donnees['Name'] . '</td>';
    ce code génère donc ceci en html :

    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
    <table id="separation">
    					<tr>
    						<td class="col1"><label class="text8">Interest</label></td>
    						<td class="col2"><label class="text8">Send</label></td>
    						<td class="col3"><label class="text8">Name</label></td>
              				<td class="col4"><label class="text8">Publication date</label></td>
            	 		</tr>
    					<tr><td class="col1"><input type="checkbox" name="tab[1][0]" value="3"  ></td><td class="col2"><input class="radio" type="radio" name="tab[1][1]" value="1" ><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab[1][1]" value="0" ><label class="red">No</label><td class="col3">10 steps to Green IT</td><td class="col4"> 2008-10-16</td>
            	 			</tr><tr><td class="col1"><input type="checkbox" name="tab[2][0]" value="7"  ></td><td class="col2"><input class="radio" type="radio" name="tab[2][1]" value="1" ><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab[2][1]" value="0" ><label class="red">No</label><td class="col3">European Energy Markets Observatory</td><td class="col4"> 2007-11-12</td>
            	 			</tr><tr><td class="col1"><input type="checkbox" name="tab[3][0]" value="17"  ></td><td class="col2"><input class="radio" type="radio" name="tab[3][1]" value="1" ><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab[3][1]" value="0" ><label class="red">No</label><td class="col3">Global CIO Survey 2008</td><td class="col4"> 2008-03-11</td>
            	 			</tr><tr><td class="col1"><input type="checkbox" name="tab[4][0]" value="4"  ></td><td class="col2"><input class="radio" type="radio" name="tab[4][1]" value="1" ><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab[4][1]" value="0" ><label class="red">No</label><td class="col3">Mashup Corporation : the end of business as usual</td><td class="col4"> 2006</td>
            	 			</tr><tr><td class="col1"><input type="checkbox" name="tab[5][0]" value="1"  ></td><td class="col2"><input class="radio" type="radio" name="tab[5][1]" value="1" ><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab[5][1]" value="0" ><label class="red">No</label><td class="col3">Overview of electricity distribution in Europe</td><td class="col4"> 2008-09-30</td>
    Je pense que mes données sont stockée correctement dans le tableau. ( c'est la première fois que j'utilise un tableau donc je peux me tromper. )

    Maintenant ( c'est pour cela que je post ce message ) je voudrais faire un test pour savoir si le checkbox de la ligne est cochée et si c'est le cas enregistrer les données dans un autre tableau($rapports).
    Pour l'instant j'en suis arrivé à ce code ( voir ci-dessous) mais si je coche un radio sans avoir coché de checkbox il me le prends en compte et enregistre quand meme les données de la ligne ce qui me pose probleme pour la récupération futur de mon nouveau tableau $rapports.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(isset($_POST['tab']))
    	{
    	$rapports = $_POST['tab'];
    	}
    	else
    	{
    	$rapports = 0;
    	}
    voila maintenant si vous avez une autre solution a me proposer je suis preneur car je suis sur ce problème depuis ( 5 jours et je commence a désespérer lol )

    merci

  2. #2
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Bonjour,

    En effet, il me semble avoir déjà vu ce code...

    Peux-tu afficher ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<pre>";
    print_r($_POST['tab']);
    echo "</pre>";
    Pour avoir à quoi ressemble ce tableau.

    Gillou.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    alors je pense que je tien le bon bout comme on dit lol.

    voici les changement que j'ai apporté.

    Donc maintenant je ne travaille plus avec un tableau mais une serie de tableau comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<td class="col1"><input type="checkbox" name="tab'.$numero.'[cb]" value="'.$id.'" '.$checked_checkbox.' '; echo'></td>';  
              				echo '<td class="col2"><input class="radio" type="radio" name="tab'.$numero.'[ra]" value="1" '.$checked_radio_yes.'><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab'.$numero.'[ra]" value="0" '.$checked_radio_non.'><label class="red">No</label>';
    le code généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <tr><td class="col1"><input type="checkbox" name="tab1[cb]" value="3" checked ></td><td class="col2"><input class="radio" type="radio" name="tab1[ra]" value="1" checked><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab1[ra]" value="0" ><label class="red">No</label><td class="col3">10 steps to Green IT</td><td class="col4"> 2008-10-16</td>
            	 			</tr><tr><td class="col1"><input type="checkbox" name="tab2[cb]" value="7"  ></td><td class="col2"><input class="radio" type="radio" name="tab2[ra]" value="1" checked><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab2[ra]" value="0" ><label class="red">No</label><td class="col3">European Energy Markets Observatory</td><td class="col4"> 2007-11-12</td>
            	 			</tr><tr><td class="col1"><input type="checkbox" name="tab3[cb]" value="17" checked ></td><td class="col2"><input class="radio" type="radio" name="tab3[ra]" value="1" ><label class="green">Yes</label>
    											   <input class="radio" type="radio" name="tab3[ra]" value="0" checked><label class="red">No</label><td class="col3">Global CIO Survey 2008</td><td class="col4"> 2008-03-11</td>
    j'ai trouvé ce code : donc il me test si un checkbox est coché et si oui reprends la valeur

    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
    for ($numero = 1; $numero<$nb_entrees+1; $numero++)
    	{
    	// test si le checkbox est coché. 
    	$checked = isset($_POST['tab'.$numero.'']['cb']);
     
    		if ($checked) // si le checkbox est coché
    		{  
    		$idrapport = $_POST['tab'.$numero.'']['cb']; // on récupére l'id du rapport
     
    		$radio_checked = isset($_POST['tab'.$numero.'']['ra']);	// test si son radio est coché
    			if ($radio_checked) // si le checkbox est coché
    			{  
    			$valeurradio = $_POST['tab'.$numero.'']['ra'];
    			}
    			else
    			{
    			$valeurradio = "0";
    			}
     
     
    		echo "vous avez coché la ligne " .$numero. ""; echo " et l'idrapport est :  " .$idrapport. ""; echo " et son status est :  " .$valeurradio. "";
    		echo "</br>";
    		}
    	}
    Donc maintenant je suis au stade ou je dois mettre toutes mes données dans un tableau ( $rapports ) ( j'appelle une fonction qui se charge d'enregistrer les données dans la table donc c'est plus pratique )

    et ensuite je vais les reprendre avec un foreach ?

    voila je cherche de mon coté aussi

    Merci Gillou de m'aider a ce probleme

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Par défaut
    J'ai resolu mon problème

    Merci pour l'aide apportée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. créer un tableau, afficher des données et plus
    Par NicoO_O dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/04/2007, 12h16
  2. [VBA-E] Tableau Croise Dynamique données dans table access
    Par winner103 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/11/2006, 11h49
  3. [Tableaux] afficher un tableau et des données.
    Par suya95 dans le forum Langage
    Réponses: 3
    Dernier message: 13/06/2006, 21h12
  4. [MySQL] Problème affichage tableau PHP avec données SQL
    Par akalaan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 14h34
  5. Réponses: 13
    Dernier message: 14/10/2003, 14h31

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