phpcompta-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpcompta-dev] r4079 - phpcompta/trunk/include


From: phpcompta-dev
Subject: [Phpcompta-dev] r4079 - phpcompta/trunk/include
Date: Fri, 6 May 2011 20:34:52 +0200 (CEST)

Author: danydb
Date: 2011-05-06 20:34:51 +0200 (Fri, 06 May 2011)
New Revision: 4079

Added:
   phpcompta/trunk/include/class_html_table.php
Log:
Add new Object for table


Added: phpcompta/trunk/include/class_html_table.php
===================================================================
--- phpcompta/trunk/include/class_html_table.php                                
(rev 0)
+++ phpcompta/trunk/include/class_html_table.php        2011-05-06 18:34:51 UTC 
(rev 4079)
@@ -0,0 +1,109 @@
+<?php
+/*
+ *   This file is part of PhpCompta.
+ *
+ *   PhpCompta is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   PhpCompta is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with PhpCompta; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+/* $Revision$ */
+
+// Copyright Author Dany De Bontridder address@hidden
+
+/*!\file
+ * \brief contains HTML features
+ */
+
+class Html_Table
+{
+  /**
+   * Receives a SQL command and returns a string with the HTML code
+   * to display it as a table.
+   * Simple table without any feature (link in certain cell, sort,...)
+   * @param $cn database object 
+   * @param $a_col header of the column it is an array of array
+   * @param $sql query to execute
+   * @param $table_style style of the table
+   * @parm $a_sql_var array variable for the $sql DEFAULT NULL
+   */
+  static function 
sql2table($cn,$a_col,$sql,$table_style="result",$a_sql_var=null)
+  {
+    $r='';
+    $r=sprintf('<table style="%s">',$table_style);
+    $r.='<tr>';
+    for ( $i=0;$i <count($a_col);$i++)
+      {
+       $content=h($a_col[$i]['name']);
+       if ( isset($a_col[$i]['link']) )
+         {
+           $content=sprintf('<a href="%s">%s</a>',
+                            $a_col[$i]['link'],
+                            $content);
+           $r.="<th>$content</th>";
+         } 
+       else
+         $r.= th($content);
+      }
+    $r.='</tr>';
+    $ret=$cn->exec_sql($sql);
+    for ($i=0;$i<Database::num_row($ret);$i++)
+      {
+       $r.='<tr>';
+       $row=Database::fetch_row($ret,$i);
+       for ($e=0;$e<count($row);$e++)
+         {
+           $style='';$content=h($row[$e]);
+
+           if ( isset($a_col[$e]['style']) )
+             $style=sprintf('style="%s"',$a_col[$e]['style']);
+
+
+           $r.=td($content,$style);
+         }
+       $r.='</tr>';
+      }
+    $r.='</table>';
+    return $r;
+  }
+  static function test_me()
+  {
+    $cn=new Database(Dossier::id());
+    $order=" order by name ";
+    $url=HtmlInput::get_to_string(array("gDossier","test_select"));
+
+    if ( isset($_GET['sb']))
+      {
+       $order=" order by f_id";
+      }
+    else
+      {
+       $url=$url."&sb=as";
+      }
+    $sql="select f_id,name,quick_code from vw_client  $order limit 10";
+    echo $sql;
+
+
+    echo Html_Table::sql2table($cn,
+                              array(
+                                    array('name'=>'N° de fiche',
+                                          'style'=>'text-align:right',
+                                          'link'=>$url),
+                                    array('name'=>'Nom',
+                                          'style'=>'text-align:right'),
+                                    array('name'=>'QuickCode')
+                                    )
+                              ,
+                              $sql
+                              );                  
+  }
+}
\ No newline at end of file




reply via email to

[Prev in Thread] Current Thread [Next in Thread]