Back to top

Autore Topic: Collegarsi al DB  (Letto 9258 volte)

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Collegarsi al DB
« il: 01 Dic 2012, 12:10:26 »
Ciao a tutti,
ho necessità di realizzare una pagina php con codice personalizzato per la stampa di un PDF utilizzazndo FPDI (FPDF), ma non risesco a far pescare i dati dal DB.
nella pagina ho inserito questo pezzo di codice:
Codice: [Seleziona]
<?php
define
'_JEXEC');
define'_VALID_MOS');

define'JPATH_BASE'dirname(__FILE__)  );// eventualmente indicare il percorso della root di joomla
define'DS'DIRECTORY_SEPARATOR );
 
require_once ( 
JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( 
JPATH_BASE .DS.'includes'.DS.'framework.php' );
 
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
 
$user =& JFactory::getUser();
$utente $user->username;//
echo $user->name;
?>

Che funziona e mi mostra il correttamente il nome utente, ma quando vado a fare una quaery al DB, in questo modo:
Codice: [Seleziona]
<?php
$db 
JFactory::getDBO();// Get a database object
$query "SELECT * FROM #__dati WHERE id = 31";
$db->setQuery($query);
$result $db->query();
$row $db->loadAssoc();
//print_r($row);
$fattura=$row['fattura'];
$fattura=iconv('UTF-8''windows-1252'$fattura);
echo 
$fattura;
?>

 
non stampa niente.
Why?
« Ultima modifica: 03 Dic 2012, 14:53:08 da Gioacchino Cipriano »
Grazie
Gioacchino Cipriano

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #1 il: 01 Dic 2012, 21:55:41 »
"print_r($row);" o il vardump cosa stampano?

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #2 il: 03 Dic 2012, 09:15:39 »
invece di fare

Codice: [Seleziona]
$result = $db->query();
$row = $db->loadAssoc();

scrivi $row=$db->loadObject();

cosi accedi al risultato come un oggetto e ti risparmi quelle 2 righe


BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #3 il: 03 Dic 2012, 11:03:46 »
"print_r($row);" o il vardump cosa stampano?
Non stampano niente.
Non so se può essere utile, facendo
Codice: [Seleziona]
echo print_r($row); mi stampa 1.
 :'(
Grazie
Gioacchino Cipriano

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #4 il: 03 Dic 2012, 11:04:43 »
invece di fare

Codice: [Seleziona]
$result = $db->query();
$row = $db->loadAssoc();

scrivi $row=$db->loadObject();

cosi accedi al risultato come un oggetto e ti risparmi quelle 2 righe
:(  Prima dovrei riuscire a collegarmi al DB.
Grazie
Gioacchino Cipriano

Offline webbati

  • Esploratore
  • **
  • Post: 116
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #5 il: 03 Dic 2012, 11:41:10 »
vuoi stampare

Codice: [Seleziona]
echo $collocazione;
ma dove lo assegni il contenuto d quella variabile?

inoltre togli

Codice: [Seleziona]
$result = $db->query();
che viene già eseguito da 'loadAssoc'

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #6 il: 03 Dic 2012, 11:44:27 »
vuoi stampare

Codice: [Seleziona]
echo $collocazione;
ma dove lo assegni il contenuto d quella variabile?

inoltre togli

Codice: [Seleziona]
$result = $db->query();
che viene già eseguito da 'loadAssoc'
Ho sbagliato a riportare l'echo quello che eseguo io è
Codice: [Seleziona]
echo $fattura;
Grazie
Gioacchino Cipriano

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #7 il: 03 Dic 2012, 12:52:10 »
ma sei sicuro che non si colleghi al database?
in teoria ti darebbe un errore xche non riconoscerebbe la funzione loadAssoc.

prova a  modificare la query, alcune volte se fai una where su un intero ma gli passi una stringa '31' non funziona, prova a passargli 31 senza apici
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #8 il: 03 Dic 2012, 13:05:36 »
Niente: anche senza apici.
Provo a rispiegare il problema, devo creare una pagina php per la stampa di un PDF utilizzando FPDI (FPDF).
Provando ad inserire il codice con soucerer mi legge il DB ma non mi produce il PDF. Nel codice devo inserire
Codice: [Seleziona]
require_once('fpdf.php');
require_once('fpdi.php');
che non funziona (penso possa essere un limite di sourcerer) quindi sto tentando con una pagina esterna a joomla che richiamo all'interno di un wrapper, ma in questo caso non riesco a collegarmi al DB, con il codice indicato nel primo post. >:( >:( :'( :'( 
Grazie
Gioacchino Cipriano

mau_develop

  • Visitatore
Re:Collegarsi al DB
« Risposta #9 il: 03 Dic 2012, 14:40:09 »
Codice: [Seleziona]
WHERE id = '31';";
Codice: [Seleziona]
"SELECT * FROM #__dati WHERE id = 31";

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #10 il: 03 Dic 2012, 14:52:38 »
Codice: [Seleziona]
WHERE id = '31';";
Codice: [Seleziona]
"SELECT * FROM #__dati WHERE id = 31";
Corretto, ma non è quello.
Grazie
Gioacchino Cipriano

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #11 il: 03 Dic 2012, 15:10:41 »
Bah secondo me hai problemi che non vedi, hai gli errori abilitati?

Io sto creando un cron proprio ora e nel file che gestisce il cron ho le medesime istruzuini per inizializzare l'ambiente.

Comunque in che joomla stai lavorando xche dichiari la variabile _VALID_MOS che serve solo nelle versioni legacy

Inoltre il file che hai creato si trova nella root o in una cartella xche senno
define( 'JPATH_BASE', dirname(__FILE__)  );
non funziona

BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #12 il: 03 Dic 2012, 15:15:29 »
Bah secondo me hai problemi che non vedi, hai gli errori abilitati?

Io sto creando un cron proprio ora e nel file che gestisce il cron ho le medesime istruzuini per inizializzare l'ambiente.

Comunque in che joomla stai lavorando xche dichiari la variabile _VALID_MOS che serve solo nelle versioni legacy

Inoltre il file che hai creato si trova nella root o in una cartella xche senno
define( 'JPATH_BASE', dirname(__FILE__)  );
non funziona
Joomla 1.5.26
Il file è nella root, avevo anche provato in una cartella ma modificandolo in:
Codice: [Seleziona]
define( 'JPATH_BASE', realpath(dirname(__FILE__) .'/..' ) );

 
Grazie
Gioacchino Cipriano

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #13 il: 03 Dic 2012, 15:20:20 »
non so che dirti, stai sicuramente sbagliando qualcosa ma non mi rendo conto di cosa, puo essere anche legato all'mabiente in cui sei, questa e l'intestazione del mio file e fidati che accedo al database



Codice: [Seleziona]
define( '_JEXEC', 1 );
define('JPATH_BASE', str_replace(array('/cron','\cron'),'',dirname(__FILE__)) );

define( 'DS', DIRECTORY_SEPARATOR );

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

$mainframe =& JFactory::getApplication('site');

$mainframe->initialise();

$db=JFactory::getDBO();
/////stampa tutto
$query='select * from #__content';

$db->setQuery($query);

$result=$db->loadObjectList();

print_r($result);


il mio file si trova in una cartella cron

se non ti funzione allora hai altri problemi
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #14 il: 03 Dic 2012, 15:23:29 »
non so che dirti, stai sicuramente sbagliando qualcosa ma non mi rendo conto di cosa, puo essere anche legato all'mabiente in cui sei, questa e l'intestazione del mio file e fidati che accedo al database



Codice: [Seleziona]
define( '_JEXEC', 1 );
define('JPATH_BASE', str_replace(array('/cron','\cron'),'',dirname(__FILE__)) );

define( 'DS', DIRECTORY_SEPARATOR );

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

$mainframe =& JFactory::getApplication('site');

$mainframe->initialise();

$db=JFactory::getDBO();
/////stampa tutto
$query='select * from #__content';

$db->setQuery($query);

$result=$db->loadObjectList();

print_r($result);


il mio file si trova in una cartella cron

se non ti funzione allora hai altri problemi
proverò con il tuo, però banalità: sto lavorando in
Codice: [Seleziona]
http://localhost/miosito/, può essere l'ambiente locale che non mi fa funzionare?
 
Grazie
Gioacchino Cipriano

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #15 il: 03 Dic 2012, 15:46:03 »
no, xche anche io sono in locale


BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #16 il: 03 Dic 2012, 18:24:51 »
no, xche anche io sono in locale
:( :'(
Ma cavolo ho creato questo file seguendo le istruzioni che mi hai dato e l'ho salvato nella cartella pdffiles.
Codice: [Seleziona]
<?php
define
'_JEXEC');
//define( 'JPATH_BASE', dirname(__FILE__)  );
define('JPATH_BASE'str_replace(array('/pdffiles','\pdffiles'),'',dirname(__FILE__)) );
define'DS'DIRECTORY_SEPARATOR );
require_once ( 
JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( 
JPATH_BASE .DS.'includes'.DS.'framework.php' );
//require_once('fpdf.php');
//require_once('fpdi.php');
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
// Get a database object
$db JFactory::getDBO();
 
$query "SELECT * FROM #__chronoforms_dati WHERE cf_id = 31";
$db->setQuery($query);
$result=$db->loadObjectList();
print_r($result);
$fattura=$result->fattura;
echo 
"Fatttura N° ".$fattura;
?>
e non funziona neanche così e non mi pare neanche tanto diverso dalle vostre indicazioni.
 
 
 
Grazie
Gioacchino Cipriano

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #17 il: 03 Dic 2012, 18:36:30 »
fai una cosa prova a mettere in cima

ini_set('display_errors',1);

per vedere se ti da errori.

penso che il tuo problema non sia nel file ma da un'altra parte xche senno non si spiega
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline Gioacchino Cipriano

  • Appassionato
  • ***
  • Post: 409
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #18 il: 03 Dic 2012, 18:39:58 »
fai una cosa prova a mettere in cima

ini_set('display_errors',1);

per vedere se ti da errori.

penso che il tuo problema non sia nel file ma da un'altra parte xche senno non si spiega
Non mi displaia nessun errore.  ???
Grazie
Gioacchino Cipriano

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
Re:Collegarsi al DB
« Risposta #19 il: 03 Dic 2012, 18:46:51 »
allora non so come aiutarti, ma il resto del sito funziona bene?
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

 



Web Design Bolzano Kreatif