Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 24

Discussione: classe per datagrid

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Ma nel frattempo tu che stai facendo? Hai fatto altre prove o aspetti che qualcuno ti dica cosa devi fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    Ciao certamente sto continuando a provare adesso mi da pure un errore dove c e fieldata.= dice undefined ma se metto isset prima mi scompare un dato che passo Anche se tolgo il punto davanti a = , comunque i titoli me li stampa e anche le relative tabelle solo i dati estratti non li riesco a fare stampare
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    Notice: Undefined variable: fielddata in C:\Program Files\EasyPHP-DevServer-14.1VC11\data\localweb\cms\includes\function_html. php on line 75
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    buongiorno ragazzi ho sistemato la classe seguendo il consiglio di Alhazred e me la sono fatta di sana pianta e devo dire che funziona bene si ho usato qualcosina che gia c era pero va bene !
    vi posto il codice se qualcuno la vuole utilizzare posto il codice :
    Codice PHP:
    class datagrid
    {
        var 
    $gridcontents = array();
        var 
    $limit;
        var 
    $offset;
        var 
    $sortby;
        var 
    $sortdir;
        var 
    $selfLink;

    function 
    gridstart($name$title,$selectquery$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"));
                
    $count 0;
                
    $sortjoin $sortstatement." LIMIT "$dbcore->escape($offset) .", "$dbcore->escape($limit) .";";
                eval(
    "\$queryexec = \""$selectquery ."\";");
                
    $result $dbcore->query($queryexec)or die(mysql_error());
     
    echo 
    '<table cellpadding="0" cellspacing="0" border="0" width="100%" class="tborder" style="float: left; position: relative;">'.CMS_CRLF;
    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.'</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>';
    $this->imgFilePath $settings['pathcms'].'templates/admin_default/images/img_template/';
    for (
    $xx=0$xx<count($fields); $xx++){    
                
    $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'].'"' '';
    echo 
    '<td class="tabletitlerow" '.$tdC_width $tdC_height$tdC_align .$tdC_valign.'" nowrap>';
        if(
    $this->sortby == isset($fields[$xx]["name"])){
    echo 
    '&nbsp;<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"].'&nbsp;<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") {
    echo  
    '&nbsp;'.$fields[$xx]["title"];
                
    $norenderoptions true;
      } else {
    echo  
    '&nbsp;<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>';
      }
    echo  
    '</td>';
    }
    echo 
    '</tr>';
          if(
    $dbcore->num_rows($result)>0)
          {
             while( 
    $rowfields $dbcore->fetch_array($result))    
             {
                
    $count++;
                
    $getBgcolor getBgcolor();
                if (!
    $options["idname"])
                {
                          
    $id $count;
                }else{
                          
    $id $rowfields[$options["idname"]];
                }
                 echo 
    '<tr id="cms'$id .'" class="'$getBgcolor .'">'.CMS_CRLF;
                   for (
    $xx=0$xx<count($fields); $xx++)
                   {    
                     echo 
    '<td class="tabletitlerow" '.$tdC_width $tdC_height$tdC_align .$tdC_valign.'" nowrap>';
                     if(isset(
    $fields[$xx]["name"]) and  $fields[$xx]["name"] !='')
                     {
                      echo 
    $rowfields[$fields[$xx]["name"]];
                     }else{
                      echo 
    $fields[$xx]["value"];
                     }
             }
                 echo 
    '</tr>';
    }
    }else{
    echo 
    '<tr id="cms" class="'.getBgcolor() .'">'.CMS_CRLF;
    echo 
    '<td class="tabletitlerow" align="left" nowrap>';
    echo 
    '&nbsp; Empty';
    echo  
    '</td>';
    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";
            }

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    da utilizzare cosi :
    Codice PHP:
           $options['idname'] = "languageid";   
           
    $options['limit'] = "6";
           
    $options['recordsperpage'] = "2";
           
    $fields[0]['name'] = "langtitle";
           
    $fields[0]['title'] = "title";
           
    $fields[0]['width'] = "54%";
           
    $fields[1]['name'] = "author";
           
    $fields[1]['title'] = "author";
           
    $fields[1]['width'] = "15%";
           
    $fields[1]['align'] = "center";
    $grid = new DataGrid;
    $grid->gridstart("language","testx",'SELECT * FROM `language`  $sortjoin'$fields$options);
    $grid->displaygrid("language"); 
    speriamo sia utile a qualcuno
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    no ora va alla grande solamente devo vedere come passare i link per poter editare i dati
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    salve la classe va ma dovrei passare le url con una funzione tipo calback ma non riesco
    Codice PHP:
                if (isset($options["call_back"]) and $options["call_back"] !='')
                {
                         
    $rowresult =   @call_user_func($options["call_back"], array($rowfields[$fields[$xx]["name"]], $fields));
                    echo 
    preg_replace_callback
    ("/\[(.*)\]/e""\$rowresult['\\0']",$rowfields[$fields[$xx]["name"]]);
                    
                } else {
                     echo 
    $rowfields[$fields[$xx]["name"]];
                } 
    e li passo cpsi :
    Codice PHP:

           
    function TechFields($arg)
           {
                  global 
    $RCW;
        
                 
    $record = &$arg[0];
                 
    $fields = &$arg[1];
                 

                 
    $record['arttitle'] =  '<a href="index.php?_n=content&_s=editarticles&articlesid='.$record["artid"] .'">'.$record['arttitle'].'</a>';
                 
    $record['artid'] ;
                return 
    $record;
           } 
    pero mi stampa un errore :
    Warning: preg_replace_callback(): Requires argument 2, '$rowresult['\0']', to be a valid callback
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ma il callback non dovrebbe essere una funzione? tu hai messo un valore preso da un array

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    non va
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    si e una funzione la passo cosi $options["call_back"] = "TechFields";
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.