¸®´ª½º °ü·Ã °Á¶õ |
---|
Á¦¸ñ | PHP/FI #5 1999/01/02 (10:41) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 76 |
Á¶È¸ | 475 |
º»¹® |
¡º¸®´ª½º Çдç-¸®´ª½º °Á / ¿¬Àç (go LINUX)¡» 437¹ø Á¦ ¸ñ:[°ÁÂ05] PHP/FI ¸¦ ÀÌ¿ëÇÑ ÀÎÆ®¶ó³Ý±¸Ãà ¿Ã¸°ÀÌ:kingcrab(¹ÚÀçÈ ) 97/03/29 10:48 ÀÐÀ½:1465 °ü·ÃÀÚ·á ¾øÀ½ ----------------------------------------------------------------------------- 2. PHP/FI ±âº» »ç¿ë¹ý 2.1 URL Manager mSQL °ú ¸¶Âù°¡Áö·Î PHP/FI ¸¦ ¿¹Á¦¸¦ ÅëÇØ ¼³¸íÇϵµ·Ï ÇÏ°Ú´Ù. PHP/FI ¼Ò½ºµð·ºÅ͸® ÀÇ examples/url* ÆÄÀϵéÀ» ´ë»óÀ¸·Î ÇÑ´Ù. PHP/FI ¸¦ Apache À¥¼¹öÀÇ ¸ðµâ·Î ÄÄÆÄ ÀÏÇÑ °ÍÀ» ±âº»À¸·Î ÇÑ´Ù. ¸ÕÀú mSQL ¿¡ µ¥ÀÌŸº£À̽º¸¦ ¸¸µé°í ÇÊ¿äÇÑ Å×À̺í°ú ¸î°³ÀÇ ÀÚ·áµéÀ» ³Ö´Â msql ½º Å©¸³Æ®¸¦ »ìÆ캸ÀÚ. -[url.msql]-------------------------------------------------------------------- # # mSQL Dump (requires mSQL-1.0.6 or better) # # Host: localhost Database: url_mgr #-------------------------------------------------------- # # Table structure for table 'urls' # CREATE TABLE urls ( url CHAR(128) PRIMARY KEY, category CHAR(32), description CHAR(256), hits_total INT, hits_today INT ) \g # # Dumping data for table 'urls' # INSERT INTO urls VALUES ('http://www.io.org/~rasmus','Home Pages','Rasmus\' home page at io.org',0,0)\g INSERT INTO urls VALUES ('http://madhaus.utcs.utoronto.ca/~rasmus','Home Pages' ,'Rasmus\' home page at U of T',0,0)\g INSERT INTO urls VALUES ('http://www.yahoo.com','Search Engines','Yahoo\'s Search Engine',0,0)\g # # Table structure for table 'categories' # CREATE TABLE categories ( name CHAR(32) PRIMARY KEY, description CHAR(256) ) \g # # Dumping data for table 'categories' # INSERT INTO categories VALUES ('Search Engines','Good places to go look for things')\g INSERT INTO categories VALUES ('Home Pages','Personal Home pages')\g INSERT INTO categories VALUES ('Unix','Sites with technical Unix material')\g ------------------------------------------------------------------------------- ±âº»ÀûÀ¸·Î url_mgr À̶ó´Â µ¥ÀÌŸº£À̽º¸¦ »ý¼º½ÃÅ°°í mSQL »ç¿ëÀÚ·Î ·Î±äÇؼ À§ÀÇ ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇؼ ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î Å×À̺íÀ» »ý¼º½ÃŲ´Ù. hackers:~# msqladmin create url_mgr hackers:~# su - msql hackers:~$ msql url_mgr < url.msql Á¦´ë·Î »ý¼ºµÇ¾ú´ÂÁö relshow ¸í·ÉÀ¸·Î È®ÀÎÇÑ µÚ ´ÙÀ½À¸·Î ³Ñ¾î°¡ÀÚ. hackers:~$ relshow url_mgr Database = url_mgr +---------------------+ | Table | +---------------------+ | urls | | categories | +---------------------+ hackers:~$ relshow url_mgr urls Database = url_mgr Table = urls +-----------------+----------+--------+----------+--------------+ | Field | Type | Length | Not Null | Unique Index | +-----------------+----------+--------+----------+--------------+ | url | char | 128 | Y | N/A | | category | char | 32 | N | N/A | | description | char | 256 | N | N/A | | hits_total | int | 4 | N | N/A | | hits_today | int | 4 | N | N/A | +-----------------+----------+--------+----------+--------------+ ÀÚ, ÀÌÁ¦ ¸ÞÀΠȸéÀ» »Ñ·ÁÁÖ´Â url_main.phtml ÆÄÀÏÀ» »ìÆ캸µµ·Ï ÇÏÀÚ. Àüü¸¦ ´Ù °ÔÀçÇϱâ´Â Èûµå¹Ç·Î Áß°£Áß°£¿¡ Ãß·Á¼ ¼³¸íÇϵµ·Ï ÇÏ°Ú´Ù. Àüü ¼Ò½º´Â Á÷Á¢ Âü°í Çϱ⠹ٶõ´Ù. -[url_main.phtml]-------------------------------------------------------------- <?$database="url_mgr"> <FORM ACTION="/demo/url_main.phtml" METHOD="POST"> KeyWord: <INPUT TYPE="text" NAME="keyword" VALUE="<?echo $keyword>" MAXLENGTH=30 SIZE=30> Category: <SELECT NAME="category"> <?if ($category)> <OPTION SELECTED><?echo $category> <?endif> <?if ($category != "All")> <OPTION>All <?else> <OPTION SELECTED>All <?endif> ------------------------------------------------------------------------------- ÀÌ ºÎºÐÀº Å°¿öµå¿Í Ä«Å×°í¸®¸¦ ¼³Á¤ÇÏ´Â ºÎºÐÀÌ´Ù. ù¶óÀκÎÅÍ »ìÆ캸¸é, <? > ÅÂ±× ¾È¿¡ ÀÖ´Â ±¸¹®ÀÌ PHP/FI ½ºÅ©¸³Æ® ¾ð¾î¿¡¼ ¾²´Â ±¸¹®À̶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ±¸¹® ÀÌ ³ª¿Ã¶§¸¶´Ù °£´Ü°£´ÜÇÏ°Ô ¿ë¹ý¿¡ ´ëÇØ ¼³¸íÇÏ°Ú´Ù. $database="url_mgr" À̶ó´Â ºÎºÐÀº ¹«½¼¸»ÀÎÁö ¼³¸íÇÏÁö ¾Ê¾Æµµ ¾Ë ºÎºÐ! database ¶ó´Â º¯¼ö¿¡ url_mgr À̶ó´Â °ªÀ» ´ëÀÔ½ÃŲ´Ù. Àá½Ã ¿¹¸¦ µé¸é, <?$a = 5> <?echo $5> ȤÀº, <?; $a = 5; echo $a > ¶Ç´Â, <?; $a = 5; echo $a; > ¿Í °°Àº Çü½ÄÀ¸·Î ¾µ ¼ö ÀÖ´Ù. a ¶ó´Â º¯¼ö¿¡ 5 ¶ó´Â °ªÀ» ³Ö°í Ãâ·ÂÇÑ´Ù. ±× ´ÙÀ½ ¶óÀο¡´Â Å°¿öµå($keyword) °ªÀ» ¹Þ¾Æ¼ url_main.phtml ¿¡ ´Ù½Ã ³Ñ±ä´Ù. ±×¾Æ·¡ÀÇ Ä«Å×°í¸®¸¦ ¼³Á¤ÇÏ´Â ºÎºÐÀÇ PHP/FI ¾ð¾î±¸¹®À» »ìÆ캸¸é, if ¹®À¸·Î µÇ¾î ÀÖ´Ù. °£´ÜÇÑ ¿¹¸¦ µéÀÚ¸é, <? if($a == 5 && $b != 0); $c = 100 + $a / $b; endif; > ÀÌ ±¸¹®À» ´Ù½Ã ´ÙÀ½°ú °°ÀÌ ¾µ ¼öµµ ÀÖ´Ù. <? if($a == 5 && $b != 0) { $c = 100 + $a / $b; } > SELECT HTML ±¸¹®À¸·Î Ä«Å×°í¸®µéÀ» ¼±ÅÃÇÏ°Ô ÇÏ°í, ¸¸ÀÏ category º¯¼ö°¡ ¾î¶² °ªÀ» °¡Áö°í ÀÖ´Ù¸é ±× °ªÀ¸·Î ¼±ÅõǾîÁö°í, Ȥ All ÀÌ ¾Æ´Ï¸é Ä«Å×°í¸®Ç׸ñ¿¡ All À» Ãß °¡½ÃÅ°°í ±×·¸Áö¾ÊÀ» °æ¿ì¿¡ All ÀÌ ¼±ÅÃµÈ »óÅ·ΠÀÖ°Ô µÈ´Ù. -[url_main.phtml]-------------------------------------------------------------- <?$result = msql($database,"SELECT name FROM categories WHERE name<>'$category' ORDER BY name")> <?$i=0> <?$num = msql_NumRows($result)> <?while($i<$num)> <OPTION><?echo msql_Result($result,$i,"name")> <?$i++> <?endwhile> ------------------------------------------------------------------------------- ÀÚ, ÀÌÁ¦ mSQL °ú ¾ê±âÇÒ Â÷·ÊÀÌ´Ù. mSQL °ú Åë½ÅÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°Àº ±¸¹®À» ¾²°Ô µÈ´Ù. <?msql($database, $query)> $database ¿¡´Â ÁöÁ¤µÈ µ¥ÀÌŸº£À̽ºÀÇ À̸§ÀÌ µé¾î°£´Ù. ¿©±â¼´Â url_mgr. ±×´ÙÀ½ SQL ±¸¹®À» ½á¼ ÀÛ¾÷³»¿ëÀ» ÀûÀ¸¸é µÈ´Ù. ¿©±â¿¡¼´Â categories ¶ó´Â Å×ÀÌºí¿¡¼ $category ÀÇ °ª°ú name Ç׸ñÀÇ °ªµéÁß °°Áö¾ÊÀº name À» name ¼øÀ¸·Î °í¸¥´Ù. ±× °ªÀ» result º¯¼ö¿¡ ´ëÀÔÇÏ°Ô µÈ´Ù. msql_NumRows($result) ´Â $result °ªÀÌ °¡Áö´Â ¶óÀÎÀÇ ¼ö¸¦ ³ªÅ¸³½´Ù. ¸¸¾à Ä«Å×°í ¸®ÀÇ °¹¼ö°¡ 10 °³¶ó¸é ¿©±â¼´Â 10À» ¸®ÅÏÇÏ°Ô µÈ´Ù. ±×·¯¸é $num ÀÌ °¡Áö´Â °ªÀº 10 ÀÌ´Ù. PHP ¾ð¾îÀÇ while(), endwhile ±¸¹®ÀÌ ³ªÅ¸³µ´Ù. °£´ÜÇÑ ¿¹¸¦ ¸ÕÀú µé¾îº¸ÀÚ. <? $a = 0; while($a < 100) { $a++; echo $list[$a]; } > ÀÌ ¿¹´Â µÎ°¡Áö¸¦ ´ã°í ÀÖ´Ù. while() ¹®À̶û, ¹è¿. list[] °¡ °¡Áö´Â °ªµé 100°³¸¦ Â÷·Ê·Î Ãâ·ÂÇÑ´Ù. <?while($i<$num)> <OPTION><?echo msql_Result($result,$i,"name")> <?$i++> <?endwhile> ±×·¯¸é $num ÀÇ °¹¼ö¸¸Å name ÀÇ ³»¿ëÀ» ¼±ÅÃÇ׸ñÀ¸·Î Ãâ·ÂÇ϶ó´Â ¾ê±âÀÌ´Ù. ¿©±â¼ ¶Ç msql_Result() ¹®À» Àá½Ã »ìÆ캸°í ³Ñ¾î°¡ÀÚ. °£´ÜÇÑ ¿¹¸¦ µé¾î ¼³¸íÇÏÀÚ. <? $name = "È«±æµ¿"; $result = msql($database, "SELECT * FROM table WHERE fullname='$name'"); $num = msql_NumRows($result); echo "$num °³ÀÇ Ç׸ñÀ» ã¾Ò½À´Ï´Ù!<P>"; $i = 0; while($i < $num); echo msql_Result($result, $i, "fullname"); echo "<BR>"; echo msql_Result($result, $i, "address"); echo "<BR>"; $i++; endwhile; > È«±æµ¿À̶ó´Â À̸§À» °¡ÁøÀ̵éÀ» $database ¶ó´Â µ¥ÀÌŸº£À̽ºÀÇ table Å×ÀÌºí¿¡¼ ã¾Æ¼ À̸§°ú ÁÖ¼Ò¸¦ Ãâ·ÂÇÑ´Ù. ¿©±â±îÁö ȸéÀÇ »ó´Ü¿¡ °Ë»öÇϱâ À§ÇÑ ºÎºÐÀ» ¸¸µé¾ú´Ù. Å°¿öµå¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖµµ·Ï Çß°í, Ä«Å×°í¸®¸¦ ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇØ µ¥ÀÌŸº£À̽º¿¡¼ °ªµéÀ» Àоî¿Í °í¸¦ ¼ö ÀÖµµ·Ï Ãâ·ÂÇÏ´Â ºÎºÐÀ̾ú´Ù. -[url_main.phtml]-------------------------------------------------------------- <?if($category=="All"); $result = msql($database,"SELECT url,description,category FROM urls WHERE url LIKE '%$keyword%' OR description LIKE '%$keyword%' ORDER BY url"); $num = msql_NumRows($result); else; $result = msql($database,"SELECT url,description,category FROM urls WHERE url LIKE '%$keyword%' OR description LIKE '%$keyword%' AND category='$category' ORDER BY url"); $num = msql_NumRows($result); endif; $i=0; while ($i<$num)> <TR> <TD> <?$url=msql_Result($result,$i,"url")> <A HREF="<?echo $url>"><?echo $url></A> </TD> <TD> <?echo msql_Result($result,$i,"description")> </TD> <TD> <?echo msql_Result($result,$i,"category")> </TD> </TR> <?$i++> <?endwhile> ------------------------------------------------------------------------------- $category °¡ All ÀÏ °æ¿ì¿¡´Â urls Å×ÀÌºí¿¡¼ url, description, category ¸¦ °í¸£ ´Âµ¥ Á¶°ÇÀÌ url ÀÌ ¾Õ¿¡¼ÀÇ $keyword ¿Í °°°Å³ª description ÀÌ $keyword ¿Í °°À» ¶§ url ¼øÀ¸·Î ³ª¿ÇÑ´Ù. À̸¦ Ç¥·Î ¸¸µé±â À§Çؼ ÀÏ´Ü ¶óÀμö¸¦ ÀúÀåÇÑ´Ù. $category °¡ All ÀÌ ¾Æ´Ò °æ¿ì¿¡´Â À§¿¡¼ "±×¸®°í category °¡ $category ¿Í °°Àº Ç׸ñÀ»" °í¸£°Ô µÈ´Ù. URL °ü¸®ÀÚÀ̹ǷΠURL À» Ŭ¸¯Çϸé ÁöÁ¤ÇÑ °÷À¸·Î À̵¿ÇØ¾ß ÇÏÁö¾Ê°Ú´Â°¡! ±×·¡¼ ´Ù À½°ú °°ÀÌ °á°ú°ªÀ» ÀúÀåÇÏ°í HTML ±¸¹®¼Ó¿¡´Ù ½ï Áý¾î³Ö¾ú´Ù. <?$url=msql_Result($result,$i,"url")> <A HREF="<?echo $url>"><?echo $url></A> ÀÚ, url_main.phtml Àº ÀÏ´Ü ´ëÃæ »ìÆ캸¾Ò´Ù. ±×·¯¸é URL À» »õ·ÎÀÌ Ãß°¡Çϴ ȸé ÀÎ url_add.phtml À» »ìÆ캸ÀÚ. -[url_add.phtml]--------------------------------------------------------------- <?$database="url_mgr"; if($url); msql($database,"INSERT INTO urls VALUES ('$url','$category', '$description',0,0)"); endif> ------------------------------------------------------------------------------- ¾Æ·¡ÂÊ¿¡ url À̶ó´Â º¯¼ö¿¡ °ªÀ» °ªÀ» °¡Áú °æ¿ì¿¡ URL, Ä«Å×°í¸®, ¼³¸íÀ» urls Å×ÀÌ ºí¿¡ ÀԷ½ÃŲ´Ù. µÚÀÇ 0,0 Àº °¢°¢ ÃÑ Á¢¼Ó¼ö, ¿À´ÃÀÇ Á¢¼Ó¼öÀÌ´Ù. -[url_add.phtml]--------------------------------------------------------------- <FORM ACTION="<?echo $PHP_SELF>" METHOD="POST"> <TR><TD ALIGN="right">URL:</TD> <TD><INPUT TYPE="text" NAME="url" MAXLENGTH=128 SIZE=40></TD></TR> <TR><TD ALIGN="right">Description:</TD> <TD><INPUT TYPE="text" NAME="description" MAXLENGTH=256 SIZE=40></TD></TR> ------------------------------------------------------------------------------- $PHP_SELF °¡ °¡Áö´Â °ªÀº ÇöÀç ȸéÀÇ ¼Ò½ºÀÎ url_add.phtml ÀÌ´Ù. ¿©±â¼ ÀÔ·ÂÇÏ°Ô µÇ´Â Ç׸ñµéÀº µ¥ÀÌŸº£À̽ºÀÇ Å×ÀÌºí¿¡ ÀÖ´Â Ç׸ñµéÀÇ À̸§°ú ÀÏÄ¡½ÃÅ°´Â °ÍÀÌ ÁÁ´Ù. ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â ¾öû³ È¥¶õÀÌ ¿Â´Ù. ^^; ¶Ç, SIZE ¸¦ ÀÏÄ¡½Ãų °Í! ÀÌ ¿ÜÀÇ ³»¿ëÀº ÀÌ¹Ì ¾Õ¼ ¼³¸íÇ߱⠶§¹®¿¡ »ý·«ÇÑ´Ù. Ä«Å×°í¸®¸¦ °ü¸®Çϴ ȸéÀ» »ìÆ캸ÀÚ. -[url_cat.phtml]--------------------------------------------------------------- <?$database="url_mgr"; if($delete); msql($database,"DELETE FROM categories WHERE name='$delete'"); endif; if($add); msql($database,"INSERT INTO categories VALUES ('$name','$description')"); endif> ------------------------------------------------------------------------------- Delete ¹öÆ°À» ´·¶À»¶§ delete ¿¡ »èÁ¦µÉ Ä«Å×°í¸®ÀÇ À̸§ÀÌ ´ëÀԵȴÙ. ÀÌ·² °æ¿ì categories Å×ÀÌºí¿¡¼ name °ú $delete ÀÇ °ªÀÌ °°Àº °ÍÀ» °ñ¶ó »èÁ¦ÇÑ´Ù. Ȥ, Add ¹öÆ°À» ´·¶À»¶§´Â add ¿¡ add ¶ó´Â °ªÀÌ ´ëÀԵǰí name °ú description À» categories Å×ÀÌºí¿¡ ÀÔ·ÂÇÑ´Ù. ÀÚ, ÀÌÁ¦ ¼Ò½º¸¦ »ìÆ캸¸é ¿Ø¸¸ÇÑ ±¸¹®Àº ÀÌÇØ°¡ °¥ °ÍÀÌ´Ù. À̸¦ Á¶±Ý¸¸ ¼öÁ¤Çϸé ȸ¿ø°ü¸®¿Í °°Àº ÆäÀÌÁö´Â ½±°Ô ¸¸µé¼ö ÀÖ´Ù. Ãâ·ÂÀÌ ³¡³µ½À´Ï´Ù. [Enter]¸¦ ´©¸£½Ê½Ã¿À. |