Ok, I will change my query with the first one.

After a test, yes it slows the display of the page. So I changed a bit my howto.

I removed the init.inc changes and put into template.inc after the 
lang_url_translation treatment:

    // ----------------------------------------------------------------------
    // Laurent LEVIER changes to add NU code to return number of indexed URLs
    // ----------------------------------------------------------------------
    if (ereg('\$NU',$str))
    {
       $query ="SELECT count(*) FROM url WHERE status IN (200,304)";

       if($DEBUG) echo "last_parse(): ",$query,"<BR><HR>";

       if (!$res=db_query($query)) print_error_local('Query error: '.$query."\n<
BR>".db_error());

       $numurlsdb="10";
       if ($row=db_fetchrow($res))
       { $numurlsdb=$row[0]; }

       db_freeresult($res);

       $str=ereg_replace('\$NU', $numurlsdb, $str);
    }

    // ----------------------------------------------------------------------
    // Laurent LEVIER changes to add NU code to return number of indexed URLs
    // ----------------------------------------------------------------------

Works also fine, and have the advantage to be included easily. Only activated when you 
request the feature :)

@+/L

At 12:41 15/02/2001 +0400, Alexander Barkov wrote:

>This "SELECT count(*) FROM url" will mean the TOTAL number
>of documents. Note that it is actually not the number of 
>searchable documents, because some of them may be not indexed yet
>when database is being populated during first indexing.
>
>
>
>Probably 
>  "SELECT count(*) FROM url WHERE status IN (200,304)"
>or
>  "SELECT count(*) FROM url WHERE docsize>0"
>
>will be closer to the number of searchable documents, but this will work
>slowly.
>
>
> Also note that not all databases return count(*) quickly like MySQL,
>for
>example, PostgreSQL will scan whole table to calculate the count.
>
>We'll add new template variable responsible  for this, but it seems
>it will be useful with MySQL only. 
>
>
>
>Laurent LEVIER wrote:
>> 
>> Hi Guys,
>> 
>> I wished to display the number of indexed URLs. To be able to do this nicely (using 
>templates), I did the following changes:
>> 
>> *** in init.inc, in the global variables declarations, i added:
>> global $numurlsdb;
>> 
>> *** Then, after
>> 
>db_init($dbtype,$dbname,$dbhost,$dbuser,$dbpass,$dbport,$dbodbc,$dbodbc_cursor_type);
>> 
>>    if  ($db_format == '3.1') {
>>       $cs=load_cs($cat);
>>       $cp=load_cp($cat);
>>    }
>> 
>> *** I added:
>>    // ----------------------------------------------------------------------
>>    // Laurent LEVIER changes to add NU code to return number of indexed URLs
>>    // ----------------------------------------------------------------------
>> 
>>    $query ="SELECT count(*) from url";
>> 
>>    if($DEBUG) echo "last_parse(): ",$query,"<BR><HR>";
>> 
>>    if (!$res=db_query($query)) print_error_local('Query error: 
>'.$query."\n<BR>".db_error());
>> 
>>    $numurlsdb="10";
>>    if ($row=db_fetchrow($res)) {
>>     $numurlsdb=$row[0];
>>    }
>> 
>>    db_freeresult($res);
>> 
>> *** To parse the data nicely, I changed template.inc:
>> 
>> *** I added in all the ereg_replace a new one. I put it after lang_url_translation:
>> 
>>     $str=ereg_replace('\$NU', $numurlsdb, $str);
>> 
>> *** and of course, the global declaration in the print_template function:
>> 
>> global $numurlsdb;
>> 
>> 
>***************************************************************************************
>> It works fine. In my case, adding this in the top section of the template:
>> $NU URLs exists in the database.
>> 
>> This new keyword is now replaced with the number of urls in table url.
>> 
>> As this query is SQL92 conformant, it should work everywhere, so no need to deal 
>with SQL server format.
>> 
>> Please confirm this represent the real number of URL that can be searched.
>> 
>> Enjoy!
>> 
>> Laurent LEVIER
>> IT Systems & Networks, Unix System Engineer
>> Security Specialist
>> 
>> Argosnet Security Server : http://www.Argosnet.com
>> "Le Veilleur Technologique", "The Technology Watcher"

Laurent LEVIER
IT Systems & Networks, Unix System Engineer
Security Specialist

Argosnet Security Server : http://www.Argosnet.com
"Le Veilleur Technologique", "The Technology Watcher"

______________
If you want to unsubscribe send "unsubscribe udmsearch"
to [EMAIL PROTECTED]

Reply via email to