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

Cambiare modalità di ricerca

Supporto per phpBB 3.0.x.
Rispondi
pegasus81
Programmatore
Programmatore
Messaggi: 346
Iscritto il: 24/06/2011, 14:44
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL 4.1.22-standard-log
Contatta:

Cambiare modalità di ricerca

Messaggio da pegasus81 » 21/09/2011, 19:07

Salve ragazzi. Esplico il mio problema: ci troviamo qui. Vorrei estrarre i miei dati da un'altra tabella del DB (MIA_TABLE) e non da USERS_TABLE. Avete qualche suggerimento? Grazie.

P.s.: ho già provato a sostituire MIA_TABLE con USERS_TABLE ma il risultato non è quello sperato. Forse perchè in MIA_TABLE ho più di una copia (parziale) di ogni utente della tabella USER_TABLE (quindi lo stesso campo user_id in MIA_TABLE potrebbe ripetersi anche più di una volta).
puzzlepets.net
Il socialnetwork che ama gli animali!
ingegneriapisa.altervista.org
Il forum degli studenti della Facoltà di Ingegneria Informatica di Pisa

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: Cambiare modalità di ricerca

Messaggio da Micogian » 21/09/2011, 21:41

Non ho capito cosa vuoi fare.
Cosa vuol dire che hai più user_id nella MIA_TABLE ? gli ID servono proprio a rendere univoci i dati e creare collegamento tra tabelle diverse.
Se ti spieghi meglio vediamo cosa si può fare.

pegasus81
Programmatore
Programmatore
Messaggi: 346
Iscritto il: 24/06/2011, 14:44
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL 4.1.22-standard-log
Contatta:

Re: Cambiare modalità di ricerca

Messaggio da pegasus81 » 23/09/2011, 0:41

Allora: sappiamo che in USER_TABLE ho l'user_id univoco. Nella fase di ricerca vorrei estrarre da MIA_TABLE tramite quell'user_id tutti i record a lui correlati. Spero di essere stato piu chiaro. :)
puzzlepets.net
Il socialnetwork che ama gli animali!
ingegneriapisa.altervista.org
Il forum degli studenti della Facoltà di Ingegneria Informatica di Pisa

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: Cambiare modalità di ricerca

Messaggio da Micogian » 23/09/2011, 6:50

Quello lo avevo capito, quello che non ho capito è quello che devi estrarre e come devi visualizzarlo.
Se sei in phpbb o in una Custom Page hai già a disposizione i dati dell'user, basta fare una query della MIA_TABLE cercando l'user_id che è dato da $user_data['user_id']

Se vuoi fare una query in entrambe le tabelle devi fare una cosa del genere,
per semplificare dichiari "u" la tabella USER_TABLE e "m" la tabella MIA_TABLE e trovare un campo comune tra le due tabelle (user_id):
(per usare MIA_TABLE devi averla inserita nel file constants.php)

Codice: Seleziona tutto

$user_cor = $user_>data['user_id'];
$sql = "SELECT u.user_id, u.username, u.campo_1, u.campo_2,
	m.user_id, m.campo_1, m.campo_2, m.campo_3
    FROM " . USER_TABLE . " u, " . MIA_TABLE . " m 
    WHERE u.user_id = $user_cor
    AND u.user_id = m.user_id
    ORDER BY m.campo_1";
$result = $db->sql_query($sql);
    $i = 0;
    while ($row = $db->sql_fetchrow($result))
    {
	$campo1[$i] = $row['campo_1'];
	$campo2[$i] = $row['campo_2'];
	$campo3[$i] = $row['campo_3'];
	++$i ;
	}
A questo punto hai estratto i dati dell'user sotto forma di array, li devi trasformare in Variabili per il template, in questo modo:

Codice: Seleziona tutto

for ($x = 0; $x < $i; ++$x)
{
 $template->assign_block_vars('lista_dati',array(
	'MIO_CAMPO_1'			=> $campo1[$x],
	'MIO_CAMPO_2'			=> $campo2[$x],
	'MIO_CAMPO_3'			=> $campo3[$x]
	));
}
Nel template dovrai fare un <!-- BEGIN lista_dati -->
e visualizzare i valori dell'array che saranno:
{lista_dati.MIO_CAMPO_1}, {lista_dati.MIO_CAMPO_2}, {lista_dati.MIO_CAMPO_3}, ecc.

pegasus81
Programmatore
Programmatore
Messaggi: 346
Iscritto il: 24/06/2011, 14:44
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL 4.1.22-standard-log
Contatta:

Re: Cambiare modalità di ricerca

Messaggio da pegasus81 » 25/09/2011, 11:20

Grazie bingo, ma alla fine ho risolto modificando il file originale! :D
puzzlepets.net
Il socialnetwork che ama gli animali!
ingegneriapisa.altervista.org
Il forum degli studenti della Facoltà di Ingegneria Informatica di Pisa

Rispondi

Torna a “[3.0.x] Forum di Supporto”

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti