Liste déroulante dont les choix se remplissent avec les réponses

  • elitim
  • elitim's Avatar Topic Author
  • Visitor
  • Visitor
4 years 2 weeks ago #98718 by elitim
elitim created the topic: Liste déroulante dont les choix se remplissent avec les réponses
Bonjour à tous..Je cherche à faire une liste de choix, avec un choix "autre". Une fois saisi et envoyé, la liste de choix contiendra ce nouveau choix, etc...

De ce fait, la liste de choix s'auto-remplira avec tous les choix possibles

D'après ce que je comprends, il faut faire un sql sur la base de données qui contient la liste des choix, et un rafraichissement, pour réinjecter les résultats...

Heu, on fait ça comment ???

Please Log in to join the conversation.

More
4 years 2 weeks ago #98789 by DenisChenu
DenisChenu replied the topic: Liste déroulante dont les choix se remplissent avec les réponses
Salut,

Ce n'est pas trivial ... et demande un temps de développements.

Sinon: je déplace ton message dans la partie FR ...

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

  • elitim
  • elitim's Avatar Topic Author
  • Visitor
  • Visitor
4 years 1 week ago - 4 years 1 week ago #98956 by elitim
elitim replied the topic: Liste déroulante dont les choix se remplissent avec les réponses
Bon, je me suis plongé un peu plus dans le problème et voilà où j'en suis. Limesurvey collecte les choix des listes déroulantes dans la table ANSWERS. les choix "autres" des listes déroulantes sont dans la table du questionnaire en cours, sous la forme {SGA}other

J'ai donc crée une page php avec une simple connection sql pour injecter dans la table answer les réponses autres de la liste déroulante..Et ça marche !

Encore quelques petites corrections pour arriver à faire une mise à jour totalement automatique..mon code :

<?php

// 1. Create a database connection
$connection = mysqli_connect(localhost,"utilisateur","mdp");
if (!$connection) {
die("Database connection failed: " . mysqli_error());
}

// 2. Select a database to use
$db_select = mysqli_select_db($connection, "_limebase");
if (!$db_select) {
die("Database selection failed: " . mysqli_error());
}


// on crée la requête SQL
$sql = 'SELECT 716469X1X4other FROM ls_survey_716469';

// on envoie la requête
$req = mysqli_query($connection,$sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysqli_connect_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysqli_fetch_assoc($req))
{
// on affiche les informations de l'enregistrement en cours(juste pour tester)

echo ' <i>intervenants : '.$data.'</i><br>';

// on copie les résultats dans la table answer
$data = mysqli_real_escape_string($connection,$data);

mysqli_query($connection,"INSERT INTO ls_answers (qid,code,answer,sortorder) VALUES (4,4,'$data',4)");

//il faut que j'automatise l'insertion de qid, code et sortorder. J'ai mis manuellement ces données
}



// on ferme la connexion à mysql
//mysqli_close();
?>
Last Edit: 4 years 1 week ago by elitim.

Please Log in to join the conversation.

More
4 years 1 week ago #98977 by DenisChenu
DenisChenu replied the topic: Liste déroulante dont les choix se remplissent avec les réponses
Salut,

Il faut qe tu udate les code en fonction surtout ...
Si les codes sont les mêmes alors tu ne pourras pas avoir des réponses différentes

A la riguqeur un
$sql = 'COUNT(*) FROM ls_survey_716469 WHERE 716469X1X4other!=''';

Pour le décompte (c'est l'idée : le SQL est boggué)

Sinon, je préfère utiliser un autocomplete pour ce genre de problème : une seule question de type texte, j'ajoute manuelle mes réponses principale dans le tableau de retour avant, j'interroge ma base avec un tri par nombre (distinct), je fait un array_unique pour supprimer les doublons et je retourne un json dans l'autocomplete.

Denis

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

Moderators: Nickko

Did you already participate in our customer survey?

Don't miss your chance for great prices.

Please click here to participate:

Start now

Start now!

Just create your account and start using Limesurvey today.

Register now