¸®´ª½º °ü·Ã °­Á¶õ

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   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]¸¦ ´©¸£½Ê½Ã¿À.

HomePage Backward Forward Post Reply List
1998 by swindler