Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Formulaire et base de donnée
#1
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.9
#~ Url du site :
#~ Hébergeur / Soft : 1&1
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour je me demandais si l'on pouvait injecter les résultats d'un formulaire(formbuilder) dans une bdd deja existante ?
quel est le moyen le plus logique pour y parvenir?

Merci , :p
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#2
Salut,

Si la DB existe déjà, alors tu peux soit utiliser formbuilder + une balise utilisateur appelée à la sauvegarde, ce qui me semble le plus rapide à mettre en oeuvre, soit tu codes un module toi-même.

Sinon avec FormBuilder, si y avait pas de DB je t'aurais conseillé de coupler cela avec une liste de ListIt2 pour lequel un couplage est possible depuis la version 0.7.4 de FormBuilder.

Tiens nous au courant de ta méthode ca peut toujours intéresser du monde...
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre
#3
après réflection je pense utiliser ListIt2 merci pour ta réponse. Je vous tiens au courrant
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#4
bonjour,

J'ai un soucis, je souhaite afficher seulement un article suivant un alias que j'ai volontairement ajouté en correspondance avec l'id d'une images du module gallery.

Code :
{$image->fileid assign=imgid}
{ListIt2Prix action="detail" item=$imgid }

Et il m'affiche rien!
J'ai activé le mode débug de ListIt2 et voilà ce qu'il me renvoi:
Citation :ListIt2Item Object
(
[item_id] => 253
[alias] =>
[title] =>
[position] => -1
[active] => 1
[create_time] =>
[modified_time] =>
[start_time] =>
[end_time] =>
[owner] =>
[key1] =>
[key2] =>
[key3] =>
[fielddefs] => ListIt2FielddefArray Object
(
[_parent_item:ListIt2FielddefArray:private] => ListIt2Item Object
*RECURSION*
[storage:ArrayObject:private] => Array
(
[3] => listit2fd_TextInput Object
(
[id:ListIt2FielddefBase:private] => 3
[name:ListIt2FielddefBase:private] => prix
[alias:ListIt2FielddefBase:private] => prix
[description:ListIt2FielddefBase:private] =>
[type:ListIt2FielddefBase:private] => TextInput
[friendlytype:ListIt2FielddefBase:private] => Text Input
[value:ListIt2FielddefBase:private] => ListIt2FielddefValue Object
(
[storage:ArrayObject:private] => Array
(
)

)

[originator:ListIt2FielddefBase:private] => ListIt2
[active:ListIt2FielddefBase:private] => 1
[disabled:ListIt2FielddefBase:private] =>
[path:ListIt2FielddefBase:private] => /homepages/14/d434117253/htdocs/skins2lol/modules/ListIt2/lib/fielddefs/TextInput
[position:ListIt2FielddefBase:private] => 1
[required:ListIt2FielddefBase:private] => 0
[options:ListIt2FielddefBase:private] => Array
(
[max_lenght] => 255
[size] => 20
)

[caller:ListIt2FielddefBase:private] =>
[item_id:ListIt2FielddefBase:private] => -1
[parent_array:ListIt2FielddefBase:private] => ListIt2FielddefArray Object
*RECURSION*
[event_handler:protected] =>
)

)

)

)
1

Pourtant j'avais cru comprendre que le paramètre item="" de list2 appelais l'objet par l'alias et la il est vide.
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#5
Salut,

En principe tu dois ouvrir un nouveau fil de discussion pour cet autre problème...

Tu es certain que l'ID que tu passes est le bon ?
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre
#6
Ah oui désolé je vais le faire! bein le soucis c'est que dans la documentation de List2 il dise que item="alias" or la je vois qu'il me le renvoi entant qu'id ?
Citation :ListIt2Item Object
(
[item_id] => 253
[alias] =>
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#7
essaie de mettre item='un_alias_existant_voir_le_champs_alias_de_listit2' (en dur pour tester)

plutot qu'un id
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre
#8
Oui je l'ai fait 253 étant un alias! mais dans le debug je vois l'alias vide mais l'id qui prend le paramétre 253 ! [Image: CaptureAlias_zpsd94de10c.png]
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#9
Ah bon... alors je vois pas...
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre
#10
Je viens d'aller voir dans ma base de donnée l'id de l'alias "253" c'est 4 j'ai donc remplacer item="253" par item="4" cela fonctionne.

Donc il n'y a aucun moyen d'appeler l'objet par son alias? pourtant la documentation dit :
(optional) item="alias" - This parameter is only applicable to the detail view. It allows specifying which item to display in detail mode. Must be an item alias.
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#11
Et si tu essayais avec des alias non numériques ? Il y a peut-être une restriction de nommage comme dans la plupart des langages.
Répondre
#12
c'est peut être sa je vais faire un essai juste pour l'info! Sinon pour mon problème de base du post j'ai finalement opter pour un udt!
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#13
Jean le Chauve a écrit :Et si tu essayais avec des alias non numériques ? Il y a peut-être une restriction de nommage comme dans la plupart des langages.
Je viens de faire un test avec un alias non numérique et en effet c'etait le soucis "bon à savoir" merci.
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#14
En ce qui concerne l'udt. J'ai eut un soucis avec la connection sql de CMSMS j'ai du rentrer les codes à la main!

CMSMS ne prend pas en charge le PDO?

Code :
[== PHP ==]
$id=$params['id'];
$prix=$params['prix'];
$fid='2';
$retour=$_SERVER['HTTP_REFERER'];

$db = new PDO('mysql:host=*****;dbname=*****', '*****', '******');
$req = $db->prepare('INSERT INTO '.cms_db_prefix().'module****(fileid, fieldid, value) VALUES(:id, :fid, :prix)');

$req->execute(array(
'id' =>$id,
'fid' =>$fid,
'prix' =>$prix
));

header('Location: '.$retour.'');
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#15
Euuuuuh doucement là... pour avoir la connexion db, tu fais $db = cmsms()->getDb() (ou un truc du genre) puis tu utilises adodb et surtout l'API cmsms... voir la doc en ligne. Ou voir simplement dans un module comment faire.

Et pour ce qui est de l'alias numérique, il n'est pas impossible que dans le code de listit2, il y ait un test qui considère un alias numérique comme un ID si c'est de l'integer. Dans ce cas ce n'est pas une erreur mais 2 cas d'usage... A voir dans la doc du module ou dans le code directement.
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre
#16
Citation :adodb
adodb_lite :p
J-C Etiemble Tutoriels v 2.2.x
Répondre
#17
Oui oui certes Wink.

Par contre lapko j'espère que tu fais un insert dans une table d'un de tes propres modules... au vu de ta requête j'ai un doute...
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre
#18
heriquet a écrit :Oui oui certes Wink.

Par contre lapko j'espère que tu fais un insert dans une table d'un de tes propres modules... au vu de ta requête j'ai un doute...

Bein pour le coup tu as à moitié raison! dans le sens ou oui c'est un formulaire en ligne ! mais c'est provisoire c'est juste pour qu'une personne rentre des infos dans la base de donnée. Le site étant en maintenance et le formulaire sera supprimé à l'ouverture du site grand public! ^^

sinon c'est lakpo pas lapko ! Wink (polak inversé)

pour le : $db = cmsms()->getDb()
c'est bien ce que j'ai voulu utilisé à la base mais je n'ais pas tout compris donc pour des raisons de rapidité j'ai rentré la connexion en dur
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#19
Si c'est provisoire, pourquoi ne demandes-tu pas un fichier Excel avec les données à encoder que tu importes ensuite d'un coup avec phpmyadmin ?
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre
#20
parce que pour la personne c'est plus compliquer de retrouver l'identifiant à chaque fois! plutot que de voir l'image et d'entrée l'info correspondante!
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#21
Ah ok de fait s'il y a des données liées...

Par contre dans ton cas j'aurais pas chipoté, j'aurais fait un petit module perso avec un formulaire tout simple (Gallery fournit des méthodes pour lister les galeries) et une/des table(s) dans la DB...

Ca aurait été plus rapide que d'essayer de bricoler avec les modules existants mais encore faut-il savoir comment faire un module perso tout simple. Avec les questions que tu as posées, je me risquerais à dire que c'est à ta portée. Et c'est franchement bien pratique de savoir coder ses modules perso crois moi Smile.
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre
#22
pour le coup j'avoue que j'ai mal réfléchi à ma méthode de travail du départ du coup une fois la moitié du travail fait je ne voulais pas reprendre tout! je pense que j'aurais pu le faire aussi entièrement avec List2.
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#23
Enfaite à la base je devais juste faire des gallery(117) avec en moyenne 5 photos par gallery! Donc je suis partie sur le module gallery ensuite j'ai du rajouter deux informations supplémentaires pour les images! J'ai donc rajouté des champs personnalisé pour ces deux infos mais pour la personne c'est assez contraignants de devoir a chaque fois cliquer sur chaque images pour rentrer l'info de ces champs!
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre
#24
Certes...

Mais listit2 est pratique pour des petites quantités de données. Des petites listes, sans plus. (avis perso)

Avec un module perso, tu fais réellement ce que tu veux. Franchement si tu connais un peu PHP, et que tu es parvenu(e?) à coder ton UDT, tu ne perdrais pas le peu de temps investi dans un peu de formation à ce sujet. En quelques lignes de code on peut gérer les accès DB (merci le module Orm, et en quelques autres lignes tu peux gérer les templates de ton module -merci CGExtensions).

Et les interactions avec les autres modules sont tout à fait possible : je viens de terminer 2 modules qui utilisent les 2 modules cités et sont couplés avec FrontEndUsers : un calendrier et un module de news qui ont des données bien spécifiques et qui doivent être filtrées suivant le profil utilisateur connecté... un jeu d'enfant avec CMSMS !
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Répondre
#25
Oui tu as entièrement raison il faudrait que je m'y penche! après il faut que je me remette à la programmation (obj j'imagine) parce qu'a la base je ne suis que graphiste ^^ !
Des chercheurs qui cherchent on en trouve mais des chercheurs qui trouvent on en cherche!!!!
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)