Fork me on GitHub






Select multiple caché
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
Bonjour à tous,

J'ai, grâce à JJDAI, installé les permissions sur mon module de cinéma. Sur le formulaire de remplissage de fiche de film, les champs apparaissent selon les permissions (critiques, correcteurs, responsable du matériel promotionnel, etc.).

Si les champs sont cachés, il faut quand même que leurs variables soient remplies comme il faut lors d'une édition de fiche. Donc :
- si l'utilisateur a les droits -> le champ apparaît et se remplit ;
- si l'utilisateur n'a pas les droits -> le champ est caché, mais les infos sont tout de même transmises à la réception.

Le formulaire :
Citation :
//génération automatique de select multiple pour genres
if (annonce_getPermission('cat-2', 1) == 1) {
$sql = mysql_query("SELECT * FROM ".$xoopsDB->prefix(cotations_genres)." ORDER BY genre ASC");
$genres = new XoopsFormSelect(_MI_COTATIONS_GENRES, "genres", $tabgenre, 10, 1);
while($donnees = mysql_fetch_assoc($sql)){ $gid = $donnees['gid'];
$genre = $donnees['genre'];
$genres->addOption("$gid", "$genre"); } $my_form->addElement($genres, false);} else { $genres= new xoopsFormHidden("genres",$tabgenre);
$my_form->addElement($genres, true); }


A l'autre bout (traitement de l'information) :
Citation :
foreach($genres as $genre)
{
$sql = "INSERT INTO ".$xoopsDB->prefix("cotations_jointuregenres")." (identifiant,fid, gid) VALUES ('','$identifiant','$genre')"; $xoopsDB ->queryF($sql);
}


Dans le formulaire, le résultat de print_r($genres) est le même que ce soit dans la partie if (avec droits) que dans la partie else (sans les droits).

Pourtant, rien à faire : il n'enregistre rien dans la base de données.

Je ne comprends pas où le bât peut blesser !

Si quelqu'un peut m'aider, ce serait très sympathique !

Merci d’avance !

P.S. : j'ai essayé avec setHidden()... Que dalle... la fonction m'a l'air buguée

Posté le : 22/02/2012 21:47

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+
Re: Select multiple caché
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Bonjour,

Il faut peut-être que tes champs cachés soient "checked"

Posté le : 23/02/2012 07:34

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: Select multiple caché
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
Comment ça checked ?

$tabgenre est un array qui contient justement les valeurs checkées.

Posté le : 23/02/2012 08:26

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+
Re: Select multiple caché
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2554
Bonjour
Merci pour le "grâce à JJDAI, ...."

En mode debug y a-il des message d'erreur, ou des requêtes en erreur.
Si tu mets la commande exit; juste après ta requête SQL, que dis le mode dubug.
Attention le exit interrompt le programme brutalement, mais cela permet de voir les requêtes qui viennent d’être envoyées.
JJDai

Posté le : 23/02/2012 15:48

Ne pas perdre patience, même si cela semble impossible, c'est déjà de la patience.
Origami
Conseil des Sages
Sur gitHub
Partager Twitter Partagez cette article sur GG+
Re: Select multiple caché
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
De rien... Il faut rendre à JJDAI ce qui est à César, ou un truc du genre...

D'ailleurs j'ai encore un ch'tit problème avec les permissions, que tu pourras constater en allant ici :https://www.frxoops.org/modules/newbb/ ... id=219760#forumpost219760

Ça doit pas être grand'chose m'enfin...

Pour le reste, je te dirai ça, mais comme je viens de rouvrir le site (quand on le ferme une journée, ça fait un gros manque de connexions), j'aimerais faire en sorte que le mode debug n'apparaisse pas aux utilisateurs afin de travailler pénard sur le site sans avoir à le fermer.

Or je ne sais pas comment faire. Dès que j'ai réussi, je te donne les infos du debug.

Merci !

Cdt

Posté le : 23/02/2012 16:57

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+
Re: Select multiple caché
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
Bon... la commande exit est juste ce que j'attendais depuis le début de ma vie
Je ne connaissais pas et c'est génial.

J'ai donc pu constater que tout allait bien dans mon include.

C'est le passage du formulaire au fichier de réception qui foire. En fait, j'ai l'impression que le champ caché
Citation :
new xoopsFormHidden("genres",$tabgenre);

ne transmet tout simplement pas les tableaux.

La preuve quand je suis en admin, avec le select normal, le fichier qui traite les données me renvoie :
Citation :
Array ( [0] => 21 [1] => 20 ) 1


En revanche si je n'ai pas les droits et que le champ est caché :
Citation :
Array1


Dans le deuxième cas, les données ont disparu !!!

Aurais-je malgré moi touché une limite de xoops ?

Je ne sais vraiment pas comment me sortir de ce pétrin !


Posté le : 28/02/2012 00:31

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+
Re: Select multiple caché
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2554
Bonjour
new xoopsFormHidden("genres",$tabgenre);

si $tabgenre st un tableau ça me parait normal, il ne me semble pas que ce composant détecte les tableaux (je m'en vais vérifier des que je peux).
dans tous les cas tu as 2 solutions a première vue.
1 - transformer ton tableau avant en le sérialisant:
new xoopsFormHidden("genres",implode(";",$tabgenre));

et à la sortie tu fais le contraire:
$tabgenre=explode(";", $_POST['genres']);

2 - Créer autant de texthidden que d'item, un truc genre:

for($h=0;$h count($tabgenre);$h++){
    new 
xoopsFormHidden("genres[{$h}]"$tabgenre);
}

Et à la sortie:
$tabgenre$_POST['genres'] ;

Et tu devrais récupérer ton tableau.

Ceci dit est-il utile de passer un tableau dans le formulaire que tu vas récupérer à l'identique?
J'ai peut-être pas toutes les billes en mains.

JJDai


Posté le : 28/02/2012 13:08

Ne pas perdre patience, même si cela semble impossible, c'est déjà de la patience.
Origami
Conseil des Sages
Sur gitHub
Partager Twitter Partagez cette article sur GG+
Re: Select multiple caché
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
je craignais précisément d'avoir à faire un serialize. Ça devient un peu l'usine à gaz.

En fait je pense qu'il faut que je revoie ma copie.

Mes fiches film se décomposent ainsi :
Fiche
--Catégorie (infos générales, critiques, médias etc.)
----Champs (Titre, année de prod, réalisateur, etc.)

Or j'ai des critiques, des coteurs, des correctrices, un webmestre qui ont tous des droits différents. Par exemple la correctrice peut modifier les textes, mais par les médias.

Comme tout ça est sur une seule fiche (ce qui est peut-être déjà un prob mais je suis pris par le temps), les champs doivent apparaître selon les droits.
Mais si quelqu'un poste des médias, il n'a pas le champ "Genre(s) du film." Donc ce n'est pas transmis. Donc la variable est vide, dont il update en mettant une variable vide dans la table sql.

Je voulais donc que tous les champs soient transmis bien qu'il n'apparaissent pas, de manière à ce que l'édite se fasse correctement.

Mais je crois que ce que je vais faire, c'est modifier le fichier de destination. Si la variable est vide, il ne fera rien et basta. Je pense que c'est plus simple.

Vois-tu ce que je veux dire mon ineffable ami de forum ?


Posté le : 28/02/2012 13:48

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+
Re: Select multiple caché
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2554
Ton ineffable ami de forum pense qu'effectivement il te faut revoir ta copie.

Je pense qu'il vaudrait mieux agir à la source et ne mettre dans le formulaire que ce qui est utile en fonction des droits droits.
ensuite c'est au retour ou il faudra peut-être jongler un peux avec la requête de mise à jour afin de n'updater que les champs concernés.

JJDai


Posté le : 28/02/2012 14:07

Ne pas perdre patience, même si cela semble impossible, c'est déjà de la patience.
Origami
Conseil des Sages
Sur gitHub
Partager Twitter Partagez cette article sur GG+
Re: Select multiple caché
Supporter Xoops
Inscrit: 17/02/2005 20:25
Messages: 404
Exactement. C'est ce que je suis en train de faire en ce moment même !

Posté le : 28/02/2012 14:13

http://www.deficulturel.net - Donnons un sens à  la culture !
http://www.lecran.fr - Devenez pixelligent !
http://www.sauvonslart.com - Un ...
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

25 Personne(s) en ligne (15 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 25 | Plus ...