Back to top

Autore Topic: Chronoform: limitare le iscrizioni?  (Letto 3237 volte)

Offline goblin64

  • Nuovo arrivato
  • *
  • Post: 10
  • Sesso: Maschio
    • Mostra profilo
Chronoform: limitare le iscrizioni?
« il: 03 Gen 2011, 13:01:00 »
Ciao a tutto il forum  :)
Ho questo problema: ho fatto una pagina dove ci si può iscrivere a corsi (interni all'azienda in cui lavoro, non pubblici) e mi hanno chiesto di limitare le iscrizioni a 20 persone a corso. Devo anche far visualizzare gli iscritti già presenti, ma il problema è NON ACCETTARE PIU' ISCrizioni QUANDO RAGGIUNGO I 20 ISCRITTI.
Non riesco a trovare il modo per impedire qa chronoform di accettare altre persone  :(
Qualcuno mi può aiutare per cortesia? Il 7 gennaio, in teoria, dovrei essere pronto con questo form

mau_develop

  • Visitatore
Re:Chronoform: limitare le iscrizioni?
« Risposta #1 il: 03 Gen 2011, 20:25:56 »
quando fa la query di inserimento va creata una funzione che verifichi quanti si sono iscritti.

oppure quando viene chiamato il forma la stessa funzione può evitare di far compilare il form.

M.

Offline goblin64

  • Nuovo arrivato
  • *
  • Post: 10
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoform: limitare le iscrizioni?
« Risposta #2 il: 04 Gen 2011, 09:59:21 »
Grazie per la risposta, ma.... forse mi è scappato di NON scrivere che non so una cippa lippa di query  8)
Io ho fatto tutto con chronoform, non ho scritto niente. Giusto qualche riga di html.
Mi potresti scrivere un esempio? Se non riesci grazzie lo stesso, in caso scrivo in un'altro forum dove parlano solo di db.
« Ultima modifica: 04 Gen 2011, 12:37:14 da goblin64 »

mau_develop

  • Visitatore
Re:Chronoform: limitare le iscrizioni?
« Risposta #3 il: 04 Gen 2011, 18:09:23 »
beh credo sia una cosa da sviluppare ad hoc, non si può fare un esempio...

in caso scrivo in un'altro forum dove parlano solo di db.
---------------------------------------------------------------------------
... qs nn l'ho capita...

M.

Offline goblin64

  • Nuovo arrivato
  • *
  • Post: 10
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoform: limitare le iscrizioni?
« Risposta #4 il: 04 Gen 2011, 19:44:33 »
intendevo che cambiavo nel senso che se qui si parla di db, magari provavo sotto joomla 1.5 e GESTINO FORM (http://forum.joomla.it/index.php/board,86.0.html) oppure sotto joomla 1.5 direttamente. nn è che volevo cambiare sito  :)  si ho scritto male :) sorry!
« Ultima modifica: 04 Gen 2011, 19:46:06 da goblin64 »

mau_develop

  • Visitatore
Re:Chronoform: limitare le iscrizioni?
« Risposta #5 il: 04 Gen 2011, 20:55:19 »
no, non è che l'ho interpretata male, non l'avevo proprio capita.

difficile trovare quello che cerchi bell'e che pronto

M.

Offline goblin64

  • Nuovo arrivato
  • *
  • Post: 10
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoform: limitare le iscrizioni?
« Risposta #6 il: 04 Gen 2011, 22:48:27 »
:( grazie lo stesso. sei stato gentile   :)

Offline goblin64

  • Nuovo arrivato
  • *
  • Post: 10
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoform: limitare le iscrizioni?
« Risposta #7 il: 05 Gen 2011, 09:59:22 »
ho ritrovato il codice che avevo perso... e che nn funziona.
qualcuno me lo riesce a spiegare un modo da modificarlo per fare ciò che mi serve?
Codice: [Seleziona]
<?php
$user 
=& JFactory::getUser();
$db =& JFactory::getDBO();  
// conteggio del prossimo atto
$query "SELECT count(*)  FROM `#__tua_tabella` where `id` = '".$user->id."'";
$db->setQuery($query);
$nomes $db->loadResultArray();
$numero=$nomes+1;

?>
cf_id è il numero che il form di chrono ha assegnato al record di iscrizione
 
grazzzZZZie!!!!!   :)

mau_develop

  • Visitatore
Re:Chronoform: limitare le iscrizioni?
« Risposta #8 il: 05 Gen 2011, 18:44:38 »
// conteggio del prossimo atto
$query = "SELECT count(*)  FROM `#__tua_tabella` where `id` = '".$user->id."'";
-------------------------------------------------------------------------------------------------------------
...mi sfugge qualcosa...

vuoi limitare le iscrizioni a qualcosa quindi avrai una tab dedicata a raccogliere le iscrizione e se più di una tipologia avrai qualche campo che le distingue.

fai una normalissima query mettendo come discriminante ciò che distingue una dall'altra o se solo una tipologia non serve, dopodichè usi getAffectedRows (http://docs.joomla.org/How_to_use_the_database_classes_in_your_script)

se il numero di righe supera o è uguale al max
http://api.joomla.org/Joomla-Framework/Application/JController.html#setRedirect

setRedirect() con msg

M.

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoform: limitare le iscrizioni?
« Risposta #9 il: 05 Gen 2011, 19:09:58 »
Quello che invio è un'idea di lavoro, non conoscendo i campi del form e la tabella che stai usando.

il seguente codice va inserito nella finestra Validation del form nel campo Server Side Validation Code dopo aver settato a Yes il campo Enables Server Side Validation

Codice: [Seleziona]
?php
$user =& JFactory::getUser();
$db =& JFactory::getDBO(); 
$query = "SELECT count(*) FROM `#__tua_tabella` WHERE `campo_corso` = '".Jrequest::getVar('campo_corso','','post')."'";
$db->setQuery($query);
$nomes = $db->loadResultArray();
$numero=$nomes;

if ($numero>=20) {
return "E' stato raggiunto il numero massimo dei partecipanti. L'iscrizione non può essere accetta";
}
?>

Dico subito che si può fare meglio. Ma il tempo è tiranno.

Con questa soluzione il messaggio appare dopo l'invio del form e questo può essere un difetto, perchè compilare un form quando si sà già che il corso non ha disponibilità. Ma meglio di niente.

Ottimo sarebbe pensare un javascript che elabora preventivamente con php la tabella del database ed avverte appena si inserisce il corso che ha raggiunto il pieno. Ma ora non ho tempo per questo.

E' uno stimolo ad approfondire. ;D
« Ultima modifica: 05 Gen 2011, 19:11:45 da vales »
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline goblin64

  • Nuovo arrivato
  • *
  • Post: 10
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoform: limitare le iscrizioni?
« Risposta #10 il: 09 Gen 2011, 18:32:02 »
GRAZIEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!!!!
GRAZIE Grazie grazieeeeeeeeeeeee
Sia a Vales che a mau_develop.
DOmani in ufficio (ho tutto la in un mio server) lo provo subito poi vi dico e sono riuscito a farlo funzionare.
A DOMANI!!!!
Ciaoooooooooooo
e grazie ancora!

Offline nikoweb

  • Nuovo arrivato
  • *
  • Post: 27
    • Mostra profilo
Re:Chronoform: limitare le iscrizioni?
« Risposta #11 il: 02 Feb 2012, 17:08:19 »
La cosa interessa anche a me però vorrei far apparire una numerazione nel form e nell'email di conferma

 



Web Design Bolzano Kreatif