it-swarm-vi.com

Thêm PHP Trong bài viết

Tôi muốn kết nối với SQL Server Instance trong bài viết của mình và tôi có cú pháp dưới đây để làm như vậy. Vấn đề của tôi là khi tôi xem bài viết nó viết

". $ hàng ['book_name']."
[.__.] ";}?>

lên màn hình thay vì diễn giải nó như một phần của mã. Đây là mã mà tôi có, tôi cần phải thay đổi gì để Điều Joomla diễn giải đúng?

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

CHỈNH SỬA
[.__.] Đã cập nhật để sử dụng 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);

Nhưng làm thế nào để tôi vượt qua trong máy chủ và thông tin đăng nhập trong thiết lập này?

CHỈNH 2
[.__.] Tôi đã cập nhật mã của mình để sử dụng JDatabaseDriver vì Cài đặt Joomla của tôi và máy chủ tôi muốn truy vấn nằm trong các trường hợp khác nhau. Tôi đã thêm vào cú pháp này:

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

Và bây giờ tôi được hiển thị trên màn hình trên trang tải mọi thứ sau

getQuery (đúng);

Tôi đang thiếu gì ở đây?

1
Yohan Greenburg

Tôi khuyên bạn nên sử dụng plugin này tại đây Phòng thí nghiệm thông thường Sourcerer .

Lấy cái này từ mô tả của trang plugin:

Sourcerer cho phép bạn đặt PHP và bất kỳ loại mã kiểu HTML nào (bao gồm CSS và JavaScript) ngay trong nội dung của bạn! Không chỉ trong các bài viết của bạn, mà còn trong các phần, danh mục, mô-đun, thành phần, Thẻ META, v.v.

Bây giờ bạn có thể đặt mã gốc ngay vào trình soạn thảo WYSIWYG của mình. Điều duy nhất bạn phải làm là bao quanh mã với các thẻ Sourcerer. Dễ như ăn bánh!

Vì vậy, bây giờ bạn cũng có thể sử dụng PHP script trong nội dung của mình. Điều đó mở ra rất nhiều khả năng.

Hầu hết Joomla! Trình chỉnh sửa văn bản sẽ loại bỏ các phần của mã HTML của bạn, như JavaScripts (nghĩ về các tập lệnh thống kê) và các thẻ nhúng phim. Với Sourcerer bạn sẽ không có những hạn chế này.

2
FFrewin