PHP Table 不是根据语法创建的
PHP Table Not Created From Syntax
我正在尝试查询我的 SQL 服务器并生成 table 结果。我有以下语法,但未生成 table。我设置不正确吗?我应该更改什么才能正确生成 table?
<!DOCTYPE html>
<?php
$option = array();
$option['driver'] = 'mssql';
$option['host'] = '555.24.24.18';
$option['user'] = 'user';
$option['password'] = 'password';
$option['database'] = 'database1';
$option['prefix'] = '';
$db = JDatabase::getInstance($option);
$query = $db->getQuery(true);
?>
<html>
<html>
<div>
<table frame="hsides" style="color:#ffffff;" border="1">
<thead>
<tr>
<th>Header 1 </th>
<th>Header 2 </th>
<th>Header 3 </th>
<th>Header 4 </th>
<th>Header 5 </th>
<th>Header 6 </th>
<th>Header 7 </th>
<th>Header 8 </th>
<th>Header 9 </th>
<th>Header 10 </th>
<th>Header 11 </th>
<th>Header 12 </th>
<th>Header 13 </th>
<th>Header 14 </th>
<th>Header 15 </th>
</tr>
</thead>
</table>
</div>
<div>
<div>
<table border="1">
<?php
$query1 = //Select statement goes here
$db->setQuery($query1);
$query1 = $db->loadObjectList();
if ($query1)
{
if ($query1->num_rows > 0)
{
echo "<table>";
foreach ($query1 as $res)
{
print "<tr>";
print "<td>" . $res->field1 . "</td>";
print "<td>" . $res->field2 . "</td>";
print "<td>" . $res->field3 . "</td>";
print "<td>" . $res->field4 . "</td>";
print "<td>" . $res->field5 . "</td>";
print "<td>" . "$" . round($res->field6) . "</td>";
print "<td>" . "$" . round($res->field7) . "</td>";
print "<td>" . "$" . round($res->field8) . "</td>";
print "<td>" . "$" . round($res->field9) . "</td>";
print "<td>" . "$" . round($res->field10) . "</td>";
print "<td>" . "$" . round($res->field11) . "</td>";
print "<td>" . "$" . round($res->field12) . "</td>";
print "<td>" . "$" . round($res->field13) . "</td>";
print "<td>" . round($res->field14) . "%" . "</td>";
print "<td>" . round($res->field15) . "%" . "</td>";
print "</tr>";
}
echo "</table>";
}
else
{
echo "Empty Table.";
}
}
?>
</table>
</div>
</div>
</html>
错误 - 删除 <table>
语句时
编辑编辑编辑....
为清楚起见,这是我正在使用的当前代码,但 NetBeans 仍然在我的上图中显示错误。 -- 删除了所有 <div>
标签,并且只有开始和结束 <html>
标签。此外,删除了除 1 <table>
以外的所有内容
<!DOCTYPE html>
<html>
<?php
$option = array();
$option['driver'] = 'mssql';
$option['host'] = '555.24.24.18';
$option['user'] = 'user';
$option['password'] = 'password';
$option['database'] = 'database1';
$option['prefix'] = '';
$db = JDatabase::getInstance($option);
$query = $db->getQuery(true);
?>
<table frame="hsides" style="color:#ffffff;" border="1">
<thead>
<tr>
<th>Header 1 </th>
<th>Header 2 </th>
<th>Header 3 </th>
<th>Header 4 </th>
<th>Header 5 </th>
<th>Header 6 </th>
<th>Header 7 </th>
<th>Header 8 </th>
<th>Header 9 </th>
<th>Header 10 </th>
<th>Header 11 </th>
<th>Header 12 </th>
<th>Header 13 </th>
<th>Header 14 </th>
<th>Header 15 </th>
</tr>
</thead>
<?php
$query1 = //Select statement goes here
$db->setQuery($query1);
$query1 = $db->loadObjectList();
if ($query1)
{
if ($query1->num_rows > 0)
{
foreach ($query1 as $res)
{
print "<tr>";
print "<td>" . $res->field1 . "</td>";
print "<td>" . $res->field2 . "</td>";
print "<td>" . $res->field3 . "</td>";
print "<td>" . $res->field4 . "</td>";
print "<td>" . $res->field5 . "</td>";
print "<td>" . "$" . round($res->field6) . "</td>";
print "<td>" . "$" . round($res->field7) . "</td>";
print "<td>" . "$" . round($res->field8) . "</td>";
print "<td>" . "$" . round($res->field9) . "</td>";
print "<td>" . "$" . round($res->field10) . "</td>";
print "<td>" . "$" . round($res->field11) . "</td>";
print "<td>" . "$" . round($res->field12) . "</td>";
print "<td>" . "$" . round($res->field13) . "</td>";
print "<td>" . round($res->field14) . "%" . "</td>";
print "<td>" . round($res->field15) . "%" . "</td>";
print "</tr>";
}
}
else
{
echo "Empty Table.";
}
}
?>
</table>
</html>
在上面的代码中你直接跳到了 $db = JDatabase::getInstance($option);不包括任何定义 JDatabase 的 类。 HTML 页面无法直接连接到 Joomla API。在执行任何 Joomla 代码之前,您需要调用基础 类。您需要像这样更改您的代码
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', 'C:\xampp\htdocs\joomla' );//YOur Joomla installation Path
require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );
$app = JFactory::getApplication('site');
$app->initialise();
您的其余代码
您可以使用
调用数据库
$database = JFactory::getDBO();
我正在尝试查询我的 SQL 服务器并生成 table 结果。我有以下语法,但未生成 table。我设置不正确吗?我应该更改什么才能正确生成 table?
<!DOCTYPE html>
<?php
$option = array();
$option['driver'] = 'mssql';
$option['host'] = '555.24.24.18';
$option['user'] = 'user';
$option['password'] = 'password';
$option['database'] = 'database1';
$option['prefix'] = '';
$db = JDatabase::getInstance($option);
$query = $db->getQuery(true);
?>
<html>
<html>
<div>
<table frame="hsides" style="color:#ffffff;" border="1">
<thead>
<tr>
<th>Header 1 </th>
<th>Header 2 </th>
<th>Header 3 </th>
<th>Header 4 </th>
<th>Header 5 </th>
<th>Header 6 </th>
<th>Header 7 </th>
<th>Header 8 </th>
<th>Header 9 </th>
<th>Header 10 </th>
<th>Header 11 </th>
<th>Header 12 </th>
<th>Header 13 </th>
<th>Header 14 </th>
<th>Header 15 </th>
</tr>
</thead>
</table>
</div>
<div>
<div>
<table border="1">
<?php
$query1 = //Select statement goes here
$db->setQuery($query1);
$query1 = $db->loadObjectList();
if ($query1)
{
if ($query1->num_rows > 0)
{
echo "<table>";
foreach ($query1 as $res)
{
print "<tr>";
print "<td>" . $res->field1 . "</td>";
print "<td>" . $res->field2 . "</td>";
print "<td>" . $res->field3 . "</td>";
print "<td>" . $res->field4 . "</td>";
print "<td>" . $res->field5 . "</td>";
print "<td>" . "$" . round($res->field6) . "</td>";
print "<td>" . "$" . round($res->field7) . "</td>";
print "<td>" . "$" . round($res->field8) . "</td>";
print "<td>" . "$" . round($res->field9) . "</td>";
print "<td>" . "$" . round($res->field10) . "</td>";
print "<td>" . "$" . round($res->field11) . "</td>";
print "<td>" . "$" . round($res->field12) . "</td>";
print "<td>" . "$" . round($res->field13) . "</td>";
print "<td>" . round($res->field14) . "%" . "</td>";
print "<td>" . round($res->field15) . "%" . "</td>";
print "</tr>";
}
echo "</table>";
}
else
{
echo "Empty Table.";
}
}
?>
</table>
</div>
</div>
</html>
错误 - 删除 <table>
语句时
编辑编辑编辑....
为清楚起见,这是我正在使用的当前代码,但 NetBeans 仍然在我的上图中显示错误。 -- 删除了所有 <div>
标签,并且只有开始和结束 <html>
标签。此外,删除了除 1 <table>
<!DOCTYPE html>
<html>
<?php
$option = array();
$option['driver'] = 'mssql';
$option['host'] = '555.24.24.18';
$option['user'] = 'user';
$option['password'] = 'password';
$option['database'] = 'database1';
$option['prefix'] = '';
$db = JDatabase::getInstance($option);
$query = $db->getQuery(true);
?>
<table frame="hsides" style="color:#ffffff;" border="1">
<thead>
<tr>
<th>Header 1 </th>
<th>Header 2 </th>
<th>Header 3 </th>
<th>Header 4 </th>
<th>Header 5 </th>
<th>Header 6 </th>
<th>Header 7 </th>
<th>Header 8 </th>
<th>Header 9 </th>
<th>Header 10 </th>
<th>Header 11 </th>
<th>Header 12 </th>
<th>Header 13 </th>
<th>Header 14 </th>
<th>Header 15 </th>
</tr>
</thead>
<?php
$query1 = //Select statement goes here
$db->setQuery($query1);
$query1 = $db->loadObjectList();
if ($query1)
{
if ($query1->num_rows > 0)
{
foreach ($query1 as $res)
{
print "<tr>";
print "<td>" . $res->field1 . "</td>";
print "<td>" . $res->field2 . "</td>";
print "<td>" . $res->field3 . "</td>";
print "<td>" . $res->field4 . "</td>";
print "<td>" . $res->field5 . "</td>";
print "<td>" . "$" . round($res->field6) . "</td>";
print "<td>" . "$" . round($res->field7) . "</td>";
print "<td>" . "$" . round($res->field8) . "</td>";
print "<td>" . "$" . round($res->field9) . "</td>";
print "<td>" . "$" . round($res->field10) . "</td>";
print "<td>" . "$" . round($res->field11) . "</td>";
print "<td>" . "$" . round($res->field12) . "</td>";
print "<td>" . "$" . round($res->field13) . "</td>";
print "<td>" . round($res->field14) . "%" . "</td>";
print "<td>" . round($res->field15) . "%" . "</td>";
print "</tr>";
}
}
else
{
echo "Empty Table.";
}
}
?>
</table>
</html>
在上面的代码中你直接跳到了 $db = JDatabase::getInstance($option);不包括任何定义 JDatabase 的 类。 HTML 页面无法直接连接到 Joomla API。在执行任何 Joomla 代码之前,您需要调用基础 类。您需要像这样更改您的代码
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', 'C:\xampp\htdocs\joomla' );//YOur Joomla installation Path
require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );
$app = JFactory::getApplication('site');
$app->initialise();
您的其余代码
您可以使用
调用数据库$database = JFactory::getDBO();