Double requêtes et formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Double requêtes et formulaire

par Patriboom » 27 juil. 2008, 14:09

Si tu donnais la structure de tes tables, quelqu'un ici serait en mesure de t'aider mieux. A priori, la solution la plus performante serait celle de la jointure de tables, mais ce n'est pas toujours possible.

Sais-tu ce qu'est une jointure?
Si oui, essaie-la.
Si non, tu peux visiter la documentation MySQL dans JOIN
Tant que nous n'avons pas la structure de tes tables, il nous est très difficile de faire plus.

par Ryle » 27 juil. 2008, 10:19

En fait, la logique voudrait que pour chaque case tu vérifies si elle doit être cochée ou pas. Tu peux pour cela exécuter une requête par case, mais le problème c'est que cela fera un nombre inconnu de requête, ce qui est très moyen côté performances.

Il y a plusieurs solutions, la première consiste à récupérer dans un premier temps la liste des cases cochées, stocker le résultat dans un tableau et boucler ensuite sur la liste de cases à afficher, en interrogeant le tableau à chaque fois pour savoir si celle que tu affiches doit être cochée ou non.

Une autre solution pourrait être de faire une jointure dans ta requête affichant les cases pour savoir dès le départ si celle-ci doit être cochée ou pas.

Double requêtes et formulaire

par Raphinthenight » 25 juil. 2008, 02:46

Bonjour,

J'ai un petit problème qui va m'empêcher de dormir !

Je souhaite récupérer des valeurs d'une base de données MySQL.
Une requête sert à créer des boutons de type checkbox et une autre requête me permet de sélectionner celles que je veux checker au chargement de la page.

Et pour cette bête manipulation, ma logique trouve ses limites.

Je n'ose pas vraiment vous montrer mon code de ces dernières heures : il semble de plus en plus décousu.

Je peux vous donner par contre quelques bribes :
//La requête qui permet d'afficher les boutons
$var1 = mysql_fetch_object($resultat2);
$id1=$var1->idsection;
$nom1=$var1->nomsection;

//La requête qui permet de cocher certains boutons (du moins je l'espère)	
$var3 = mysql_fetch_object($resultat3);
$id3=$var3->idsection;

//Si la catégorie se trouve dans la section, la case est cochée...											
if($id3 == $id1)
{
	echo ($nom1."<input type='checkbox' checked name='section".$id1."' value='".$id1."' />");
}
		
//Sinon !
else
{
	echo ($nom1."<input type='checkbox' name='section".$id1."' value='".$id1."' />");
}
Merci à vous !