Back to top

Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - federico85

Pagine: [1]
1
Ciao ragazzi,
Anzitutto volevo ringraziare vales per tutte le sue guide utilissime su questo meraviglioso componente che aiuta  anche chi (come me) non sa molto di php, html e java a crearsi qualche form utile per il proprio sito.
A forza di leggere e cercare sui vari forum sono riuscito a mettere insieme - con chronoforms e chronoconnectivity - dei form per gestire le iscrizioni ad una manifestazione e crearne le classifiche per ogni gara...
Ora però, per creare la classifica generale, dovrei aggiornare le tabelle con alcuni dati.
I dati sono distribuiti su due tabelle una con i dati degli enti partecipanti e l'altra con i dati delle persone che gareggiano.
Per esempio: I primi 10 classificati ad una gara portano dei punteggi all'ente a cui appartengono (1° classificato = 100 punti, 2° classificato = 75 punti, 3° classificato = 65 punti ecc...).
Quindi se il sig. "MARIO ROSSI" è arrivato 1° e appartiene all'ente "ESEMPIO" vorrei che il campo "classifica_generale" della tabella contenente i dati dell'ente venga aggiornata con i 100 punti.
Per arrivare a questo, pensavo di aggiornare prima la tabella dei partecipanti inserendo in un campo i punteggi e poi sommare i punteggi totalizzati dalle persone, a seconda dell'ente di appartenenza, e inserirli nella tabella con gli enti.
Ho letto che per aggiornare i record esistenti bisgona inserire nel form il cf_id già esistente quindi ho provato a farlo in questo modo:
Codice: [Seleziona]
<?php
//creo l'array con i punti
$punti = array(1007565);
//seleziono i primi dieci classificati in questa gara
$db =& JFactory::getDBO();
$query "
SELECT `cf_id`
FROM `#__chronoforms_iscrizioni_partecipanti`
WHERE `check2` != '' AND `radio0` = 'M' AND `cat_cerchi` = 'D' AND `rifiuto_cerchi` = ''
ORDER BY somma_pts_cerchi DESC, date_int ASC
LIMIT 10
"
;
$db->setQuery($query);
$cf_ids $db->loadResultArray();

$prova array_combine ($cf_ids$punti);

foreach(
$prova as $k=>$v) { echo "

<input type='text' name='cf_id' id='cf_id' value='
$k' />  
<input type='text' name='class_gen_cerchi' id='class_gen_cerchi' value='
$v' /> <br/>"; }

?>
Ma mi trovo davanti a qualche problema che non riesco proprio a risolvere:
1) Con l'array_combine il numero dei dati contenuti nei due array da combinare ho letto che deve essere uguale quindi se avessi per caso solo otto persone in classifica e 10 punteggi non potrei combinare i valori (nel codice ho inserito solo 3 punteggi proprio perchè so che sono 3 i cf_id da aggiornare);
2) Aprendo il form con il codice qui sopra, a video, mi mostra proprio i dati che volevo però quando clicco sul submit mi aggiorna solo il primo record presente nella tabella del db;
3) Come posso fare a far si che non venga cambiato il cf_user_id?

Grazie in anticipo...

Federico

2
Gestione Form / array_combine e query da db
« il: 29 Gen 2011, 20:02:39 »
Forse qualcosa di meglio sono riuscito a fare...
Ho modificato il codice così:
Codice: [Seleziona]
<?php
// creo il primo array di punteggi
$punti = array(1009080);
// estraggo il secondo array di cf_id
$db =& JFactory::getDBO();
$query "
SELECT `cf_id`
FROM `#__chronoforms_iscrizioni_olimpiadi`
WHERE `check2` != '' AND `radio0` = 'M' AND `cat_cerchi` = 'D' AND `rifiuto_cerchi` = ''
ORDER BY somma_pts_cerchi DESC, date_int ASC
LIMIT 10
"
;
$db->setQuery($query);
$result $db->loadAssoclist();

$result_2 array_combine ($punti$result);

foreach(
$result_2 as $k=>$v){ echo $k.' -> '.$v.'<br />'; }
?>

Utilizzando loadAssoclist adesso quando carico la pagina mi restituisce:

100 -> Array
90 -> Array
80 -> Array

Io vorrei che al posto delle scritte Array comparissero i diversi cf_id estratti prima... :(

Qualcuno sa aiutarmi? Grazie...

3
Gestione Form / array_combine e query da db
« il: 29 Gen 2011, 16:23:58 »
Ciao...
Sono nuovo del mondo di chronoforms, php ecc... Ho provato a cercare nei vari forum e sulle diverse guide presenti online ma non riesco a risolvere questo problema con chronoforms:
Ho creato un array contenente dei punteggi e poi volevo estrarre un array di 10 cf_id da una tabella del db.
Poi con array_combine associare ad ogni cf_id estratto un valore presente nell'array di punteggi. Ho utilizzato il seguente codice:

Codice: [Seleziona]
<?php
// creo il primo array di punteggi
$punti = array(1009080);
// estraggo il secondo array di cf_id
$db =& JFactory::getDBO();
$query "
SELECT `cf_id`, 
FROM `#__chronoforms_mia_tabella`
WHERE `check2` != '' AND `radio0` = 'M' AND `cat_cerchi` = 'D' AND `rifiuto_cerchi` = ''
ORDER BY somma_pts_cerchi DESC, date_int ASC
LIMIT 10
"
;
$db->setQuery($query);
$result $db->loadObjectlist();
// uso array_combine per associare i due array
$result_2 array_combine ($result$punti);

foreach(
$result_2 as $k=>$v){ echo $k.' -> '.$v.'<br />'; }
?>

Non funziona e non riesco a capire il perchè... Forse qualcuno può aiutarmi a capire dove sbaglio...
Ringrazio in anticipo.

Federico

4
Gestione Form / Ricerca con drop down
« il: 02 Set 2010, 18:29:44 »
Buongiorno a tutti!
Sono nuovo del mondo php, chronoform e chronoconnectivity e grazie alle guide e consigli trovati sul forum sono riuscito a mettere insieme un form di registrazione per iscrivere dei partecipanti ad una gara.
Adesso sto provando a fare, con chronoconnectivity una pagina in cui ricercare i dati inseriti nel db e grazie alla guida sulle pagine di ricerca scritta da vales ci sono riuscito.
Con i textbox funziona però, se al posto del textbox inserisco un dropdown che si popola con dei nomi inseriti in un'altra tabella del db, la ricerca non funziona.
Qualcuno può aiutarmi a capire dove sbaglio?
Grazie in anticipo...

Pagine: [1]


Web Design Bolzano Kreatif