begin process at 2012 02 15 00:37:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Choix d'un nom pour des input type=radio dynamique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Choix d'un nom pour des input type=radio dynamique

vendredi 31 octobre 2008 à 11:02:23 | Choix d'un nom pour des input type=radio dynamique

bullrot1985

Bonjour a tous.

Voila je cree ne liste de rapport dynamiquement.
Pour chaque rapport je voudrais avoir un bouton type radio avec comme choix Yes ou No.

Je voudrais savoir comment gérer les noms et récupérer les choix pour pouvoir les stocker par la suite dans ma bdd.

voici mon code :

<?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.
                   
                    while($donnees = mysql_fetch_array($reponse))
                    {
                    echo '<tr>';
                    echo '<td class="col1"><input type="checkbox" name="cb[]" value="'.$donnees['Id_reports'].'" '; if(isset($_POST['cb']) && in_array($donnees['Id_reports'],$_POST['cb'])) echo 'checked="checked"'; echo'></td>'; 
                      echo '<td class="col2"><input class="radio" type="radio" name="ra[]" value="1"><label class="green">Yes</label>
                                           <input class="radio" type="radio" name="ra[]" value="0"><label class="red">No</label>';
                    echo '<td class="col3">' . $donnees['Name'] . '</td>';
                      $date= substr_replace($donnees['Date'], '', 7, 3);
                      echo '<td class="col4">' . $date . '</td>
                          </tr>';
                    }
                    ?>        

donc c'est au niveau des input type radio je precise :)

merci


vendredi 31 octobre 2008 à 14:20:50 | Re : Choix d'un nom pour des input type=radio dynamique

aKheNathOn

Membre Club
Tu peux définir des index au niveau des name de ton radio. Au lieu d'écrire ra[] tu peux mettre ra[1] ou ra[2] ... et ton index devrait être ton Id_reports.

Essayes ce code :

<?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.
 
  while($donnees = mysql_fetch_array($reponse))
  {
    echo '
    <tr>
      <td class="col1">
        <input type="checkbox"
          name="cb['.$donnees['Id_reports'].']"
          value="'.$donnees['Id_reports'].'" ';
    if(isset($_POST['cb'][$donnees['Id_reports']])) echo 'checked="checked"';
    echo' />
      </td>
      <td class="col2">
        <input class="radio" type="radio" name="ra['.$donnees['Id_reports'].']" value="1" ';
    if($_POST['ra'][$donnees['Id_reports']] == 1) echo ' checked="checked"';
    echo '/><label class="green">Yes</label>
        <input class="radio" type="radio" name="ra['.$donnees['Id_reports'].']" value="0"';
    if($_POST['ra'][$donnees['Id_reports']] == 0) echo ' checked="checked"';
    echo ' /><label class="red">No</label>
      <td class="col3">
        ' . $donnees['Name'] . '
      </td>';
    $date= substr_replace($donnees['Date'], '', 7, 3);
    echo '<td class="col4">' . $date . '</td>
    </tr>';
  }
?>

aKheNAtHoN
lundi 3 novembre 2008 à 09:18:02 | Re : Choix d'un nom pour des input type=radio dynamique

bullrot1985

Merci pour ce code

Donc maintenant chaque ligne a son propre Radio avec comme nom : ra[valeur de l'id report].

comment puis-je récupérer cette valeur ?

merci
lundi 3 novembre 2008 à 09:58:48 | Re : Choix d'un nom pour des input type=radio dynamique

aKheNathOn

Membre Club
essayes ce code :

<?php
  echo '<pre>';
  print_r($_POST);
  foreach($_POST['ra'] as $id => $valeur) {
    echo 'Pour '.$id.' --> '.$valeur.' <br />';
  }
?>

aKheNAtHoN
lundi 3 novembre 2008 à 10:11:36 | Re : Choix d'un nom pour des input type=radio dynamique

bullrot1985

sympa ton code !

je vais l'examiner de prêt. Sinon je me pose une question.

je vois toujours les tableaux comme ceci : 
nom pierre
age 27

peut-on faire : nom&age pierre 27
Au lieu de 2 collones en avoir 3 ?

si oui je pourrais optimiser mon code je pense vu que j'ai déjà un tableau ?

Merci de ton aide en tous cas

lundi 3 novembre 2008 à 10:35:11 | Re : Choix d'un nom pour des input type=radio dynamique

aKheNathOn

Membre Club
Ben tu peux faire autant de dimensions que tu veux :

$_POST[--][nom]
$_POST[--][age]

Regardes concrètement :

<form method="post">
Personne 1 :<br />
Nom : <input type="text" name="pers[1][nom]" /><br />
Age : <input type="text" name="pers[1][age]" />
<hr />
Personne 2 :<br />
Nom : <input type="text" name="pers[2][nom]" /><br />
Age : <input type="text" name="pers[2][age]" />
<br /><input type="submit" />
</form>
<?php
  if (isset($_POST['pers'])) {
    echo '<hr /><pre>';
    print_r($_POST[pers']);
  }
?>

Là c'est un tableau de personnes - mais il aurais pu avoir 4 ou X dimensions. Pour chaque dimension rajoutes une [--clef--].

aKheNAtHoN
lundi 3 novembre 2008 à 10:59:25 | Re : Choix d'un nom pour des input type=radio dynamique

bullrot1985

Oki je vois +- le principe mais j'ai encore du mal a faire la liaison avec la récupération des données et le tout dynamiquement.

en faite je voudrais le resultat final avoir un tableau. qui serait completer avec uniquement pour les lignes dont le input checkbox est coché.
Et pour ceux ci avoir l'id report et un 1 ou 0 suivant le input radio.

j'essaye de mettre toutes tes idées en place mais j'avoue que j'ai du mal.

donc je pense que ma partie du formulaire est correcte.

<?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.
                   
                    while($donnees = mysql_fetch_array($reponse))
                    {
                    echo '<tr>';
                    echo '<td class="col1"><input type="checkbox" name="cb[]" value="'.$donnees['Id_reports'].'" '; if(isset($_POST['cb']) && in_array($donnees['Id_reports'],$_POST['cb'])) echo 'checked="checked"'; echo'></td>'; 
                      echo '<td class="col2"><input class="radio" type="radio" name="cb[]['.$donnees['Id_reports'].']" value="1"><label class="green">Yes</label>
                                           <input class="radio" type="radio" name="cb[]['.$donnees['Id_reports'].']" value="0"><label class="red">No</label>';
                    echo '<td class="col3">' . $donnees['Name'] . '</td>';
                      $date= substr_replace($donnees['Date'], '', 7, 3);
                      echo '<td class="col4">' . $date . '</td>
                          </tr>';
                    }
                    ?>        


Comme ceci je pense avoir pour chaque ligne un tableau respectif avec dans la premiere collone l'id du report et dans la seconde un 1 ou 0.

Maintenant j'ai essayé de récuperer ce tableau mais je n'arrive a récupérer que la premiere collone.
voici mon code.
if(isset($_POST['cb']))
    {
    $rapports = $_POST['cb'];
        foreach($rapports as $id => $valeur)
        {
            echo 'Pour '.$id.' --> '.$valeur.' <br />';   
        }
    }
    else
    {
    $rapports =0;
    } 

et donc j'obtiens ce tableau :

Pour 0 --> 9
Pour 1 --> 1

j'arrive a récupérer seulement les rapport coché mais j'arrive pas a récupérer la valeur 1 ou 0 du radio associé.

Merci  



Cette discussion est classée dans : input, type, choix, echo, radio


Répondre à ce message

Sujets en rapport avec ce message

recuperer un input de type radio dans ajax [ par moumourourou ] Salut,j'ai un formulaire ou j'ai 2input radioje veux récupérer le input choisis pour faire une requête de sélection d'une base de donnéedonc si vous v problème avec vérification boutton radio [ par suethi75 ] Bonsoir, J'affiche deux boutons radio si l'utilisateur coche "oui" je lui affiche quelque chose à la suite, sinon s'il le laisse à "non" alors je ne l pas d'inscription dans la base apres confirmation bouton "oui" [ par christophe110 ] Bonjour,Je suis débutant en php.J'ai fait une newsletter ou, sur une première page l'identifiant rempli un formulaire.Puis, il est dirigé vers une sec Passage de type objet a un parametre [ par mael974 ] Bonjour a tous,mon pbl est le suivant (je suis en php 5) : j'ai un objet (type objet) que je souhaite passer en paramtre pour pouvoir ensuite utiliser recuperation infos input type file [ par ju0123456789 ] Bonjour,Je voudrais savoir comment on fait pour récupérer les infos d'un INPUT de type FILEPour nimporte quel autre input "normal" il suffit de faire envoyer une variable vers plusieures pages php [ par wanakill ] Bonjour,voici mon code:_______________________________________________________ //récupère la variable du formulaire$var_search forcer une syntexe dans un input type text [ par Evony ] Bonjour,j'ai un input type="text" dans lequel les utilisateurs doivent écrire une date et pour évtier un maximum d'erreurs, je souhaiterais forcer la recherche avec option [ par fraisa1985 ] Salut a tous, J'ai une page qui contient une champ texte de recherche et 2 bouton radio et une bouton submit pour la recherche. selon le bouton radion mysql_fetch_row() [ par med7787 ] slt pour tout j'est un probleme ; le code est: include('connect.php');$type=$_POST['typee'];$req=mysql_query("select * from materielle where (type Recherches approfondies dans un tableau associatif [ par DelChris ] Bonjour à tous. <p class="MsoNormal"


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,401 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales