Problema di programmazione di mod autocostruita
Inviato: 23/12/2013, 21:31
Premetto che mi scuso se questa non è la sezione adatta, non penso vada in mod develop visto che è una modifica che voglio applicare solo al mio forum, senza divulgarla perchè fa sicuramente pena e senza prenderne una gia fatta perchè non so se esiste e in più ho voglia di imparare 
Allora ho creato una piccola mod, la cui funzione è quella di estrarre da un array, creato da un campo in una tabella dell'sql, gli anni in cui l'utente X ha contribuito al mantenimento dell'hosting per il forum che gestisco.
se avete capito il ragionamento contorto siete gia a buon punto
ora vorrei far comparire l'immagine "12" e "13" sotto ogni icona dell'utente in viewtopic.php
per fare questo ho inserito nella pagina viewtopic.php alcune righe di codice che vi riporto
e ho inserito negli array postrow
ora le mie domande sono due...
è intanto possibile evitare di dover scrivere DONATORE_AA,DONATORE_AA1...ma fare un unico array che si legge nel template? (questa in realtà non è il problema per cui vi scrivo ma mi interesserebbe sempre saperlo
)
la seconda invece è quella che mi porta a scrivervi...
lo script funziona perfettamente, visualizza quello che deve MA c'è un problema:
nella pagina mettiamo che ci siano 3 utenti:
utente_1 = mai donato
utente_2 = donato 1 volta
utente_3 = donato 2 volte
nelle discussioni normali se questi parlano nella pagina, l'utente_2 (1 donazione e 1 immagine) compare regolarmente come donatore con una sola immagine.
ogni volta che l'utente_3 (con due donazioni e due immagini) scrive, nei post sotto anche l'utente_2 (che in teoria ha donato 1 volta, ha una immagine) risulta donatore per due volte, copiando le immagini da quello sopra!!! L'utente che non ha mai donato invece non subisce nessuna modifica e quindi non risulta mai donatore...
perchè secondo voi dopo che l'utente con due immagini si infila nella discussione, l'utente con una immagine si trasforma nei post dopo l'intervento in un utente con doppia immagine?
che c'è di sbagliato
PS. in viewtopic_body questo è lo spezzone di riferimento
grazie mille a chiunque voglia darmi una mano e anche a chi no, mi scuso ancora se ho toppato qualcosa!! 

Allora ho creato una piccola mod, la cui funzione è quella di estrarre da un array, creato da un campo in una tabella dell'sql, gli anni in cui l'utente X ha contribuito al mantenimento dell'hosting per il forum che gestisco.
se avete capito il ragionamento contorto siete gia a buon punto

ora vorrei far comparire l'immagine "12" e "13" sotto ogni icona dell'utente in viewtopic.php
per fare questo ho inserito nella pagina viewtopic.php alcune righe di codice che vi riporto

Codice: Seleziona tutto
$sql = 'SELECT *
FROM `donatori`
WHERE user = "'.$nome_utente_d.'"';
$result_donatori = $db->sql_query($sql);
$riga_dona = $db->sql_fetchrow($result_donatori);
$donatore = $riga_dona['user'];
$anni_logo = $riga_dona['anni'];
if (isset($anni_logo)){
$logo_ex = explode(',', $anni_logo); //leggi gli anni e dividili in singoli
for ($ian = 0; $ian < count($logo_ex); $ian++){
$ilogo_ex[$ian] = '<img src="images/ranks/'.$logo_ex[$ian].'.gif" ' .
'alt="Donazione effettuata per l\'anno 20'.$logo_ex[$ian].'!" ' .
'title="Donazione effettuata per l\'anno 20'.$logo_ex[$ian].'!"> ';
}
unset($logo_ex);
}
unset($anni_logo);
...poi la pagina continua
Codice: Seleziona tutto
'DONATORE_AA' => $ilogo_ex[0],
'DONATORE_AA1' => $ilogo_ex[1],
'DONATORE_AA2' => $ilogo_ex[2],
'DONATORE_AA3' => $ilogo_ex[3],
è intanto possibile evitare di dover scrivere DONATORE_AA,DONATORE_AA1...ma fare un unico array che si legge nel template? (questa in realtà non è il problema per cui vi scrivo ma mi interesserebbe sempre saperlo

la seconda invece è quella che mi porta a scrivervi...
lo script funziona perfettamente, visualizza quello che deve MA c'è un problema:
nella pagina mettiamo che ci siano 3 utenti:
utente_1 = mai donato
utente_2 = donato 1 volta
utente_3 = donato 2 volte
nelle discussioni normali se questi parlano nella pagina, l'utente_2 (1 donazione e 1 immagine) compare regolarmente come donatore con una sola immagine.
ogni volta che l'utente_3 (con due donazioni e due immagini) scrive, nei post sotto anche l'utente_2 (che in teoria ha donato 1 volta, ha una immagine) risulta donatore per due volte, copiando le immagini da quello sopra!!! L'utente che non ha mai donato invece non subisce nessuna modifica e quindi non risulta mai donatore...
perchè secondo voi dopo che l'utente con due immagini si infila nella discussione, l'utente con una immagine si trasforma nei post dopo l'intervento in un utente con doppia immagine?
che c'è di sbagliato




PS. in viewtopic_body questo è lo spezzone di riferimento
Codice: Seleziona tutto
...
<!-- IF postrow.DONATORE_AA --><a href="...">{postrow.DONATORE_AA}</a><!-- ENDIF -->
<!-- IF postrow.DONATORE_AA1 --><a href="...">{postrow.DONATORE_AA1}</a><!-- ENDIF -->
<!-- IF postrow.DONATORE_AA2 --><a href="...">{postrow.DONATORE_AA2}</a><!-- ENDIF -->
<!-- IF postrow.DONATORE_AA3 --><a href="...">{postrow.DONATORE_AA3}</a><!-- ENDIF -->
...
