[Phpmyadmin-devel] Column reordering

Aris Feryanto aris_feryanto at yahoo.com
Tue Jun 14 07:02:37 CEST 2011



----- Original Message -----
> From: Aris Feryanto <aris_feryanto at yahoo.com>
> 
> ----- Original Message -----
>>  From: Marc Delisle <marc at infomarc.info>
>> 
>>  Marc Delisle a écrit :
>>>   Aris Feryanto a écrit :
>>> 
>>>>   Hi,
>>>> 
>>>>   Just realized my previous email seem not delivered successfully to
>>>>   phpMyAdmin-devel list. I've previously sent an email telling 
> that I
>>>>   will work on merging the tooltip as suggested by Rouslan. I'm 
> still
>>>>   working and testing on this and will add the 'Click to 
> mark'.
>>>> 
>>>>   I am also fixing the previous code, as it hasn't checked 
> whether we
>>>>   are under Browse tab, before calling the column-order remembering
>>>>   function.
>>>> 
>>>>   I wonder if there is any existing exact way to check if we are 
> under
>>>>   Browse tab? Current code do the checking using requested url 
> pattern
>>>>   and analyzed SQL query (you may see function PMA_isBrowsing in 
> file
>>>>   libraries/display_tbl.lib.php in my git repo). But, this is not
>>>>   enough for handling load from AJAX request under other tabs (e.g.
>>>>   AJAX request to sql.php caused by pagination of results under SQL
>>>>   tab)
>>> 
>>>   Yes, this is difficult to solve with current code; maybe it's time 
> for 
>>  a
>>>   new tbl_browse.php that could set some constant, then require sql.php.
>>>   Further down the code, either the constant is checked directly or is
>>>   used to generate a hidden span with some id that can be checked at the
>>>   js level.
>>> 
>>> 
>> 
>>  By the way, I'm not sure why you strictly want to do some verifications
>>  while under the Browse tab. Some actions, for example Search, will
>>  generate results in which in a user might want to reorder the columns.
> 
> 
> Hi Marc,
> 
> You are right. User may want to reorder columns in Search tab.
> 
> I found a way to make PMA_isBrowsing() better, IMO. I add some rule so that it 
> will return true on any SQL expression in the form of "SELECT * FROM <a 
> table> WHERE ...". Not depending on whether we are under 
> "Browse" tab anymore. I've updated this in my git. The complete 
> function:
> 
> ===========================
> function PMA_isBrowsing()
> {
>     // global variables set from sql.php
>     global $is_count, $is_export, $is_func, $is_analyse;
>     global $analyzed_sql;
> 
>     return ! ($is_count || $is_export || $is_func || $is_analyse)
>         && count($analyzed_sql[0]['select_expr']) == 0
>         && 
> isset($analyzed_sql[0]['queryflags']['select_from'])
>         && count($analyzed_sql[0]['table_ref']) == 1;
> }
> ===========================
> 
> I've do some test and it is working good so far. Please kindly check this 
> and let me know what do you think about this.
> 
> I also found that column reordering and resizing still not work under 
> db_search.php. I'm working to fix this.
> 


Fixed in my git. Also, previously we cannot do inline editing under db_search.php. Now with the fix, the inline edit works.


--
Aris Feryanto




More information about the Developers mailing list