buongiorno ragazzi vi chiedo cortesemente aiuto , devo implementare una classe che ho trovato sul web per il datagrid , ma ho bisogno del vostro prezioso aiuto perfavore capisco che e una rogna ma mi serve grazie
Codice PHP:
class DataGrid
{
var $gridcontents = array();
var $limit;
var $offset;
var $sortby;
var $sortdir;
var $selfLink;
function gridstart($name, $title,$selectquery, $fields,$options/*,$selectquery, $countquery, $searchquery, $fields,$options*/)
{
global $dbcore ,$settings ;
ob_start();
if (!empty($_REQUEST["limit"]) && is_numeric($_REQUEST["limit"])){
$limit = $_REQUEST["limit"];
}else{
$limit = $options["limit"];
}
if (!empty($_REQUEST["offset"]) && is_numeric($_REQUEST["offset"])){
$offset = $_REQUEST["offset"];
}else{
$offset = "0";
}
if (!empty($_REQUEST["sortby"])){
$this->sortby = isset($_REQUEST["sortby"])?$_REQUEST["sortby"]:'';
$this->sortdir = iff(strtolower($_REQUEST["sortdir"])=="desc", "DESC", "ASC");
$updategrid = true;
} else if (!empty($this->sortby)) {
$this->sortby = $this->sortby;
$this->sortdir = $this->sortdir;
}else{
$this->sortby = isset($options["sortby"])?$options["sortby"]:'';
$this->sortdir = isset($options["sortdir"])?$options["sortdir"]:'';
}
$sortstatement = iff($this->sortby, " ORDER BY ". $dbcore->escape($this->sortby) .iff(strtolower($this->sortdir)=="desc", " DESC", " ASC"));
for ($xx=0; $xx<count($fields); $xx++){
$this->imgFilePath = $settings['pathcms'].'templates/admin_default/images/img_template/';
$tdC_width = isset($fields[$xx]['width']) ? 'width = "'.$fields[$xx]['width'].'"' : '';
$tdC_height = isset($fields[$xx]['height'])? 'height = "'.$fields[$xx]['height'].'"' : '';
$tdC_align = isset($fields[$xx]['align']) ? 'align = "'.$fields[$xx]['align'].'"' : '';
$tdC_valign = isset($fields[$xx]['valign'])? 'valign = "'.$fields[$xx]['valign'].'"' : '';
$tdC_colspan = isset($fields[$xx]['colspan'])? 'colspan = "'.$fields[$xx]['colspan'].'"' : '';
$fielddata .= '<td class="tabletitlerow" '.$tdC_width . $tdC_height. $tdC_align .$tdC_valign.'" nowrap>';
if($this->sortby == $fields[$xx]["name"])
{
$fielddata .= ' <a href="index.php?_n='.$_GET['_n'].'&_s='.$_GET['_s'].'&rows='.$limit.'&offset='.$offset.'&sortby='.urlencode($fields[$xx]["name"]).'&sortdir='.iff(strtolower($this->sortdir)=="asc", "desc", "asc").'">'. $fields[$xx]["name"].' <img src="'.$this->imgFilePath .iff(strtolower($this->sortdir)=="asc", "asc", "desc").'.gif" border="0" /></a>';
} else if (isset($fields[$xx]["type"]) and $fields[$xx]["type"] == "custom") {
$fielddata .= ' '.$fields[$xx]["title"];
$norenderoptions = true;
}else{
$fielddata .= ' <a href="index.php?_n='.$_GET['_n'].'&_s='.$_GET['_s'].'&rows='.$limit.'&offset='.$offset.'&sortby='.urlencode($fields[$xx]["name"]).'&sortdir='.iff(strtolower($this->sortdir)=="asc", "desc", "asc").'">'. $fields[$xx]["title"].'</a>';
}
$row .= '<td colspan="'. $tdC_colspan .'" width="'. $tdC_width .'" align="'. $tdC_align .'" valign="'. $tdC_valign .'">['. $fields[$xx]["name"] .'] </td>'.CMS_CRLF;
$fielddata .= '</td>';
}
$istabs = false;
echo '<table cellpadding="0" cellspacing="0" border="0" width="100%" class="tborder" style="float: left; position: relative;">'.CMS_CRLF;
if (!$istabs){
echo '<thead>'.CMS_CRLF.'<tr>'.CMS_CRLF;
echo '<td class="tcat" width="1" align="left" nowrap>
<img src="'.$settings['pathcms'].'templates/admin_default/images/img_template/space.gif" width="1" height="21" border = "0"></td>';
echo '<td class="tcat" width="100%" colspan="" align="left" nowrap>'. $title .'</td>'.CMS_CRLF;
echo '</tr>'.CMS_CRLF.'</thead>'.CMS_CRLF;
}
echo '<tbody><tr><td class="contenttableborder" colspan="2"><table border="0" cellpadding="3" cellspacing="1" width="100%">';
echo '<tr>';
echo $fielddata;
unset($fielddata);
echo '</tr>';
$count = 0;
$sortjoin = $sortstatement." LIMIT ". $dbcore->escape($offset) .", ". $dbcore->escape($limit) .";";
eval("\$queryexec = \"". $selectquery ."\";");
$result = $dbcore->getlist($queryexec)or die(mysql_error());
foreach($result as $rowfields) {
$count++;
$getBgcolor = getBgcolor();
if (!$options["idname"]){
$id = $count;
}else{
$id = $rowfields[$options["idname"]];
}
echo '<tr id="cms'. $id .'" class="'. $getBgcolor .'">'.CMS_CRLF;
if ($options['calluser']){
$rowresult = @call_user_func($options["calluser"], array($rowfields, $fields));
} else {
$rowresult = $rowfields;
}
echo @preg_replace_callback("/\[(.*)\]/e", "\$rowresult['\\1']", $row);
echo '</tr>';
}
printTableFotterContent();
$this->gridcontents[$name] = ob_get_contents();
ob_end_clean();
}
function displaygrid($name)
{
echo $this->gridcontents[$name];
}
}
function getBgcolor($bgcolor = false)
{
global $RCW ;
if($bgcolor == "columright")
{
if($bgcolor == false)
{
$bgcolor = "columleft";
}else{
$bgcolor = "columright";
}
return "columright";
}else{
if($bgcolor == false)
{
$bgcolor = "columright";
}else{
$bgcolor = "columleft";
}
return "columleft";
}
}
permetto che instanziando la classe e facendo un print_r mi stampa ma non estrae i risultati della query grazie