]> git.llucax.com Git - mecon/meconlib.git/commitdiff
Se agregan 2 nuevos campos a la configuracion: 'where' y 'order'.
authorGonzalo Merayo <merayo@gmail.com>
Mon, 14 Jul 2003 22:00:58 +0000 (22:00 +0000)
committerGonzalo Merayo <merayo@gmail.com>
Mon, 14 Jul 2003 22:00:58 +0000 (22:00 +0000)
'where' permite agregar clausular WHERE arbitrarias (util para hacer JOIN).
'order' especifica si se quire ordenar ASC o DESC. Si se omite no se ordena.

lib/MECON/HTML/Arbol/ArbolDB.php

index 6937df89ed378549c33f8b7c1a58ff5112f99968..0594bcb475087f0077a49f30f9e2950d64ce2af3 100644 (file)
@@ -13,6 +13,8 @@ class HTML_ArbolDB extends HTML_Arbol
        var $id;
        var $link = null;
        var $prepend_link = null;
+       var $where = '';
+       var $order = '';
        var $db;
     
     function HTML_ArbolDB($dbdata, $imagen)
@@ -26,6 +28,10 @@ class HTML_ArbolDB extends HTML_Arbol
          $this->prepend_link = $dbdata['prepend_link']; 
         if(isset($dbdata['link']))
          $this->link = $dbdata['link']; 
+        if(isset($dbdata['where']))
+         $this->where = $dbdata['where'];
+        if(isset($dbdata['order']))
+         $this->order = ' ORDER BY '.$dbdata['nombre'].' '.$dbdata['order']; 
        $this->db = $dbdata['db']; 
        $dat = $this->BuscarHijos(0);
         parent::HTML_Arbol($dat, $imagen);
@@ -34,15 +40,22 @@ class HTML_ArbolDB extends HTML_Arbol
     function BuscarHijos($id)
     {
         $sql = "SELECT $this->nombre, $this->id ";
-       if(!is_null($this->link))
-       $sql .=  ", $this->link ";
-       $sql .=  "FROM $this->tabla ";
-       if(!is_null($this->padre))
-         $sql .= "WHERE $this->padre = '$id'";
+        if(!is_null($this->link))
+        $sql .=  ", $this->link ";
+        $sql .=  "FROM $this->tabla ";
+        if(!is_null($this->padre) or $this->where)
+          $sql .= 'WHERE ';
+        if(!is_null($this->padre)) {
+          $sql .= "$this->padre = '$id'";
+          if ($this->where)
+            $sql .= ' AND';
+        } elseif ($this->where)
+          $sql .= $this->where;
+        $sql .= $this->order;
         $result = $this->db->query($sql);
         if(DB::isError($result))
           die($result->getMessage());
-       $dat = array();
+        $dat = array();
        while($row = $result->fetchRow())
        {
            $titulo = $row[0];