thanx chris 

in the case someone else looking for something similar i post the code 
that now work for me 

i have to add AttributesImpl xspAttr tou my function and put all esql: in 
a try-catch


<xsp:page language="java" xmlns:xsp="http://apache.org/xsp"; 
xmlns:esql="http://apache.org/cocoon/SQL/v2";>
<xsp:logic>     
      void getChilds(String parent_id, AttributesImpl xspAttr)
      {
        try
        {
        <esql:connection>
        <esql:pool>hotpoints</esql:pool>        
        <esql:execute-query>
        <esql:query>select * from tblElements WHERE element_Parent= 
<xsp:expr>parent_id</xsp:expr></esql:query>             
        <esql:results>
                <esql:row-results>
                <element>                               
                <xsp:logic>
                parent_id = <esql:get-string column="id_Elements"/>;                   
                         
                </xsp:logic>
                <esql:get-columns/>
                <xsp:expr>parent_id</xsp:expr>          
                        <xsp:logic>
                                getChilds(parent_id, xspAttr);                         
         
                        </xsp:logic>            
                </element>
                </esql:row-results>                     
        </esql:results>
        <esql:no-results>
        <the_end>done</the_end>
        </esql:no-results>
        </esql:execute-query>
        </esql:connection>                                      
        }
        catch (Exception e)
        {
        }
     }          
</xsp:logic>            
        
<page>  
        <elements>
        <xsp:logic>
                getChilds("4",xspAttr);         
        </xsp:logic>
        </elements>
</page>
</xsp:page>





On Mon, 24 Nov 2003, Christian Haul wrote:

> [EMAIL PROTECTED] wrote:
> 
> >hi people
> >
> >last days i'm in trouble trying to run a "recursive" - like SQL query
> >
> >in my table are rows with an id column and a column that specify the 
> >parent_id (row). so when i get a row (with id=10 for example) the i have 
> >to ask all the rows with the value 10 in column patent_id (but for each 
> >row and before get the next row-results i have to run a SQL query that
> >search for all rows that are have parent_id = this row id) and so on....
> >
> >
> >i have a succesfull output using an .xsp with hand coded nested esql 
> >queries (3 or 4 levels) 
> >
> >the problem is tha i dont know how many levels i have to go.
> >
> >trying to put this esql query into a function who will call it-self has 
> >began my odysey.
> >
> >
> >i need something like 
> >
> >     <xsp:logic>     
> >     
> >             public void getChilds(String parent_id){
> >
> >                     <esql:execute-query>
> >                             <esql:query>select * from tblElements WHERE 
> > element_Parent= <xsp:expr>parent_id</xsp:expr></esql:query>
> >                             <esql:results>
> >                             <xsp:logic>parent_id = <esql:get-string 
> > column="element_id"/>;</xsp:logic>
> >                             <esql:get-columns/>
> >                             call getChilds(parent_id);
> >                             </esql:results>
> >                     </esql:execute-query>
> >             }       
> >             
> >             getChilds("1");
> >             
> >     </xsp:logic>            
> >
> >what i try to do is to display all elements from the table in a Tree-like view
> >
> ><element>
> ><id>5</id>
> ><parent_id>1</parent_id>
> > <element>
> > <id>6</id>
> > <parent_id>5</parent_id>
> > </element>
> > <element>
> > <id>9</id>
> > <parent_id>5</parent_id>
> >   <element>
> >   <id>12</id>
> >   <parent_id>9</parent_id>
> >   </element>
> > </element>
> ></element>
> >
> >any idea?
> >  
> >
> 
> The key is to pass some more vars to the method like the object model 
> and the document handler. See
> generated source code for details. E.g. the esql logicsheet defines a 
> method that could serve as a blue
> print.
> 
>     Chris.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to