it-swarm.com.de

Hinzufügen von PHP In Article

Ich möchte in meinem Artikel eine Verbindung zu einer SQL Server-Instanz herstellen, und ich habe die folgende Syntax, um dies zu tun. Mein Problem ist, dass, wenn ich den Artikel betrachte, er schreibt

". $ row ['book_name']."
";}?>

auf den Bildschirm, anstatt es als Teil des Codes zu interpretieren. Dies ist der Code, den ich habe. Was muss ich ändern, damit der Joomla-Artikel dies richtig interpretiert?

<?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>";
}
?>

EDIT
Aktualisiert, um JFactory zu verwenden

$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);

Aber wie übergebe ich den Server und die Anmeldeinformationen in dieser Konfiguration?

EDIT 2
Ich habe meinen Code aktualisiert, um JDatabaseDriver zu verwenden, da sich meine Joomla-Installation und der Server, den ich abfragen möchte, auf verschiedenen Instanzen befinden. Ich fügte in dieser Syntax hinzu:

    <?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);
?>

Und jetzt bekomme ich auf dem Bildschirm beim Laden alles nach angezeigt

getQuery (true);

Was vermisse ich hier?

1
Yohan Greenburg

Ich würde empfehlen, dieses Plugin hier zu verwenden. Regular Labs Sourcerer .

Entnahm dies der Beschreibung der Plugin-Seite:

Mit Sourcerer können Sie PHP und jede Art von HTML-Stilcode (einschließlich CSS und JavaScript) direkt in Ihren Inhalt einfügen! Nicht nur in Ihren Artikeln, sondern auch in Abschnitten, Kategorien, Modulen, Komponenten, META-Tags usw.

Sie können jetzt einfach Ihre Originalcodes direkt in Ihren WYSIWYG-Editor einfügen. Sie müssen den Code nur mit den Sourcerer-Tags umgeben. Kinderleicht!

Sie können also jetzt auch PHP Skripte in Ihren Inhalten verwenden. Dies eröffnet eine Vielzahl von Möglichkeiten.

Die meisten Joomla! Texteditoren entfernen Teile Ihres HTML-Codes wie JavaScripts (denken Sie an Statistikskripte) und Filmeinbettungs-Tags. Mit Sourcerer haben Sie diese Einschränkungen nicht.

2
FFrewin