it-swarm-es.tech

Agregar PHP en el artículo

Quiero conectarme a una instancia de SQL Server en mi artículo, y tengo la siguiente sintaxis para hacerlo. Mi problema es que cuando veo el artículo escribe

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

en la pantalla en lugar de interpretarlo como parte del código. Este es el código que tengo, ¿qué necesito modificar para que el Artículo de Joomla lo interprete correctamente?

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

EDITAR
Actualizado para usar 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);

Pero, ¿cómo paso el servidor y las credenciales en esta configuración?

EDITAR 2
He actualizado mi código para usar el JDatabaseDriver ya que mi instalación de Joomla y el servidor que quiero consultar están en instancias diferentes. Agregué en esta sintaxis:

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

Y ahora me aparece en la pantalla en la página cargar todo después

getQuery (verdadero);

¿Que me estoy perdiendo aqui?

1
Yohan Greenburg

Recomendaría usar este complemento aquí Laboratorios regulares Sourcerer .

Tomó esto de la descripción de la página del complemento:

¡Sourcerer le permite colocar PHP y cualquier tipo de código de estilo HTML (incluidos CSS y JavaScript) directamente en su contenido! No solo en sus artículos, sino también en secciones, categorías, módulos, componentes, Etiquetas META, etc.

Ahora puede colocar sus códigos originales directamente en su editor WYSIWYG. Lo único que tiene que hacer es rodear el código con las etiquetas de Sourcerer. ¡Pan comido!

Así que ahora también puedes usar scripts PHP en tu contenido. Eso abre muchas posibilidades.

La mayoría de Joomla! Los editores de texto eliminarán partes de su código HTML, como JavaScripts (piense en scripts de estadísticas) y etiquetas de inserción de películas. Con Sourcerer no tendrás estas limitaciones.

2
FFrewin