Back to top

Autore Topic: [RISOLTO] Ordinamento Tabella di default su di un campo  (Letto 7754 volte)

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Salve, vi scrivo per chiedervi un aiuto. Ho seguito le utilissime guide di vales su chronoforms per realizzare una maschera di inserimento che salva i dati in un database e sulla home page, tramite la actions db multi uploader una maschera che mostra i dati inseriti nella stessa tabella. I titoli dei campi sono cliccabili e mettono in ordine ASC o DESC la tabella in base al campo cliccato e fin qui tutto bene, il mio problema è che però vorrei che di default e cioè alla prima visualizzazione della tabella sulla home page, l'ordine fosse di tipo DESC di modo che in alto mi compaia sempre l'ultimo inserimento fatto, cosa che adesso non succede perchè mi compare all'ultimo posto. Il campo di ordinamento dovrebbe essere la data o meglio cf_created.
Io ho provato a dare un'occhiata al codice che mi crea la tabella:

<?php
// start ord
$img="";
if (Jrequest::getVar('direction','','get')=="") {
$ord="desc";
}
if (Jrequest::getVar('direction','','get')=="desc") {
$ord="asc";
$img="desc";
}
if (Jrequest::getVar('direction','','get')=="asc") {
$ord="desc";
$img="asc";
}
// end ord
?>

<table align="center" style="width: 90%" id="db_multi_record_loader">
<thead>
<tr align="center" bgcolor='#FFFFFF'>
<th style="border: solid 1px #000; width: 15%" class="col1 cell"><a class="order_link direction_asc"
 href="index.php?option=com_chronoforms&chronoform=show_allegati&order=cf_created&direction=<?php echo $ord; ?>"
>Data <?php if (Jrequest::getVar('order','','get')=="cf_created"){
echo "<img src=\"media/system/images/sort_".$img.".png\" alt=\"\"  />"; } ?></th>
<th style="border: solid 1px #000; width: 25%" class="col2 cell"><a class="order_link direction_asc"
 href="index.php?option=com_chronoforms&chronoform=show_allegati&order=titolo&direction=<?php echo $ord; ?>
">Titolo <?php if (Jrequest::getVar('order','','get')=="titolo")
{echo "<img src=\"media/system/images/sort_".$img.".png\" alt=\"\"  />"; } ?></th>
<th style="border: solid 1px #000; width: 50%" class="col4 cell">
<a class="order_link_asc"
href="index.php?option=com_chronoforms&chronoform=show_allegati&order=allegato&direction=
<?php echo $ord; ?>">Allegato
<?php if (Jrequest::getVar('order','','get')=="allegato"){
echo "<img src=\"media/system/images/sort_".$img.".png\" alt=\"\"  />"; } ?></th>
</tr>
</thead>

<?php
$bb=$form->data['elenco'];
foreach ($bb as $a) {

if ($a['tipologia']=="Del Personale") {
echo "<tr bgcolor='#BDEAA8'><td>".$a['cf_created']."</td><td>".$a['titolo']."</td>
<td><a class=\"order_link\"
href=\"components/com_chronoforms/uploads/nuovo_allegato/".$a['allegato']."\" target=\"_blank\">".$a['allegato']."
</td></tr>";
} else {
echo "<tr bgcolor='#B7D2E3'><td>".$a['cf_created']."</td><td>".$a['titolo']."</td>
<td><a class=\"order_link\"
href=\"components/com_chronoforms/uploads/nuovo_allegato/".$a['allegato']."\" target=\"_blank\">".$a['allegato']."
</td></tr>";
}
}
?>

</table>
<p></p>

ma non sono riuscito a capire dove intervenire. Qualcuno mi sa aiutare?
« Ultima modifica: 25 Feb 2013, 21:17:15 da elleoerre »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #1 il: 24 Feb 2013, 19:35:27 »
Rispetto al momento di quella guida ora è disponibile Chronoconnectivity v4 molto potente che risolve quello ed altri problemi.

Comunque è possibile ottenere l'ordinamento anche per il form. La via più semplice è creare una voce di menu che punta all'url del form ed alla quale vanno aggiunti i seguenti parametri.

&order=cf_created&direction=desc

Quindi per creare la voce di menu non devi scegliere il componente chronoforms ma Link di sistema->URL esterno

cf_created deve essere un campo visibile nell'elenco altrimenti usi cf_id che è il numero di record progressivo e da lo stesso ordinamento
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 elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #2 il: 24 Feb 2013, 21:42:37 »
Inanzitutto grazie per la risposta e per l'attenzione che mi hai dedicato, poi veniamo a noi:
In effetti ci avevo gia pensato a questa soluzione e quindi ho creato una voce di menu (Home2) per provare e ho indicato come link il seguente:

index.php?option=com_chronoforms&chronoform=show_allegati&order=cf_created&direction=desc

E in effetti la tabella ordinata la vedo nell'ordine in cui voglio io ma il problema è che siccome io voglio mi compaia questa tabella come home page e quindi come pagina predefinita, lla voce di menu del tipo "Kink Esterno" non posso impostarla come predefinita e quindi sono cmq costretto a cliccare sulla nuova voce di menu per vedere la tabella ordinata.
Volevo poi chiederti un'altra cosa, ma il componente chrono connectivity di cui parlavi, dovrei usarlo sempre affiancato a chronoforms per fare l'ordinamento da me desiderato o deve lavorare solo? Non lo conosco come componente e voorei sapere qualcosa di più.
Poi, dato che sei così gentile e disponibile, vorrei esporti un altro problema sempre con chronoforms e cioè, quando sulla mia home page mi compare la tabella non ordinata e clicco sul titolo del campo Data per ordinarla in ordine decrescente, la tabella viene si visionata ma per l'intera largezza del sito e cioè non visualizzo i moduli di destra e sinistra, vedo solo l'intestazione e la tabella ordinata...ma la cosa strana è che appena fatta non mi dava questo difetto e la tabella la vedevo nel contesto della stessa pagina, mentre poi d'improvviso ha smesso di funzionare e la vedo in quell'altro modo... Avrò toccato qualcosa inavvertitamente? Da cosa può dipendere? Grazie Vales se mi dai una mano....

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #3 il: 25 Feb 2013, 00:28:26 »
Niente da fare, non riesco a risolvere il mio problema e chronoconnectivity non lo so usare, mi ci vorrebbe una guida tipo quella per chronoforms fatta da vales (davero utile e chiara), qualcuno sa indicarmi dove posso trovarla se esiste? aiutoooooooo

Offline BelinBelan

  • Instancabile
  • ******
  • Post: 3887
  • Sesso: Maschio
  • Niente di meno e niente di più. uguale? Forse.
    • Mostra profilo
--
Per piacere, no messaggi privati con richieste d'aiuto!!!

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #5 il: 25 Feb 2013, 10:19:38 »
Grazie per l'aiuto... In effetti le avevo viste le guide che mi hai indicate ma sono per joomla 1.5 e quindi per la vecchia versione di chronoconectivity e non sapevo se erano cmq idonee....che mi dici? Cmq se sei cosi gentile da darmi una mano te ne sono veramente grato...:-D Praticamente io ho creato un form con chronoforms in cui inserisco un titolo della circolare, una breve descrizione, la tipologia della circolare scelta da un menu a tendina e un file allegato pdf, il tutto viene memorizzato su di una tabella creata sempre con chronoforms e fin qui tutto bene. Poi avevo creato un'altro form richiamato dalla home page del sito in cui tramite le actions del programma e più precisamente  il DB multi uploader visualizzo in forma tabellare tutti i dati inseriti che però vedo in ordine crescente e quindi l'ultimo oinserito mi compare in fondo alla tabella, io invece vorrei visualizzarlo per primo... Ho creato i titoli dei campi cliccabili di modo che posso ordinarli in ordine crescente o decrescente in base alla colonna da me scelta, io però vorrei che a prima vista la tabella mi comparisse in ordine decrescente (DESC) in base alla colonna della data, indicata in tabella con il campo cf_created creato da chronoforms stesso...
Con chronoforms non sono riuscito a capire come fare e chronoconnectivity non so usarlo. Ho sentito dire che quest'ultimo è fatto apposta per questo tipo di operazioni e così ho provato a scaricarlo e installarlo per vedere di capirci qualcosa ma non so come configurarlo per la mie necessita e dove mettere mani... Mi potresti aiutare tu? Grazie per l'interessamento... Magari una volta risolto vedrò di realizzare io una piccola guida tipo quella di chronoforms fatta da vales...:-D

Offline BelinBelan

  • Instancabile
  • ******
  • Post: 3887
  • Sesso: Maschio
  • Niente di meno e niente di più. uguale? Forse.
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #6 il: 25 Feb 2013, 10:22:20 »
Ciao, mi spiace, ma io non ho mai usato chronoconnectivity e non saprei da che parte iniziare.
Quelle guide sono "valide" perché il concetto non dovrebbe essere cambiato, cioè il ragionamento ed il percorso per arrivare alla soluzione di un problema, semmai occorre tempo e spirito per adattarle alla nuova versione e alla propria esigenza.
Buona lettura.. e buona fortuna! ;)
--
Per piacere, no messaggi privati con richieste d'aiuto!!!

Offline BelinBelan

  • Instancabile
  • ******
  • Post: 3887
  • Sesso: Maschio
  • Niente di meno e niente di più. uguale? Forse.
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #7 il: 25 Feb 2013, 10:24:36 »
ah una cosa....
nel codice della query che mostra i dati tabellari non riesci ad inserire una ORDER BY (nome campo) DESC
 
Cerca con Google il comando SQL chiamato ORDER BY... perché manca quello alla tua query. ;)
--
Per piacere, no messaggi privati con richieste d'aiuto!!!

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #8 il: 25 Feb 2013, 10:31:40 »
Ma tu quale query dici? Il codice della tabella che mi visualizza i dati sulla home page si trova nella action CUSTOM CODE caricata nell'evento On Load messa dopo il DB Multi Uploader...ed è simile a quello indicato da Vales nel suo Tutorial, con modificati solo i nome dei campi chiaramente diversi nel mio caso. In questo codice non vedo nessuna Stringa SQL del tipo SELECT ecc... ma semplicemente mi sembra di capire dal codice php scritto (di cui premetto non conoscere) che i dati della tabella, memorizzati dal sistema nell'array elenco, vengono poi salvati nella variabile array $bb e poi scandagliati e visualizzati con il ciclo foreach() giusto? Quindi non saprei dove inserire la Stringa SQL con l'aggiunta di ORDER BY... Tu sapresti aiutarmi?

Offline BelinBelan

  • Instancabile
  • ******
  • Post: 3887
  • Sesso: Maschio
  • Niente di meno e niente di più. uguale? Forse.
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #9 il: 25 Feb 2013, 10:35:08 »
Ciao, vado a "senso", i campi che tu mostri in una tabella sono il frutto sicuramente di una QUERY scritta in SQL, da qualche parte dovrebbe essere memorizzata questa query o avere dei parametri da configurare se non come fa a prendere che ne so, il nome di un campo, di un altro campo ancora?
 
Se trovi dove sta memorizzata questa QUERY o dove si configura sei a cavallo, direi! ;)
--
Per piacere, no messaggi privati con richieste d'aiuto!!!

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #10 il: 25 Feb 2013, 10:40:06 »
cosi a naso direi che questa operazione della query venga fatta di default dalla ctions DB Multi Uploader, proverò a dare un occhiata ai parametri di configurazione di questa actions, dove tra l'altro è stata indicato l'array di nome elenco in cui memorizzare i dati della tabella.. Proverò a dare un'occhiata, magari mi è sfuggito qualche parametro di configurazione... Ti farò sapere, intanto grazie... ;-)

Offline BelinBelan

  • Instancabile
  • ******
  • Post: 3887
  • Sesso: Maschio
  • Niente di meno e niente di più. uguale? Forse.
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #11 il: 25 Feb 2013, 10:49:18 »
ciao, nel frattempo ti segnalo che cercando su Google, nel forum di chronoforms mi pare, tra le faq, ci sia proprio la soluzione al tuo problema.

Mi pare d'aver capito che va modificato il codice del "data displayer" che di default mostra i dati della query.

il codice suggerito è questo:
Codice: [Seleziona]
<?php
if ( !isset($form->data['order']) || !$form->data['order'] ) {
  
$form->data['order'] = 'id';
  if ( !isset(
$form->data['direction']) || !$form->data['direction'] ) {
    
$form->data['direction'] = 'DESC';
  }
}
?>

--
Per piacere, no messaggi privati con richieste d'aiuto!!!

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #12 il: 25 Feb 2013, 14:36:58 »
Scua ma io ho provato a vedere dove inserire il codice che mi hai suggerito ma non capisco dove!!! Nel Data Displayer dell'action DB Multi Record Loader non c'è uno spazio predestinato all'inserimento del codice e tra l'altro il data displayer è cmq disabilitato come descritto nella guida di vales per personalizzare meglio l'output dei dati... Ma qual'è il link della faq che hai letto? Provo a darci un'occhiata... Grazie tante!!!

Offline BelinBelan

  • Instancabile
  • ******
  • Post: 3887
  • Sesso: Maschio
  • Niente di meno e niente di più. uguale? Forse.
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #13 il: 25 Feb 2013, 14:43:56 »
ciao,
per regolamento del forum non si linkano fonti esterne al forum stesso.
Io ho trovato la "soluzione" (metto le virgolette cautelativamente) cercando con Google e usando la seguente stringa:
chronoforms db multi record loader order by E' il secondo risultato...  ;)
--
Per piacere, no messaggi privati con richieste d'aiuto!!!

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #14 il: 25 Feb 2013, 18:03:29 »
Grazie per la buona caccia che è stata fatta.

La soluzione è creare un'action Custom code e metterla prima dell'action DB Multi Record Loader

con questo contenuto

Codice: [Seleziona]
<?php if ( !isset($form->data['order']) || !$form->data['order'] ) { $form->data['order'] = 'campo_da_ordinare'; if ( !isset($form->data['direction']) || !$form->data['direction'] ) { $form->data['direction'] = 'DESC'; } } ?>

in questo esempio l'ordinamento iniziale sarebbe DESC decrescente. Mettendo ASC sarebbe ascendente
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 elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #15 il: 25 Feb 2013, 20:08:49 »
Grandeeeeeeeeeeeeeeeeeee :-D grazie grazie grazie Vales, FUNZIONA!!!! Adesso però ho da chiederti un'altra cosa che riguarda sempre Chronoforms ma ha un'altro argomento, cosa faccio posto sempre su questa discussione o metto risolto qui e ne apro un'altra??? La nuova richiesta di aiuto riguarda il fatto se si può inserire in una form e cioè quella di inserimento nel database un controllo utente e cioè che quando la form viene richiamata da una voce di menu, prima di aprirsi mi richieda il login utente di joomla se non è gia loggato e una volta inseriti nome utente e password, mi controlli se l'utente appartiene a un determinato gruppo di utenti creato da me!

Offline BelinBelan

  • Instancabile
  • ******
  • Post: 3887
  • Sesso: Maschio
  • Niente di meno e niente di più. uguale? Forse.
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #16 il: 25 Feb 2013, 20:50:15 »
Un Topic, una soluzione  :D

Chiudi questa con [RISOLTO] mettendolo nel primo titolo di questa discussione e poi aprine un altra!  ;D

Ciao.
--
Per piacere, no messaggi privati con richieste d'aiuto!!!

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Ordinamento Tabella di default su di un campo
« Risposta #17 il: 25 Feb 2013, 21:16:47 »
Beh...non c'è stato neanche bisogno di aprirne uno nuovo perchè ho risolto.... cercando un pò su google ho trovato la soluzione, adesso tutto funziona!!! Adesso imposto la discussione come risolto. Grazie a tutti per l'ausilio  ;D , siete stati unici!!!

Offline BelinBelan

  • Instancabile
  • ******
  • Post: 3887
  • Sesso: Maschio
  • Niente di meno e niente di più. uguale? Forse.
    • Mostra profilo
Re:[RISOLTO] Ordinamento Tabella di default su di un campo
« Risposta #18 il: 25 Feb 2013, 21:17:42 »
Perfetto!  ;D
--
Per piacere, no messaggi privati con richieste d'aiuto!!!

 



Web Design Bolzano Kreatif