it-swarm.it

Aggiunta PHP nell'articolo

Voglio collegarmi a un'istanza di SQL Server nel mio articolo e ho la sintassi seguente per farlo. Il mio problema è che quando visualizzo l'articolo scrive

"$ Row [ 'BOOK_NAME']."
";}?>

sullo schermo invece di interpretarlo come parte del codice. Questo è il codice che ho, cosa devo modificare in modo che l'articolo Joomla lo interpreti correttamente?

<?php
//provide your hostname, username and dbname
$Host=""; 
$username="";  
$password="";
$db_name=""; 
//$con=mysql_connect("$Host", "$username", "$password")or die("cannot connect");
$con=mysql_connect("$Host", "$username", "$password");
mysql_select_db("$db_name");
$book_name = $_POST['book_name'];
$sql = "select book_name from book_mast where book_name LIKE '$book_name%'";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result))
{
echo "<p>".$row['book_name']."</p>";
}
?>

[~ ~ #] modifica [~ ~ #]
Aggiornato per usare JFactory

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('Top 1 employer')));
$query->from($db->quoteName('#[Roster].[dbo].[Employers]')); 
$db->setQuery($query); 
$row = $db->loadRow();
print_r($row);

Ma come faccio a passare il server e le credenziali in questa configurazione?

EDIT 2
Ho aggiornato il mio codice per utilizzare JDatabaseDriver poiché la mia installazione di Joomla e il server su cui voglio interrogare si trovano su istanze diverse. Ho aggiunto in questa sintassi:

    <?php
    $option = array(); //prevent problems

    $option['driver']   = 'mysql';            // Database driver name
    $option['Host']     = 'db.myhost.com';    // Database Host name
    $option['user']     = 'fredbloggs';       // User for database authentication
    $option['password'] = 's9(39s£h[%dkFd';   // Password for database authentication
    $option['database'] = 'bigdatabase';      // Database name
    $option['prefix']   = 'abc_';             // Database prefix (may be empty)

    $db = JDatabaseDriver::getInstance( $option );
    $query = $db->getQuery(true);
    $query->select($db->quoteName(array('Top 1 employer')));
    $query->from($db->quoteName('#[Roster].[dbo].[Employers]')); 
    $db->setQuery($query); 
    $row = $db->loadRow();
    print_r($row);
?>

E ora vengo visualizzato sullo schermo sulla pagina carica tutto dopo

getQuery (true);

Cosa mi sto perdendo qui?

1
Yohan Greenburg

Consiglierei di usare questo plugin qui Regular Labs Sourcerer .

Preso questo dalla descrizione della pagina del plugin:

Sourcerer ti consente di inserire PHP e qualsiasi tipo di codice HTML (inclusi CSS e JavaScript) direttamente nei tuoi contenuti. Non solo nei tuoi articoli, ma anche in sezioni, categorie, moduli, componenti, Tag META, ecc.

Ora puoi semplicemente inserire i tuoi codici originali direttamente nel tuo editor WYSIWYG. L'unica cosa che devi fare è circondare il codice con i tag Sourcerer. Vai tranquillo!

Quindi ora puoi anche usare PHP nei tuoi contenuti. Ciò apre molte possibilità.

La maggior parte di Joomla! Gli editor di testo rimuoveranno parti del codice HTML, come JavaScripts (pensa agli script statistici) e i tag di incorporamento dei filmati. Con Sourcerer non avrai questi limiti.

2
FFrewin