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

Convertire file

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:

Convertire file

Messaggio da pegasus81 » 02/10/2011, 9:59

Salve ragazzi. Avrei bisogno di convertire questo codice in stile phpbb:

Codice: Seleziona tutto

<?php
//creo un array vuoto
$return_arr = array();
 
//dati di accesso
$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpass';
$dbname = 'dbname';
 
//connessione a mysql
$conn = mysql_connect($dbhost, $dbuser, $dbpass)
or die ('Impossibile connettersi a Mysql');
//selezione ddb
mysql_select_db($dbname);
 
//se connesso
if ($conn) {
    //se è presente il valore term
    if (isset($_GET) && isset($_GET['term']) && !empty($_GET['term'])) {
        $term = $_GET['term'];
        //eseguo la query
        $query = "SELECT * FROM name WHERE username LIKE '%{$term}%' ";
        $query .= "ORDER BY username ASC ";
        $fetch = mysql_query($query);
        //mi costruisco l'array
        while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
            $row_array['value'] = $row['username'];
            $row_array['id'] = $row['id_campo'];
            array_push($return_arr, $row_array);
        }
    }
}
//chiudo la connessione a mysql
mysql_close($conn);
 
//restituisco l'array in formato json
echo json_encode($return_arr);
?>
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: Convertire file

Messaggio da Micogian » 02/10/2011, 18:27

Pegasus, dovresti chiarire meglio.
La tabella interessata è nel database del Forum ?
Perchè se è così potresti inserire la tabella nel file constants.php, a fondo pagina aggiungi

Codice: Seleziona tutto

// Additional tables
define('NOME_TABLE',				$table_prefix . 'nome_tabella');
La seconda domanda riguarda "dove devi inserire lo script" ?
In una pagina nuova (Custom Page) o in una pagina di sistema (index, viewtopic, ecc.)
Perchè se la inserisci in una pagina phpbb hai già i collegamenti al database, altrimenti devi inserire la connessione al DB che viene usata da phpbb (vedi Custom Page)

Se sei su phpbb non ti serve la connessione (che c'è già) e puoi usare nella query la variabile "NOME_TABLE".

Terza domanda: devi passare i dati al template ?
allora devi creare un array phpbb che in pratica è questo:

Codice: Seleziona tutto

 $template->assign_block_vars('nome_array',array(
	'VARIABILE_1'			=> $variabile1_php,
	'VARIABILE_2'			=> $variabile2_php,
	'VARIABILE_2'			=> $variabile2_php,
));
Nel template avrai i valori dell'array "nome_array.VARIABILE_1, 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: Convertire file

Messaggio da pegasus81 » 02/10/2011, 20:40

Si, hai ragione bingo non mi sono espresso al meglio.... A me servirebbe:
sostituire questa porzione di codice con quella di phpbb che mi permette di accedere al db

Codice: Seleziona tutto

<?php
//creo un array vuoto
$return_arr = array();
 
//dati di accesso
$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpass';
$dbname = 'dbname';
 
//connessione a mysql
$conn = mysql_connect($dbhost, $dbuser, $dbpass)
or die ('Impossibile connettersi a Mysql');
//selezione ddb
mysql_select_db($dbname);
e questa che restituisce un array (in realtà la query non è un problema la puoi tralasciare)

Codice: Seleziona tutto

//se connesso
if ($conn) {
    //se è presente il valore term
    if (isset($_GET) && isset($_GET['term']) && !empty($_GET['term'])) {
        $term = $_GET['term'];
        //eseguo la query
        $query = "SELECT * FROM name WHERE username LIKE '%{$term}%' ";
        $query .= "ORDER BY username ASC ";
        $fetch = mysql_query($query);
        //mi costruisco l'array
        while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
            $row_array['value'] = $row['username'];
            $row_array['id'] = $row['id_campo'];
            array_push($return_arr, $row_array);
        }
    }
}
//chiudo la connessione a mysql
mysql_close($conn);
 
//restituisco l'array in formato json
echo json_encode($return_arr);
?>
Personalmente ho provato a modificarlo, ma senza successo....
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: Convertire file

Messaggio da Micogian » 02/10/2011, 21:56

Ma non hai chiarito i punti che ti ho chiesto io.
1) la tabella è nello stessa database del Forum ?
2) devi inserire il codice in una pagina phpbb già esistente o in una pagina autonoma. ?

Basta aprire qualsiasi file phpbb per capire come avviene la connessione.

Codice: Seleziona tutto

<?php 
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
*/

/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
Con questo codice sei connesso al database.
La query sarà

Codice: Seleziona tutto

$sql = "SELECT *
     FROM " . NAME_TABLE . "
    WHERE username LIKE  '%{$term}%'
    ORDER BY username ASC ";
$result = $db->sql_query($sql);
$i = '0' ;
    while ($row = $db->sql_fetchrow($result))
    {
    $value[$i] = $row['username'];
    $id_campo[$i] = $row['id_campo'];
    ++$i ;
    }
    
A questo punto hai un array che trasformi in array phpbb con un ciclo for()

Codice: Seleziona tutto

for ($x = 0; $x < $i; ++$x)
{
 $template->assign_block_vars('nome_array',array(
	'VALUE_COR'			=> $value[$x],
	'ID_CAMPO'			=> $id_campo[$x]
));
}

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: Convertire file

Messaggio da pegasus81 » 03/10/2011, 1:15

Risolto! Mi è bastato sostituire il codice relativo all'accesso al db da te postato e modificare qualche altra sciocchezza! Grazie. :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 2 ospiti