Problème de récupération de données dans une base SQL
Posté : 15 nov. 2007, 10:55
Bonjour,
Je débute en PHP et j'essaie de créer un formulaire de staisfaction destiné aux utilisateurs du site Intranet dont je m'occupe. J'ai écrit ce formulaire en php, mais deux éléments me posent problème au moment de l'insertion dans ma base SQL.
Voici le code des deux questions qui me posent problème :
Voici maintenant un extrait du code du fichier de traitement de mon formulaire :
Pour la question 1, je ne récupère qu'une seule valeur parmi les cases cochées ; pour la question 2, je ne retrouve chaque fois qu'une seule valeur 's'.
Pour ces deux questions, j'ai choisi cette structure de base SQL :
Merci d'avance de votre aide !
Je débute en PHP et j'essaie de créer un formulaire de staisfaction destiné aux utilisateurs du site Intranet dont je m'occupe. J'ai écrit ce formulaire en php, mais deux éléments me posent problème au moment de l'insertion dans ma base SQL.
Voici le code des deux questions qui me posent problème :
Code : Tout sélectionner
1ère question :
<LABEL>7: Quelles sont les rubriques que vous consultez le plus souvent ? </BR>
(plusieurs choix sont possibles): </LABEL> </BR>
<INPUT type="checkbox" name="rubriquesconsult[]" value="actualitesdesservices" onclick="return itemClicked(actualitesdesservices)" />Actualités des Services
<INPUT type="checkbox" name="rubriquesconsult[]" value="annuaire" onclick="return itemClicked(annuaire)" />Annuaire
<INPUT type="checkbox" name="rubriquesconsult[]" value="breves" onclick="return itemClicked(breves)" />Brèves</BR>
<INPUT type="checkbox" name="rubriquesconsult[]" value="dossiersactu" onclick="return itemClicked(dossiersactu)" />Dossiers d'actualités
<INPUT type="checkbox" name="rubriquesconsult[]" value="zoomsur" onclick="return itemClicked(zoomsur)" />Zoom sur
<INPUT type="checkbox" name="rubriquesconsult[]" value="servicesenligne" onclick="return itemClicked(servicesenligne)" />Les services en ligne</BR>
<INPUT type="checkbox" name="rubriquesconsult[]" value="mairie" onclick="return itemClicked(mairie)" />Mairie
<INPUT type="checkbox" name="rubriquesconsult[]" value="outilspratiques" onclick="return itemClicked(outilspratiques)" />Outils pratiques
<INPUT type="checkbox" name="rubriquesconsult[]" value="recherchearticlesdiva" onclick="return itemClicked(recherchearticlesdiva)" />Recherche (d'articles sur DIVA)
</BR>
</BR>
2ème question :
<LABEL>8: Si vous avez choisi "Les services en ligne à la question précédente </BR>
merci de préciser les 3 services que vous consultez le plus : </LABEL> </BR>
<INPUT type="checkbox" name="servicesconsult" value="actionculturelle" onclick="return itemClicked(actionculturelle)" />Action Culturelle
<INPUT type="checkbox" name="servicesconsult" value="archives" onclick="return itemClicked(archives)" />Archives Municipales
<INPUT type="checkbox" name="servicesconsult" value="bibliotheques" onclick="return itemClicked(bibliotheques)" />Bibliothèques Municipales </BR>
<INPUT type="checkbox" name="servicesconsult" value="cvl" onclick="return itemClicked(cvl)" />CVL
<INPUT type="checkbox" name="servicesconsult" value="circulation" onclick="return itemClicked(circulation)" />Circulation
<INPUT type="checkbox" name="servicesconsult" value="commandepublique" onclick="return itemClicked(commandepublique)" />Commande Publique</BR>
<INPUT type="checkbox" name="servicesconsult" value="directiongenerale" onclick="return itemClicked(directiongenerale)" />Direction Générale
<INPUT type="checkbox" name="servicesconsult" value="directionaffjurid" onclick="return itemClicked(directionaffjurid)" />Direction des Affaires Juridiques
<INPUT type="checkbox" name="servicesconsult" value="directionfinances" onclick="return itemClicked(directionfinances)" />Direction des Finances</BR>
<INPUT type="checkbox" name="servicesconsult" value="drh" onclick="return itemClicked(drh)" />Direction des Ressources Humaines et des Relations Sociales
<INPUT type="checkbox" name="servicesconsult" value="enseignement" onclick="return itemClicked(enseignement)" />Enseignement
<INPUT type="checkbox" name="servicesconsult" value="fetesanim" onclick="return itemClicked(fetesanim)" />Fêtes et Animations</BR>
<INPUT type="checkbox" name="servicesconsult" value="patrimoine" onclick="return itemClicked(patrimoine)" />Gestion du Patrimoine
<INPUT type="checkbox" name="servicesconsult" value="syndicats" onclick="return itemClicked(syndicats)" />Organisations Syndicales
<INPUT type="checkbox" name="servicesconsult" value="secretariatgeneral" onclick="return itemClicked(secretariatgeneral)" />Secrétariat Général</BR>
<INPUT type="checkbox" name="servicesconsult" value="communication" onclick="return itemClicked(communication)" />Service Communication
<INPUT type="checkbox" name="servicesconsult" value="sit" onclick="return itemClicked(sit)" />Service Informatique et Télécomunnications
<INPUT type="checkbox" name="servicesconsult" value="sports" onclick="return itemClicked(sports)" />Sports
</BR>
</BR>foreach($_POST as $index => $valeur) {
$$index = mysql_real_escape_string(trim($valeur));
}
$rubriquesconsult = $_POST['rubriquesconsult'];
$sqlrubriquesconsult = '';
for ($i=0; $i<count($rubriquesconsult); $i++)
{
$sqlrubriquesconsult .=$rubriquesconsult[$i];
$rubriquesconsult .= ', ';
}
$servicesconsult = $_POST['servicesconsult'];
$sqlservicesconsult = '';
for ($i=0; $i<count($servicesconsult); $i++)
{
$sqlservicesconsult .=$servicesconsult[$i];
$servicesconsult .= ', ';
}
$sql = "INSERT INTO satisfactiondiva VALUES ('', '$nom', '$prenom', '$service', '$quantiteinfos', '$qualiteinfos',
'$clarteinfos', '$faciliteutilisation', '$frequenceconsult', '$dureeconsult', '$sqlrubriquesconsult',
'$sqlservicesconsult', '$servicecorresp', '$cellulecorresp', '$frequencecreationcontenu', '$outilcomplet',
'$souhaits', '$rubriquesaetoffer', '$remarques')";
$res = mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
}
?>
Je voudrais donc insérer les données correspondant aux cases cochées dans une base SQL mais ça ne se passe pas comme je le souhaiterais ; en fait, au moment de l'insertion ça me donne :Pour la question 1, je ne récupère qu'une seule valeur parmi les cases cochées ; pour la question 2, je ne retrouve chaque fois qu'une seule valeur 's'.
Pour ces deux questions, j'ai choisi cette structure de base SQL :
Code : Tout sélectionner
Champ Type Interclassement Null
rubriquesconsult varchar (255) latin1_general_ci Non
servicesconsult varchar (255) latin1_general_ci Non