On Feb 13, 10:32 pm, wrburgess <wrburg...@gmail.com> wrote:
> I am trying to find a PHP control, framework, or application that has
> a behavior equivalent to the ASP.NET DataGrid or GridView controls.
> Other terms I've seen are "HTML Table", "Table View", or "Database
> Grid."
>
> I know you can hand-code a database query that prints out an HTML
> table, but I'm looking for a re-suable control that can consume a DB
> query and return HTML-compliant tabled data.
>
> I'm aiming for something in the open source realm, if possible. Any
> suggestions are appreciated.
$connection = @mysql_connect('localhost', 'user', 'password');
@mysql_select_db('database', $connection);
$query = 'SELECT * FROM myTable LIMIT 0,10';
$dataset = @mysql_query($query, $connection);
// print MySQL query results as 2D javascript array
function aw_cells($dataset){
$rows = array();
while ($record = @mysql_fetch_row($dataset)) {
$cols = array();
foreach ($record as $value) {
$cols[] = '"'.addslashes($value).'"';
}
$rows[] = "\t[".implode(",", $cols)."]";
}
echo "[\n".implode(",\n",$rows)."\n];\n";
}
// print MySQL field names as javascript array
function aw_headers($dataset){
while ($field = @mysql_fetch_field($dataset)) {
$cols[] = '"'.$field->name.'"';
}
echo "[".implode(",",$cols)."];\n";
}
?>
<html>
<head>
<!-- include AW stylesheet and script -->
<link href="../../runtime/styles/system/aw.css" rel="stylesheet"
type="text/css" ></link>
<script src="../../runtime/lib/aw.
js"></script>
</head>
<body>
<script>
// insert javascript arrays produced by PHP functions
var myHeaders = <?= aw_headers($dataset) ?>
var myCells = <?= aw_cells($dataset) ?>
// create grid control
var obj = new AW.UI.Grid;
// set grid text
obj.setHeaderText(myHeaders);
obj.setCellText(myCells);
// set number of columns/rows
obj.setColumnCount(myHeaders.length);
obj.setRowCount(myCells.length);
// write grid to the page
document.write(obj);
</script>
</body>
</html>