phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

problemi pagina personalizzata

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: problemi pagina personalizzata

Messaggio da Carlo » 03/03/2010, 18:36

Come ti ho già detto, hai provato la query direttamente sul database.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

BMercer
Utente
Utente
Messaggi: 205
Iscritto il: 02/09/2009, 12:28
Versione: 3.0.6
Server: UNIX/Linux

Re: problemi pagina personalizzata

Messaggio da BMercer » 07/03/2010, 7:15

Si, sul database funziona alla grande.
La query non ha errori.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: problemi pagina personalizzata

Messaggio da Micogian » 07/03/2010, 9:52

Si potrebbe provare così, senza la function ma con la creazione di un array "group_list' da utilizzare poi nel template:

Codice: Seleziona tutto

// impostiamo la query che ricava le informazioni
$sql = "SELECT * FROM " . GROUPS_TABLE . "
WHERE group_colour = '0099ff'   
ORDER BY group_name ASC";

$db->sql_query($sql);
$result = $db->sql_query($sql);

// ora impostiamo un ciclo while per mostrare tutti i risultati ...
while ($row = $db->sql_fetchrow($result))
{
	$template->assign_block_vars('group_list', array(
	'MY_GROUP_ID' => $row['group_id'],
	'MY_GROUP_NAME' => $row['group_name']
	));
}
A questo punto abbiamo un array "group_name" che recuperiamo nel template per creare il modulo SELECT:

Codice: Seleziona tutto

<form action="#" method="post">
<select name="add_name" >
<optgroup label="Clans">
     	<!-- BEGIN group_list -->
	<option value="{group_list.MY_GROUP_ID}">{group_list.MY_GROUP_NAME}</option>
	<!-- END group_list -->
</optgroup>
</select><br/>
</form>
Il value è il group_id mentre il testo visualizzato è il group_name
Se non c'è qualche errore di sintassi dovrebbe funzionare.

BMercer
Utente
Utente
Messaggi: 205
Iscritto il: 02/09/2009, 12:28
Versione: 3.0.6
Server: UNIX/Linux

Re: problemi pagina personalizzata

Messaggio da BMercer » 07/03/2010, 10:10

Ho eliminato la function lasciando solo il codice interno, ho fatto le dovute modifiche, ma continua a non funzionare...

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: problemi pagina personalizzata

Messaggio da Carlo » 07/03/2010, 10:32

@bingo: Scusa ma qui non esegui due volte la query?

Codice: Seleziona tutto

[..]
$db->sql_query($sql);
$result = $db->sql_query($sql);
[..]
@BMercer: Hai provato come ti ha suggerito bingo?
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: problemi pagina personalizzata

Messaggio da Micogian » 07/03/2010, 10:40

BMercer ha scritto:Ho eliminato la function lasciando solo il codice interno, ho fatto le dovute modifiche, ma continua a non funzionare...
Siamo sicuri che la query dia un risultato ? perchè altrimenti ci giriamo intorno.
Resto sempre della mia idea iniziale: togliere i riferimenti al template nel file php e vedere se l'array contiene dei valori, perchè se non li contiene il template non li può mostrare.
Dirò una stupidaggine, ma il valore '0099ff' group_colour richiesto siamo sicuri che ci sia ?
Di solito un colore è assegnato a un solo gruppo, qui stiamo cercando tutti i gruppi che hanno quel colore.
E se fosse un problema di maiuscole-minuscole ?

allora dovrei fare una query più dettagliata:

$sql = "SELECT * FROM " . GROUPS_TABLE . "
WHERE UCASE(group_colour) = '0099FF'
ORDER BY group_name ";

Order by ASC non serve, ma ci sono più gruppi con questo colore ?

@Carlo: hai ragione, l'ho buttata lì di fretta

BMercer
Utente
Utente
Messaggi: 205
Iscritto il: 02/09/2009, 12:28
Versione: 3.0.6
Server: UNIX/Linux

Re: problemi pagina personalizzata

Messaggio da BMercer » 07/03/2010, 14:20

Si ci sono 6 gruppi con lo stesso colore, e a me serve ricavare proprio quelli e solo quelli.
Quando eseguo la query su phpmyadmin mi mostra le 6 righe di ogni gruppo come in teroia dovrebbe fare anche il codice che avevo scritto.

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: problemi pagina personalizzata

Messaggio da Carlo » 07/03/2010, 14:36

Puoi allegarmi la pagina personalizzata che hai creato (non incollare il codice, ma allega il file)?
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: problemi pagina personalizzata

Messaggio da Micogian » 07/03/2010, 17:04

In questo modo funziona, ho provato io:
PHP

Codice: Seleziona tutto

// impostiamo la query che ricava le informazioni
$sql = "SELECT * FROM " . GROUPS_TABLE . "
WHERE UCASE(group_colour) = '0099FF'   
ORDER BY group_name";
$result = $db->sql_query($sql);

// ora impostiamo un ciclo while per mostrare tutti i risultati ...
while ($row = $db->sql_fetchrow($result))
{
   $template->assign_block_vars('group_list', array(
   'MY_GROUP_ID' => $row['group_id'],
   'MY_GROUP_NAME' => $row['group_name']
   ));
}
Template:

Codice: Seleziona tutto

<form action="#" method="post">
<select name="add_name" >
<label>Clans
        <!-- BEGIN group_list -->
   <option value="{group_list.MY_GROUP_ID}">{group_list.MY_GROUP_NAME}</option>
   <!-- END group_list -->
</label>
</select><br/>
</form>
Non so a cosa serviva il codice

Codice: Seleziona tutto

<optgroup label="Clans">
So solo che ho eliminato quello e lasciato un semplice <label> e così funziona.

BMercer
Utente
Utente
Messaggi: 205
Iscritto il: 02/09/2009, 12:28
Versione: 3.0.6
Server: UNIX/Linux

Re: problemi pagina personalizzata

Messaggio da BMercer » 08/03/2010, 16:54

Allego i due file perchè ho provato e non funziona e perchè sta diventando frustrante...
Probabilmente è un errore presente da qualche altra parte...
:cry:
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti