½âÎöPHPÎÞÏÞ¼¶·ÖÀà·½·¨¼°´úÂë

5年以前  |  阅读数:376 次  |  编程语言:PHP 

ÎÞÂÛÄaÒª¹¹½¨×Ô¼ºµÄÂÛ̳£¬ÔÚÄaµÄÍøÕ¾ÉÏ¢²¼ÏuÏ¢»¹ÊÇÊeд×Ô¼ºµÄCMS³ÌÐo£¬Äa¶¼»aÓoµ½ÒªÔÚÊý¾Ý¿aÖдae´¢²a´ÎÊý¾ÝµÄÇe¿o¡£Í¬Ê±£¬³ýÇÄaʹÓÃÒ»ÖÖÏñXMLµÄÊý¾Ý¿a£¬ñÔo¹ØϵÊý¾Ý¿aÖеıi¶¼²»ÊDza´Î½a¹¹µÄ£¬ËuÃÇÖ»ÊÇÒ»¸oƽ̹µÄÁбi¡£ËuÒÔÄa±ØÐeÕÒµ½Ò»ÖְѲa´ÎÊý¾Ý¿aת»¯µÄ½*¨¡£

´ae´¢Ê÷Ðνa¹¹ÊÇÒ»¸oºÜ³£¼uµÄÎÊÌa£¬ËuÓкü¸ÖÖ½a¾o*½°¸¡£*Ö÷ÒªÓÐÁ½ÖÖ½¨£ºÁÚ½ÓÁбiÄ£Ðͺ͸ĽøÇ°Ðo±eÀuÊ÷Ëa¨**

ÔÚ±¾ÎÄÖУ¬ÎÒÃǽ«Ì½ÌÖÕaÁ½ÖÖ±£´ae²a´ÎÊý¾ÝµÄ½¨¡£ÎÒ½«¾ÙÒ»¸oÔÚÏßʳƵeÊ÷ÐÎͼµÄÀý×Ó¡£Õa¸oʳƵeͨ¹ýÀa±ð¡¢ÑÕÉ«ºÍÆÖÖÀ´×e֯ʳơ£Ê÷ÐÎͼÈçÏ£º

±¾ÎÄ°uº¬ÁËÒ»Ð(C)´uÂeµÄÀý×ÓÀ´ÑÝʾÈçºÎ±£´aeºÍ»ñÈ¡Êý¾Ý¡£ÎÒÑ¡ÔñPHPÀ´Ð´Àý×Ó£¬ÒoΪÎÒ³£ÓÃÕa¸oÓiÑÔ£¬¶øÇҺܶaÈËÒ²¶¼Ê¹ÓûoÕßÖªµÀÕa¸oÓiÑÔ¡£Äa¿ÉÒԺܽ±aµØ°ÑËuÃÇ­Òe³ÉÄa×Ô¼ºÓõÄÓiÑÔ¡£

ÁÚ½ÓÁбiÄ£ÐÍ(The Adjacency List Model)
ÎÒÃÇÒª³¢ÊԵĵÚÒ»¸o¡ª¡ªÒ²ÊÇ×iÓÅÃÀµÄ¡ª¡ª½¨³ÆΪ¡°ÁÚ½ÓÁбiÄ£ÐÍ¡±»o³ÆΪ¡°µÝ¹e½¨¡±¡£ËuÊÇÒ»¸oºÜÓÅÑŵĽ¨ÒoΪÄaÖ»ÐeÒªÒ»¸o¼oµ¥µÄ½¨À´ÔÚÄaµÄÊ÷ÖнøÐеu´u¡£ÔÚÎÒÃǵÄʳÆ*µeÖУ¬ÁÚ½ÓÁбiµÄ±i¸ñÈçÏ£º

ÈçÄaËu¼u£¬¶Ôÿ¸o½Úµa±£´aeÒ»¸o¡°¸¸¡±½Úµa¡£ÎÒÃÇ¿ÉÒÔ¿´µ½¡°Pear¡±ÊÇ¡°Green¡±µÄÒ»¸o×Ó½Úµa£¬¶øºoÕßÓÖÊÇ¡°Fruit¡±µÄ×Ó½Úµa£¬Èç´ËÀaÍÆ¡£ ¸u½Úµa£¬¡°Food¡±£¬ÔoËuµÄ¸¸½ÚµaûÓÐÖµ¡£ÎªÁ˼oµ¥£¬ÎÒÖ»ÓÃÁË¡°title¡±ÖµÀ´±eʶÿ¸o½Úµa¡£µ±È»£¬ÔÚʵ¼ÊµÄÊý¾Ý¿aÖУ¬ÄaҪʹÓÃÊý×ÖµÄID¡£

ÏÔʾÊ÷
ÏÖÔÚÎÒÃÇÒѾ­°ÑÊ÷*ÅÈeÊý¾Ý¿aÖÐÁË£¬µÃдһ¸oÏÔʾº¯ÊýÁË¡£Õa¸oº¯Êý½«´Ó¸u½Úµa¿ªÊ¼¡ª¡ªÃ»Óи¸½ÚµaµÄ½Úµa¡ª¡ªÍ¬Ê±ÒªÏÔʾÕa¸o½ÚµaËuÓеÄ×Ó½Úµa¡£¶ÔÓÚÕaÐ(C)×Ó½Úµa£¬º¯ÊýÒ²Òª»ñÈ¡²¢ÏÔʾÕa¸o×Ó½ÚµaµÄ×Ó½Úµa¡£È»ºo£¬¶ÔÓÚËuÃǵÄ×Ó½Úµa£¬º¯Êý»¹ÒªÔÙÏÔʾËuÓеÄ×Ó½Úµa£¬È»ºoÒÀ´ÎÀaÍÆ¡£

Ò²ÐiÄaÒѾ­×¢Òaµ½ÁË£¬ÕaÖÖº¯ÊýµÄÃeÊo£¬ÓÐÒ»ÖÖÆÕ±eµÄģʽ¡£ÎÒÃÇ¿ÉÒÔ¼oµ¥µØֻдһ¸oº¯Êý£¬ÓÃÀ´»ñµÃÌض¨½ÚµaµÄ×Ó½Úµa¡£Õa¸oº¯ÊýÈ»ºoÒª¶Ôÿ¸o×Ó½Úµaµ÷ÓÃ×ÔÉiÀ´ÔÙ´ÎÏÔʾËuÃǵÄ×Ó½Úµa¡£Õa¾ÍÊÇ¡°µÝ¹e¡±»uÖÆ£¬Òo´Ë³ÆÕaÖÖ½¨½Ð¡°µÝ¹e½¨¡±¡£

ҪʵÏÖÕu¸oÊ÷£¬ÎÒÃÇÖ»Òªµ÷Óú¯ÊýʱÓÃÒ»¸o¿Õ×Öu´®×÷Ϊ $parent ºÍ $level = 0: display_children('',0); º¯Êýµ»ØÁËÎÒÃǵÄʳÆ*µeµÄÊ÷״ͼÈçÏ£º
Food
Fruit
Red
Cherry
Yellow
Banana
Meat
Beef
Pork

×¢ÒaÈç¹uÄaÖ»Ïe¿´Ò»¸o×ÓÊ÷£¬Äa¿ÉÒÔ¸aeËߺ¯Êý´ÓÁiÒ»¸o½Úµa¿ªÊ¼¡£ÀýÈ磬ҪÏÔʾ¡°Fruit¡±×ÓÊ÷£¬ÄaÖ»Òªdisplay_children('Fruit',0);
The Path to a Node½ÚµaµÄ¾¶
ÀuÓòi²»¶aµÄº¯Êý£¬ÎÒÃÇÒ²¿ÉÒÔ²eѯij¸o½ÚµaµÄÂ
¾¶Èç¹uÄaÖ»ÖªµÀÕa¸o½ÚµaµÄÃu×Ö»oÕßID¡£ÀýÈ磬¡°Cherry¡±µÄ¾¶ÊÇ¡°Food¡±> ¡°Fruit¡±>¡°Red¡±¡£Òª»ñµÃÕa¸o¾¶£¬ÎÒÃǵĺ¯ÊýÒª»ñµÃÕa¸o¾¶£¬Õa¸oº¯Êý±ØÐe´Ó×iÉiµÄ²a´Î¿ªÊ¼£º¡°Cheery¡±¡£µ«ºo²eÕÒÕa¸o½ÚµaµÄ¸¸ ½Úµa£¬²¢Ìi¼Óµ½Â¾¶ÖС£ÔÚÎÒÃǵÄÀý×ÓÖУ¬Õa¸o¸¸½ÚµaÊÇ¡°Red¡±¡£Èç¹uÎÒÃÇÖªµÀ¡°Red¡±ÊÇ¡°Cherry¡±µÄ¸¸½Úµa¡£

Õa¸oº¯ÊýÏÖÔÚµ»ØÁËÖ¸¶¨½ÚµaµÄ¾¶¡£Ëu°Ñ¾¶×÷ΪÊý×eµ»Ø£¬ÕaÑuÎÒÃÇ¿ÉÒÔʹÓÃprint_r(get_path('Cherry')); À´ÏÔʾ£¬Æa½a¹uÊÇ£º
Array
(
[0] => Food
[1] => Fruit
[2] => Red)
²»×a
ÕýÈçÎÒÃÇËu¼u£¬ÕaÈʵÊÇÒ»¸oºÜºÃµÄ½¨¡£ËuºÜÈÝÒ×Ài½a£¬Í¬Ê±´uÂeÒ²ºÜ¼oµ¥¡£µ«ÊÇÁÚ½ÓÁбiÄ£Ð͵ÄȱµaÔÚÄÄÀiÄØ£¿ÔÚ´o¶aÊý±a³ÌÓiÑÔÖУ¬ËuÔËÐкÜÂý£¬Ð§Âʺܲi¡£ÕaÖ÷ÒªÊÇ¡°µÝ¹e¡±Ôi³ÉµÄ¡£ÎÒÃÇÿ´Î²eѯ½Úµa¶¼ÒªÃÎÊÊý¾Ý¿a¡£

ÿ´ÎÊý¾Ý¿a²eѯ¶¼Òª»¨ÑÒ»Ð(C)ʱ¼a£¬ÕaÈú¯Êý´¦ÀiÅÓ´oµÄÊ÷ʱ»aÊ®ÖÂý¡£

Ôi³ÉÕa¸oº¯Êý²»ÊÇÌ«¿iµÄµÚ¶þ¸oÔ­Òo¿ÉÄÜÊÇÄaʹÓõÄÓiÑÔ¡£²»ÏñLispÕaÀaÓiÑÔ£¬´o¶aÊýÓiÑÔ²»ÊÇÕe¶ÔµÝ¹eº¯ÊýÉe¼ÆµÄ¡£¶ÔÓÚÿ¸o½Úµa£¬º¯Êý¶¼Òªµ÷ÓÃËu×Ô ¼º£¬²uÉuеÄʵÀý¡£ÕaÑu£¬¶ÔÓÚÒ»¸o4²aµÄÊ÷£¬Äa¿ÉÄÜͬʱҪÔËÐÐ4¸oº¯Êý¸±±¾¡£¶ÔÓÚÿ¸oº¯Êý¶¼ÒªÕ¼ÓÃÒ»¿eÄÚ´ae²¢ÇÒÐeÒªÒ»¶¨µÄʱ¼a³oʼ»¯£¬ÕaÑu´¦Ài´oÊ÷ʱµÝ¹e ¾ÍºÜÂýÁË¡£

¸Ä½øÇ°Ðo±eÀuÊ÷
ÏÖÔÚ£¬ÈÃÎÒÃÇ¿´ÁiÒ»ÖÖ´ae´¢Ê÷µÄ½¨¡£µÝ¹e¿ÉÄÜ»aºÜÂý£¬ËuÒÔÎÒÃǾ;¡Á¿²»Ê¹Óõݹeº¯Êý¡£ÎÒÃÇÒ²Ïe¾¡Á¿¼oÉÙÊý¾Ý¿a²eѯµÄ´ÎÊý¡£×iºÃÊÇÿ´ÎÖ»ÐeÒª²eѯһ´Î¡£

ÎÒÃÇÏÈ°ÑÊ÷°´ÕÕˮƽ½Ê½°Ú¿ª¡£´Ó¸u½Úµa¿ªÊ¼£¨¡°Food¡±£(C)£¬È»ºoËuµÄ×o±ßдÉÏ1¡£È»ºo°´ÕÕÊ÷µÄ˳Ðo£¨´ÓÉϵ½Ï£(C)¸ø¡°Fruit¡±µÄ×o±ßдÉÏ2¡£Õa Ñu£¬ÄaÑØ×ÅÊ÷µÄ±ß½ç×ß°¡×ߣ¨Õa¾ÍÊÇ¡°±eÀu¡±£(C)£¬È»ºoͬʱÔÚÿ¸o½ÚµaµÄ×o±ßºÍÓÒ±ßдÉÏÊý×Ö¡£×iºo£¬ÎÒÃǻص½Á˸u½Úµa¡°Food¡±ÔÚÓÒ±ßдÉÏ18¡£ÏÂÃaeÊDZeÉÏ ÁËÊý×ÖµÄÊ÷£¬Í¬Ê±°Ñ±eÀuµÄ˳ÐoÓüýͱe³oÀ´ÁË¡£

ÎÒÃdzÆÕaÐ(C)Êý×ÖΪ×oÖµºÍÓÒÖµ£¨È磬¡°Food¡±µÄ×oÖµÊÇ1£¬ÓÒÖµÊÇ18£(C)¡£ÕýÈçÄaËu¼u£¬ÕaÐ(C)Êý×Ö°´Ê±ÁËÿ¸o½ÚµaÖ®¼aµÄ¹Øϵ¡£ÒoΪ¡°Red¡±ÓÐ3ºÍ6 Á½¸oÖµ£¬ËuÒÔ£¬ËuÊÇÓÐÓµÓÐ1-18ÖµµÄ¡°Food¡±½ÚµaµÄºoÐø¡£Í¬ÑuµÄ£¬ÎÒÃÇ¿ÉÒÔÍƶÏËuÓÐ×oÖµ´oÓÚ2²¢ÇÒÓÒֵСÓÚ11µÄ½Úµa£¬¶¼ÊÇÓÐ2-11µÄ ¡°Food¡±½ÚµaµÄºoÐø¡£ÕaÑu£¬Ê÷µÄ½a¹¹¾Íͨ¹ý×oÖµºÍÓÒÖµ´¢´aeÏÂÀ´ÁË¡£ÕaÖÖÊý±eÕu¿ÃÊ÷Ëa½ÚµaµÄ½¨½Ð×o¡°¸Ä½øÇ°Ðo±eÀuÊ÷¡±Ëa*¨¡£

ÔÚ¼ÌÐøÇ°£¬ÎÒÃÇÏÈ¿´¿´ÎÒÃǵıi¸ñÀiµÄÕaÐ(C)Öµ£º

×¢Òaµ¥´Ê¡°left¡±ºÍ¡°right¡±ÔÚSQLÖÐÓÐÌØÊaµÄº¬Òa¡£Òo´Ë£¬ÎÒÃÇÖ»ÄÜÓá°lft¡±ºÍ¡°rgt¡±À´±iʾÕaÁ½¸oÁС££¨Òe×¢¡ª¡ªÆaʵMysql ÖпÉÒÔÓá°¡±À´±iʾ£¬Èç¡°left`¡±£¬MSSQLÖпÉÒÔÓá°[]¡±À¨³o£¬Èç¡°[left]¡±£¬ÕaÑu¾Í²»»aºÍ¹Ø¼u´Ê³aÍ»ÁË¡££(C)ͬÑu×¢ÒaÕaÀiÎÒÃÇÒѾ­²»ÐeÒª¡°parent¡±ÁÐÁË¡£ÎÒÃÇÖ»ÐeҪʹÓÃlftºÍrgt¾Í¿ÉÒÔ´ae´¢Ê÷µÄ½a¹¹¡£

»ñÈ¡Ê÷
Èç¹uÄaҪͨ¹ý×oÖµºÍÓÒÖµÀ´ÏÔʾÕa¸oÊ÷µÄ»°£¬ÄaÒªÊ×Ïȱeʶ³oÄaÒª»ñÈ¡µÄÄÇÐ(C)½Úµa¡£ÀýÈ磬Èç¹uÄaÏe»ñµÃ¡°Fruit¡±×ÓÊ÷£¬ÄaҪѡÔñÄÇÐ(C)×oÖµÔÚ2µ½11µÄ½Úµa¡£ÓÃSQLÓi¾a±i´i£º
SELECT FROM tree WHERE lft BETWEEN 2 AND 11;
Õa¸o»a
µ»Ø£º

ºÃ°É£¬ÏÖÔÚÕu¸oÊ÷¶¼ÔÚÒ»¸o²eѯÖÐÁË¡£ÏÖÔÚ¾ÍÒªÏñÇ°ÃaeµÄµÝ¹eº¯ÊýÄÇÑuÏÔʾÕa¸oÊ÷£¬ÎÒÃÇÒª¼ÓÈeÒ»¸oORDER BY×Ó¾aÔÚÕa¸o²eѯÖС£Èç¹uÄa´Ó±iÖÐÌi¼ÓºÍɾ³ýÐУ¬ÄaµÄ±i¿ÉÄܾÍ˳Ðo²»¶ÔÁË£¬ÎÒÃÇÒo´ËÐeÒª°´ÕÕËuÃǵÄ×oÖµÀ´½øÐÐÅÅÐo¡£
SELECT * FROM tree WHERE lft BETWEEN 2 AND 11 ORDER BY lft ASC;
¾ÍֻʣÏÂËo½øµÄÎÊÌaÁË¡£

ÒªÏÔʾÊ÷×´½a¹¹£¬×Ó½ÚµaÓ¦¸Ã±ÈËuÃǵĸ¸½ÚµaÉÔ΢Ëo½øÒ»Ð(C)¡£ÎÒÃÇ¿ÉÒÔͨ¹ý±£´aeÒ»¸oÓÒÖµµÄÒ»¸oÕ»¡£Ã¿´ÎÄa´ÓÒ»¸o½ÚµaµÄ×Ó½Úµa¿ªÊ¼Ê±£¬Äa°ÑÕa¸o½ÚµaµÄÓÒÖµ Ìi¼Óµ½Õ»ÖС£ÄaÒ²ÖªµÀ×Ó½ÚµaµÄÓÒÖµ¶¼±È¸¸½ÚµaµÄÓÒֵС£¬ÕaÑuͨ¹ý±È½Ïµ±Ç°½ÚµaºÍÕ»ÖеÄÇ°Ò»¸o½ÚµaµÄÓÒÖµ£¬Äa¿ÉÒÔÅжÏÄaÊDz»ÊÇÔÚÏÔʾÕa¸o¸¸½ÚµaµÄ×Ó½Úµa¡£µ± ÄaÏÔʾÍeÕa¸o½Úµa£¬Äa¾ÍÒª°ÑËuµÄÓÒÖµ´ÓÕ»ÖÐɾ³ý¡£Òª»ñµÃµ±Ç°½ÚµaµÄ²aÊý£¬Ö»ÒªÊýÒ»ÏÂÕ»ÖеÄÔªËØ¡£

Èç¹uÔËÐÐÕa¶Î´uÂe£¬Äa¿ÉÒÔ»ñµÃºÍÉÏÒ»²¿*ÖÌÖÂ۵ĵݹeº¯ÊýÒ»ÑuµÄ½a¹u¡£¶øÕa¸oº¯Êý¿ÉÄÜ»a¸u¿iÒ»µa£ºËu²»²ÉÓõݹe¶øÇÒÖ»ÊÇÓÃÁËÁ½¸o²eѯ

*½ÚµaµÄ¾¶
*ÓÐÁËеÄËa¨£¬ÎÒÃÇ»¹ÒªÁiÕÒÒ»ÖÖеĽ¨À´»ñµÃÖ¸¶¨½ÚµaµÄÂ*¾¶¡£ÕaÑu£¬ÎÒÃǾÍÐeÒªÕa¸o½ÚµaµÄ×aeÏȵÄÒ»¸oÁбi¡£

ÓÉÓÚеıi½a¹¹£¬Õa²»ÐeÒª»¨Ì«¶a¹¦o¡£Äa¿ÉÒÔ¿´Ò»Ï£¬ÀýÈ磬4-5µÄ¡°Cherry¡±½Úµa£¬Äa»a¢ÏÖ×aeÏȵÄ×oÖµ¶¼Ð¡ÓÚ4£¬Í¬Ê±ÓÒÖµ¶¼´oÓÚ5¡£ÕaÑu£¬ÎÒÃǾͿÉÒÔʹÓÃÏÂÃaeÕa¸o²eѯ£º
SELECT title FROM tree WHERE lft < 4 AND rgt > 5 ORDER BY lft ASC;
×¢Òa£¬¾ÍÏñÇ°ÃaeµÄ²eѯһÑu£¬ÎÒÃDZØÐeʹÓÃÒ»¸oORDER BY×Ó¾aÀ´¶Ô½ÚµaÅÅÐo¡£Õa¸o²eѯ½«*µ»Ø£º

+-------+
| title |
+-------+
| Food |
| Fruit |
| Red |
+-------+

ÎÒÃÇÏÖÔÚÖ»Òª°Ñ¸÷ÐÐÁ¬ÆðÀ´£¬¾Í¿ÉÒԵõ½¡°Cherry¡±µÄÂ*¾¶ÁË¡£
ÓжaÉÙ¸oºoÐø½Úµa£¿How Many Descendants
Èç¹uÄa¸øÎÒÒ»¸o½ÚµaµÄ×oÖµºÍÓÒÖµ£¬ÎҾͿÉÒÔ¸aeËßÄaËuÓжaÉÙ¸oºoÐø½Úµa£¬Ö»ÒªÀuÓÃÒ»µaµaÊýѧ֪ʶ¡£
ÒoΪÿ¸oºoÐø½ÚµaÒÀ´Î»a¶ÔÕa¸o½ÚµaµÄÓÒÖµÔo¼Ó2£¬ËuÒÔºoÐø½ÚµaµÄÊýÁ¿¿ÉÒÔÕaÑu¼ÆËa£º
descendants = (right ¨C left - 1) / 2
ÀuÓÃÕa¸o¼oµ¥µÄ¹«Ê½£¬ÎÒ¿ÉÒÔÁ¢¿Ì¸aeËßÄa2-11µÄ¡°Fruit¡±½ÚµaÓÐ4¸oºoÐø½Úµa£¬8-9µÄ¡°Banana¡±½ÚµaÖ»ÊÇ1¸o×Ó½Úµa£¬¶ø²»ÊǸ¸½Úµa¡£

×Ô¶¯»¯Ê÷±eÀu
ÏÖÔÚÄa¶ÔÕa¸o±i×oÒ»Ð(C)ÊÂÇe£¬ÎÒÃÇÓ¦¸ÃѧϰÈçºÎ×Ô¶¯µÄ½¨Á¢±iÁË¡£ÕaÊÇÒ»¸o²»´iµÄÁ*Ï°£¬Ê×ÏÈÓÃÒ»¸oСµÄÊ÷£¬ÎÒÃÇÒ²ÐeÒªÒ»¸o½Å±¾À´°iÎÒÃÇÍe³É¶Ô½ÚµaµÄ¼ÆÊý¡£
ÈÃÎÒÃÇÏÈдһ¸o½Å±¾ÓÃÀ´°ÑÒ»¸oÁÚ½ÓÁбiת»»³ÉÇ°Ðo±eÀuÊ÷±i¸ñ¡£

ÕaÊÇÒ»¸oµÝ¹eº¯Êý¡£ÄaÒª´Órebuild_tree('Food',1); ¿ªÊ¼£¬Õa¸oº¯Êý¾Í»a»ñÈ¡ËuÓеġ°Food¡±½ÚµaµÄ×Ó½Úµa¡£

Èç¹uûÓÐ×Ó½Úµa£¬Ëu¾ÍÖ±½ÓÉeÖÃËuµÄ×oÖµºÍÓÒÖµ¡£×oÖµÒѾ­¸ø³oÁË£¬1£¬ÓÒÖµÔoÊÇ×oÖµ¼Ó1¡£Èç¹uÓÐ×Ó½Úµa£¬º¯ÊýÖظ´²¢ÇÒ*µ»Ø×iºoÒ»¸oÓÒÖµ¡£Õa¸oÓÒÖµÓÃÀ´×÷Ϊ¡°Food¡±µÄÓÒÖµ¡£

µÝ¹eÈÃÕa¸oº¯ÊýÓеa¸´ÔÓÄÑÓÚÀi½a¡£È»¶ø£¬Õa¸oº¯ÊýÈʵµÃµ½ÁËͬÑuµÄ½a¹u¡£ËuÑØ×ÅÊ÷×ߣ¬Ìi¼Óÿһ¸oËu¿´¼uµÄ½Úµa¡£ÄaÔËÐÐÁËÕa¸oº¯ÊýÖ®ºo£¬Äa»a¢ÏÖ×oÖµºÍÓÒÖµºÍÔ¤ÆÚµÄÊÇÒ»ÑuµÄ£¨Ò»¸o¿iËÙ¼iÑeµÄ½¨£º¸u½ÚµaµÄÓÒÖµÓ¦¸ÃÊǽڵaÊýÁ¿µÄÁ½±¶£(C)¡£

Ìi¼ÓÒ»¸o½Úµa
ÎÒÃÇÈçºÎ¸øÕa¿ÃÊ÷Ìi¼ÓÒ»¸o½Úµa£¿ÓÐÁ½ÖÖ*½Ê½£ºÔÚ±iÖб£Áo¡°parent¡±Áв¢ÇÒÖØÐÂÔËÐÐrebuild_tree() º¯Êý¡ª¡ªÒ»¸oºÜ¼oµ¥µ«È´²»ÊǺÜÓÅÑŵĺ¯Êý£»»oÕßÄa¿ÉÒÔ¸uÐÂËuÓÐнڵaÓұߵĽڵaµÄ×oÖµºÍÓÒÖµ¡£

µÚÒ»¸oÏe¨±È½Ï¼oµ¥¡£ÄaʹÓÃÁÚ½ÓÁбi½*¨À´¸uУ¬Í¬Ê±Ê¹ÓøĽøÇ°Ðo±eÀuÊ÷À´²eѯ¡£Èç¹uÄaÏeÌi¼ÓÒ»¸oеĽڵa£¬ÄaÖ»ÐeÒª°Ñ½Úµa²aÈe±i¸ñ£¬²¢ÇÒÉeÖúÃparentÁС£È»ºo£¬ÄaÖ»ÐeÒªÖØÐÂÔËÐÐrebuild_tree() º¯Êý¡£Õa×oÆðÀ´ºÜ¼oµ¥£¬µ«ÊǶԴoµÄÊ÷ЧÂʲ»¸ß¡£

µÚ¶þÖÖÌi¼ÓºÍɾ³ý½ÚµaµÄ½¨ÊǸuÐÂнڵaÓұߵÄËuÓнڵa¡£ÈÃÎÒÃÇ¿´Ò»ÏÂÀý×Ó¡£ÎÒÃÇÒªÌi¼ÓÒ»ÖÖеÄË®¹u¡ª¡ª¡°Strawberry¡±£¬×÷Ϊ¡°Red¡± µÄ×iºoÒ»¸o×Ó½Úµa¡£Ê×ÏÈ£¬ÎÒÃÇÒªÌÚ³oÒ»¸o¿Õ¼a¡£¡°Red¡±µÄÓÒÖµÒª´Ó6±a³É8£¬7-10µÄ¡°Yellow¡±½ÚµaÒª±a³É9-12£¬Èç´ËÀaÍÆ¡£¸uС°Red¡± ½ÚµaÒaζ×ÅÎÒÃÇÒª°ÑËuÓÐ×oÖµºÍÓÒÖµ´oÓÚ5µÄ½Úµa¼ÓÉÏ2¡£

ÎÒÃÇÓÃһϲeѯ£º
UPDATE tree SET rgt=rgt+2 WHERE rgt>5;
UPDATE tree SET lft=lft+2 WHERE lft>5;
ÏÖÔÚÎÒÃÇ¿ÉÒÔÌi¼ÓÒ»¸oеĽڵa¡°Strawberry¡±À´Ìi²¹Õa¸oеĿռa¡£Õa¸o½Úµa×oֵΪ6ÓÒֵΪ7¡£
INSERT INTO tree SET lft=6, rgt=7, title='Strawberry';
Èç¹uÎÒÃÇÔËÐÐdisplay_tree() º¯Êý£¬ÎÒÃǽ«*¢ÏÖÎÒÃÇеġ°Strawberry¡±½ÚµaÒѾ­³É¹¦µØ²aÈeÁËÊ÷ÖУºFood
Fruit
Red
Cherry
Strawberry
Yellow
Banana
Meat
Beef
Pork

鱵a
Ê×ÏÈ£¬¸Ä½øÇ°Ðo±eÀuÊ÷Ëa¨¿´ÉÏÈ¥ºÜÄÑÀi½a¡£Ëuµ±È»Ã»ÓÐÁÚ½ÓÁбi½¨¼oµ¥¡£È»¶ø£¬Ò»µ(C)ÄaÏ°¹ßÁË×oÖµºÍÓÒÖµÕaÁ½¸oÊoÐÔ£¬Ëu¾Í»a±aµÃÇaÎuÆðÀ´£¬Äa¿ÉÒÔÓÃÕa¸o¼¼ÊoÀ´Íe³ÉÁÙ½ÖÁбiÄÜÍe³ÉµÄËuÓÐÊÂÇe£¬Í¬Ê±¸Ä½øÇ°Ðo±eÀuÊ÷Ëa¨¸u¿i¡£µ±È»£¬¸uÐÂÊ÷ÐeÒªºÜ¶a²eѯ£¬ÒªÂýÒ»µa£¬µ«ÊÇÈ¡µÃ½ÚµaÈ´¿ÉÒÔÖ»ÓÃÒ»¸o²eѯ¡£

×ܽa
ÄaÏÖÔÚÒѾ­¶ÔÁ½ÖÖÔÚÊý¾Ý¿a´ae´¢Ê÷½Ê½ÊiϤÁË°É¡£ËaÈ»ÔÚÎÒÕa¶u¸Ä½øÇ°Ðo±eÀuÊ÷Ëa¨ÐÔÄܸuºÃ£¬µ«ÊÇÒ²ÐiÔÚÄaÌØÊaµÄÇe¿oÏÂÁÚ½ÓÁбi½¨¿ÉÄܱiÏÖ¸uºÃÒ»Ð(C)¡£Õa¸o¾ÍÁo¸øÄa×Ô¼º¾o¶¨ÁË

×iºoÒ»µa£º¾ÍÏñÎÒÒѾ­ËµµÃÎÒ²¿ÍƼoÄaʹÓýڵaµÄ±eÌaÀ´ÒýÓÃÕa¸o½Úµa¡£ÄaÓ¦¸Ã×ñÑ­Êý¾Ý¿a±e×¼»¯µÄ»u±¾¹aeÔo¡£ÎÒûÓÐʹÓÃÊý×Ö±eʶÊÇÒoΪÓÃÁËÖ®ºoÀý×ӾͱȽÏÄѶÁ¡£

*Ëa¨3**

ÔÚMYSQLÖУ¬Êý¾Ý±i´oÖÂÉÏÊÇ

CREATE TABLE Table_Types
(
id INTEGER NOT NULL AUTO_INCREMENT,
parent_id INTEGER,
node VARCHAR(255),
PRIMARY KEY (id)
)

ÈçÉÏͼ£¬×ÏÉ«µÄÊÇÊý¾Ý¼Ç¼µÄIDºÅ£¬¿oÄÚµÄÊý×ÖÊÇÿÌo¼Ç¼µÄnode×ֶΣ¬¼Ç¼Á˸üǼµÄ¸¸IDºÍ¸¸IDµÄ¸¸IDºÍ...

ÕaÑu£¬¼ÙÈçÎÒÃÇÒªÔÚIDΪ7µÄ¼Ç¼Ï£¬²aÈeÒ»ÌoÐÂIDΪ13µÄ¼Ç¼£¬Ð¼Ç¼µÄnode¾ÍÊÇ1,2,7,13

ÒªÕÒÒ»¸o½ÚµaϵÄËuÓÐ×Ó½Úµa£¬¾ÍÎÞÐeÓõݹe£¬Ö»ÒªÒ»¸oSQL¡£

Èç¡°²eIDΪ2¼Ç¼ÏÂËuÓÐ×Ó½Úµa¡±

select * from Table_Types where node like "1,2,%"

*´o¼Ò̽ÌÖһϣ¬¸ÃËa¨µÄÓÐЧÐԺͲ»×a£¡
**

Éϴο´µ½µÄ×oÓÒÖµµÄËa¨£¬ËaÈ»ÔÚËÑË÷½ÃaeºÜ²»´i£¬µ«ÊÇÈç¹uÊDzaÈeƵ±µÄÓ¦Óã¬ÐÔÄܾͺܲiÁË£¬ÒoΪÿ´Î²aÈeнڵa¶¼ÐeÒªupdate¸Ã¸¸½ÚµaÒÔÏ µÄËuÓмǼ¡£µÄÓÒÖµ¡£¶øÉÏÃaeÕa¸oËa¨£¬¶Ô²aÈe²Ù×÷ÓÈÆa¼oµ¥£¬Ö»ÒªÕÒµ½¸¸IDµÄ¸uÏÂÀ´¾Í¿ÉÒÔÁË¡£ËÑË÷*½ÃaeºÃÏñÒ²»¹²»´i£¬¶¼ÊDZÜÃaÁ˵ݹe.

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例