Récupérer les values des checkbox dans un fichier modifier ?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 févr. 2006, 21:36

$req=mysql_query("select '.jour_mairie_sql.', mairie, dde, ad_mairie, ad_dde, cp_mairie, cp_dde, tel_mairie, tel_dde, fax_mairie, fax_dde, site_web, idpatro, instructeur, heure_mairie, heure_dde from  mairies_info  where id='$mairie_courant'"); ?>
A quoi correspond ton select '.jour_mairie_sql.' ?

Eléphant du PHP | 96 Messages

24 févr. 2006, 17:47

Voili...voilou. les checkbox qui ont une valeur dans le champ sont cochées ! et les autres décochées.
<?php
// il faut d'abord déclarer un tableau comprenant les valeurs jours pour les checkbox
			$array_jours[] = "Tous les jours";
			$array_jours[] = "Lundi";
			$array_jours[] = "Mardi";
			$array_jours[] = "Mercredi";
			$array_jours[] = "Jeudi";
			$array_jours[] = "Vendredi";
			$array_jours[] = "Samedi";
//La requéte
			$req=mysql_query("select * from  mairies_info where id='$mairie_courant'");
			$result=mysql_fetch_array($req);
//le formulaire?>
<form>
<?php
// on boucle sur le tableau $array_jours (checkbox)
			foreach ($array_jours as $a => $jour_semaine) {
// on compare la variable result['jour_mairie'] à la variable jour_semaine
    		if (ereg($jour_semaine,$result['jour_mairie'])) {
// si elle est présente dans la variable alors on déclare la variable tableau checked_jour pour cocher le checkbox
       		 $checked_jour[$jour_semaine] = "CHECKED";
    		}
			else {
        $checked_jour[$jour_semaine] = "";
    }
// on construit la liste des checkbox
?>
			<br />
			<br />  
			&nbsp;&nbsp;<strong>
			<? echo $jour_semaine; ?> : <input type="checkbox" name="jour_mairie[]" value="<? echo $jour_semaine; ?>" <? echo $checked_jour[$jour_semaine]; ?>>
 
			<?
}?></strong>
</form>
Par contre les checkbox s'affichent les unes dessous des autres ! :oops:
Il y a t-il un moyen de les afficher côte à côte ? comme ceci ?
Tous les jours : Lundi : Mardi : Mercredi : Jeudi : Vendredi : Samedi :

Eléphant du PHP | 67 Messages

24 févr. 2006, 17:50

met les dans un tableau ;)

Eléphant du PHP | 96 Messages

24 févr. 2006, 17:52

met les dans un tableau ;)
tu veut dire <table></table> ?

Eléphant du PHP | 67 Messages

24 févr. 2006, 17:53

met les dans un tableau ;)
tu veut dire <table></table> ?
oui tout à fait ;)

Eléphant du PHP | 96 Messages

24 févr. 2006, 17:55

je n'y avait même pas pensé ! j'étais toujours dans le PHP...merci.

Eléphant du PHP | 96 Messages

24 févr. 2006, 18:01

Et merci à tous ceux qui on pris le temps de se pencher sur mon probléme... :)

Mammouth du PHP | 19672 Messages

24 févr. 2006, 20:48

Fais donc voir la structure de ta table, j'ai un gros doute sur le premier champ de ta requête.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 96 Messages

25 févr. 2006, 11:41

Fais donc voir la structure de ta table, j'ai un gros doute sur le premier champ de ta requête.

Code : Tout sélectionner

-- phpMyAdmin SQL Dump -- version 2.6.1 -- http://www.phpmyadmin.net -- -- Serveur: localhost -- Généré le : Samedi 25 Février 2006 à 10:14 -- Version du serveur: 4.1.9 -- Version de PHP: 4.3.10 -- -- Base de données: `toulouse` -- -- -------------------------------------------------------- -- -- Structure de la table `mairies_info` -- CREATE TABLE `mairies_info` ( `id` int(11) NOT NULL auto_increment, `dde` varchar(30) default NULL, `mairie` varchar(30) NOT NULL default '', `ad_dde` varchar(255) default NULL, `cp_dde` varchar(20) default NULL, `tel_dde` varchar(20) default NULL, `fax_dde` varchar(20) default NULL, `ad_mairie` varchar(255) default NULL, `cp_mairie` varchar(20) default NULL, `tel_mairie` varchar(20) default NULL, `fax_mairie` varchar(20) default NULL, `site_web` varchar(255) default NULL, `idpatro` int(11) default NULL, `instructeur` varchar(30) default NULL, `jour_mairie` varchar(255) default NULL, `jour_dde` varchar(255) default NULL, `heure_mairie` text, `heure_dde` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Infos sur les mairies' AUTO_INCREMENT=4 ;
C'est mieux comme ça ?
<?
//La requéte
			$req = "select * from  mairies_info where id='$mairie_courant'";
			$req1 = mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());
			$result=mysql_fetch_array($req1);
?>

Mammouth du PHP | 19672 Messages

25 févr. 2006, 11:53

C'est bien ce qu'il me semblait et charabia l'a souligné : le champ jour_mairie_sql n'existe pas mais c'est bien jour_mairie tout court. Donc ta requête devra davantage ressembler à :
$req = mysql_query("SELECT jour_mairie, mairie, dde, ad_mairie, ad_dde, cp_mairie, cp_dde, tel_mairie, tel_dde, fax_mairie, fax_dde, site_web, idpatro, instructeur, heure_mairie, heure_dde ".
                   "FROM  mairies_info  ".
                   "WHERE id='$mairie_courant'"); ?>
Ensuite avant d'affiche le formulaire, il conviendrait de récupérer le résultat:
if($infos = mysql_fetch_assoc($req))
{
    //... ton formulaire
}
//...
?>
Et dans ton formulaire :
<input type="checkbox" name="jour_mairie[]"<?php if($infos['jour_mairie'] == "Tous les jours"){echo" CHECKED";}?>> 
Un détail : évite le SELECT * : il est toujours préférable de ne récupérer que les champs dont tu as besoin au lieu de tout récupérer en vrac, tu gagneras en performances et coté pratique, c'est plus facile pour coder.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: