PHP boucle formulaire tableau 2 dimensions
pekwy
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
doctormad Messages postés 430 Date d'inscription Statut Membre Dernière intervention -
doctormad Messages postés 430 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai un problème de bouclage PHP sur un formulaire.
J'ai un tableau HTML contenant :
1ère ligne : mois de janvier à décembre
1ère colonne : nom de l'employé
Evidemment la largeur du tableau (nombre de colonnes) est fixe mais la hauteur (nombre de lignes) s'agrandit en fonction du nombre d'employé.
Dans ce tableau, j'ai un chiffre associé à un employé X pour le mois Y... de la même manière pour tous les employés et tous les mois...
J'aimerai associer chacun de ces chiffres au numéro de colonne et au numéro de ligne pour faire de l'insertion en base de données. (chaque chiffre serait modifiable via un input text dans ce formulaire) et le traitement de formulaire me permettrait donc de savoir à quel mois et à quel employé est lié chaque chiffre.
J'espère être clair ? Désolé si je ne le suis pas :/
Mon code est le suivant :
A partir de là je ne sais pas comment boucler sur la page cible pour avoir les informations que je souhaite.
Quelqu'un pourrait m'éclairer ?
Merci beaucoup,
Bien à vous,
pekwy
J'ai un problème de bouclage PHP sur un formulaire.
J'ai un tableau HTML contenant :
1ère ligne : mois de janvier à décembre
1ère colonne : nom de l'employé
Evidemment la largeur du tableau (nombre de colonnes) est fixe mais la hauteur (nombre de lignes) s'agrandit en fonction du nombre d'employé.
Dans ce tableau, j'ai un chiffre associé à un employé X pour le mois Y... de la même manière pour tous les employés et tous les mois...
J'aimerai associer chacun de ces chiffres au numéro de colonne et au numéro de ligne pour faire de l'insertion en base de données. (chaque chiffre serait modifiable via un input text dans ce formulaire) et le traitement de formulaire me permettrait donc de savoir à quel mois et à quel employé est lié chaque chiffre.
J'espère être clair ? Désolé si je ne le suis pas :/
Mon code est le suivant :
<?php $requete = mysql_query("Select * from mois"); $requete2 = mysql_query("Select * from employes"); echo "<table><FORM method='post' action='mur.php'>"; echo "<tr><th colspan='13' class='title'>Mur</th></tr>"; echo "<tr><th class='mois'>Employé</th>"; while ($resultat = mysql_fetch_array($requete)) { echo "<td class='mois'>".$resultat['nom_mois']."</td>"; } echo "</tr>"; while ($resultat2 = mysql_fetch_array($requete2)) { $id = $resultat2['id_employes']; echo "<tr><th>".$resultat2['nom_employes']."</th>"; for ($i = 1; $i <= 12; $i++) { $used = mysql_query("select * from mur, employes, mois where employe_id = id_employes and id_mois = mois_id and id_mois = '".$i."' and id_employes = '".$id."'"); $result = mysql_fetch_array($used); if (mysql_num_rows($used) != 0) { echo "<td><input type='text' name='pourcentage[]' value='".$result['occupation']."' />%</td>"; echo "<input type='hidden' name='mois[$i]' value='".$i."'>"; echo "<input type='hidden' name='noms[$id]' value='".$id."'>"; } else { echo "<input type='hidden' name='mois[$i]' value='".$i."'>"; echo "<input type='hidden' name='noms[$id]' value='".$id."'>"; echo "<td><input type='text' name='pourcentage[]' value='0.00'>%</td>"; } } echo "<tr>"; } echo "<input type='submit' name='mur' value='mur'></form></table>"; ?>
A partir de là je ne sais pas comment boucler sur la page cible pour avoir les informations que je souhaite.
Quelqu'un pourrait m'éclairer ?
Merci beaucoup,
Bien à vous,
pekwy
A voir également:
- PHP boucle formulaire tableau 2 dimensions
- Whatsapp formulaire opposition - Guide
- Tableau word - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Tableau ascii - Guide
- Formulaire de réclamation facebook - Guide
1 réponse
Salut,
Si j'ai bien compris tu cherches à identifier tes chams pourcentage ?
Si c'est ça il te suffit de leur donner justement un identifiant :
Que tu pourras alors récupérer en faisant la même double boucle que celle que tu utilises pour afficher le tableau.
Au passage quelques remarques :
- Toujours tester les retours de fonctions (ex : mysql_query ne retourne pas forcément une ressource.
- Utiliser autant que faire se peut les objets php qui vont bien : https://www.php.net/manual/en/book.pdo.php
- Utiliser les simples quotes pour encadrer les chaînes de caractères (performances).
- Est-tu obliger de faire une jointure sur la table mois ?
- Selon le nombre d'employés à récuper il peut être plus intéressant de faire une requête par employé ou une requête pour tous, en tout cas surtout pas 12 requêtes par employé.
Si j'ai bien compris tu cherches à identifier tes chams pourcentage ?
Si c'est ça il te suffit de leur donner justement un identifiant :
echo '<td><input type="text" name="pourcentage_'.$i.'_'.$id.'" value="'.$result['occupation'].'" />%</td>';
Que tu pourras alors récupérer en faisant la même double boucle que celle que tu utilises pour afficher le tableau.
// pseudo code : for(i<12) { foreach(employe) { if(isset($_POST['pourcentage_'.$i.'_'.$id])) { // save in database } } }
Au passage quelques remarques :
- Toujours tester les retours de fonctions (ex : mysql_query ne retourne pas forcément une ressource.
- Utiliser autant que faire se peut les objets php qui vont bien : https://www.php.net/manual/en/book.pdo.php
- Utiliser les simples quotes pour encadrer les chaînes de caractères (performances).
- Est-tu obliger de faire une jointure sur la table mois ?
- Selon le nombre d'employés à récuper il peut être plus intéressant de faire une requête par employé ou une requête pour tous, en tout cas surtout pas 12 requêtes par employé.