触摸艺术和时尚的音弦 ---- happydog's art secret garden ~~~

PHP笔记八

上一篇 / 下一篇  2008-04-21 18:31:54

php处理多值输入(接收数组)

<html>
<body>
<form. action="multivalue.php" method="post">
What's your favorite programming language?<br /> (check all that apply):<br />
<input type="checkbox" name="languages[]" value="csharp" />C#<br />
<input type="checkbox" name="languages[]" value="jscript" />Javascript<br />
<input type="checkbox" name="languages[]" value="java" />Java<br />
<input type="checkbox" name="languages[]" value="php" />PHP<br />
<input type="checkbox" name="languages[]" value="ruby" />Ruby<br />
<!--  这里name是数组格式 -->
<input type="submit" name="submit" value="Go!" />
</form>

</body>
</html>
<?php
  if (isset($_POST['submit']))
  {
    echo "You like the following languages:<br />";
 foreach($_POST['languages'] AS $language) echo "$language<br />";
 // 这里接收的languages是数组名
  }
?>

php产生forms
原理: 用程序控制echo打出html代码。

建立数据库cor并建立表格
CREATE TABLE `language` (
`id` SMALLINT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 30 ) NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE = MYISAM ;
并插入几种语言的名称。

dropdown.php

<?php
function create_dropdown($id,$pairs,$firstentry,$multiple="")
{
  $dropdown = "<select name=\"$id\" multiple=\"$multiple\">";
 //注意esaping character
  $dropdown .= "<option name=\"\">$firstentry</option>";
  foreach ($pairs AS $value => $name)
  {
   $dropdown .= "<option name=\"$value\">$name</option>";
   }
   echo "</select>";
   return $dropdown;
 }
 
 if (!($connection = mysql_connect("localhost","root","apmsetup")))
  die ("Cannot connect");
  if (!(mysql_select_db("cor",$connection)))
  die ("Cannot select DB");
  $query ='SELECT id,name FROM `language` ORDER BY name';
  $result = @mysql_query($query,$connection);
   while ($row = @mysql_fetch_array($result))
   { 
     $value = $row["id"];
  $name = $row["name"];
  $pairs["$value"] = $name;
   }
   echo "Choose your preferred language: <br />";
   echo create_dropdown("language",$pairs,"Choose One:");
 //因为 create_dropdown返回的是一串其实是html表单代码的字符串,所以之前用echo
  ?>

 有预选的项目,只要添加一个参数
 function create_dropdown($id,$pairs,$firstentry,$multiple="",$key="")
{
  $dropdown = "<select name=\"$id\" multiple=\"$multiple\">";
  $dropdown .= "<option name=\"\">$firstentry</option>";
  foreach ($pairs AS $value => $name)
  {
   $dropdown .= ($value == $key) ?
              "<option name=\"$value\" selected=\"selected\">$name</option>" :
              "<option name=\"$value\">$name</option>";
  // 使用了   ? :  操作符,  在预选的那项打出 selected="selected"
    }
   echo "</select>";
   return $dropdown;
 }
 然后
   echo create_dropdown("language",$pairs,"Choose One:","",4);

PHP,Javascript和表单的协作
  原理:  在Js的事件触发的地方(比如onClick),用php产生某些js函数的参数
   比如 nClick="myfunction(<?=$myid?>);"

 


TAG:

溶月居 引用 刪除 wel3kxial   /   2008-04-21 21:30:33
一个很火的php framework

http://www.zend.com/

另外比较有名的是crackPHP
 

評分:0

我來說兩句

顯示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar