close
文章出處

上一篇,我們講了一張表如何刪除和添加數據,下面講一下如何修改一張表

還是使用那張水果表,多加上一列,修改

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<h1>水果表</h1>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
        <td>代號</td>
        <td>名稱</td>
        <td>價格</td>
        <td>產地</td>
        <td>庫存</td>
        <td>操作</td>
</tr>
 <?php
    //造連接對象
    $db = new MySQLi("localhost","root","726","text11");
    //寫SQL語句
    $sql = "select * from fruit";
    
    //執行
    $result = $db->query($sql);
    
    //取數據
    /*$attr = $result->fetch_all();
    
    foreach($attr as $v)
    {
        echo "<tr><td>{$v[0]}</td><td>{$v[1]}</td><td>{$v[2]}</td><td>{$v[3]}</td><td>{$v[4]}</td></tr>";
    }*/         
    
    while($attr = $result->fetch_row())
    {
        echo "<tr><td>{$attr[0]}</td><td>{$attr[1]}</td><td>{$attr[2]}</td><td>{$attr[3]}</td><td>{$attr[4]}</td><td>
        
        <a href='shanchu.php?code={$attr[0]}' onclick=\"return confirm('確定刪除么')\">
        刪除
        </a>
        <a href='xiugai.php?code={$attr[0]}'>修改</a>      
        </td></tr>";
    }
    //上述顯示數據的兩種方法都可以用  
    
    ?> 
</table>

<a href="tianjia.php">添加數據</a>
</body>
<script type="text/javascript">

</script>
</html>

使用的a 標簽,href地址是xiugai.php    也就是說待會得新建一個網頁,根據索引來修改

這樣后面就多了一個修改列:

點擊修改,它會自動跳轉到xiugai.php頁面

建一個新的頁面,里面就要寫xiugai.php  的內容了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<h1>修改水果</h1>
<?php
$code = $_GET["code"];
//造連接對象
$db = new MySQLi("localhost","root","726","text11");
//寫SQL語句
$sql = "select * from fruit where ids='{$code}'";
//執行
$result =$db->query($sql);
//取數據
$attr = $result->fetch_row();



?>
<form action="xiugaichuli.php" method="post">
<input type="hidden" name="ids" value="<?php echo $attr[0] ?>" />   
<div>名稱:<input type="text" name="name" value="<?php echo $attr[1] ?>"/></div>
<div>價格:<input type="text" name="price" value="<?php echo $attr[2] ?>"/></div>
<div>產地:<input type="text" name="source" value="<?php echo $attr[3] ?>"/></div>
<div>庫存:<input type="text" name="numbers" value="<?php echo $attr[4] ?>"/></div>
<div><input type="submit" name="修改" /></div>
</form>

</body>
</html>

 

顯示的是原先默認的值

 

可以在這個基礎上改

點擊提交后還要把這些數據提交到一個頁面,xiugaichuli.php

所以再建一個網頁

<?php
$ids = $_POST["ids"];
$name = $_POST["name"];
$price = $_POST["price"];
$source = $_POST["source"];
$numbers = $_POST["numbers"];
//造連接對象
$db = new MySQLi("localhost","root","726","text11");
//寫SQL語句
$sql = "update fruit set name='{$name}',price='{$price}',source='{$source}',numbers='{$numbers}' where ids='{$ids}'";
//執行
$r=$db->query($sql);
if($r)
{
    header("location:shuiguobiao1.php");
    }
else
{
    echo "修改失敗!";
    }

修改成功的話直接返回水果表

來看一下,能否修改成功?

 

 

顯然成功了

下面再來寫兩張表,一張主表一張從表,有外鍵關系的兩張表

一張info表

一張nation表

做個info表的網頁

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
 <td>代號</td>
 <td>姓名</td>
 <td>性別</td>
 <td>民族</td>
 <td>生日</td>
 <td>操作</td>
</tr>
<?php
$db = new MySQLi("localhost","root","726","shuang");
$sql = "select * from info";
$result = $db->query($sql);
$attr=$result->fetch_all();
foreach($attr as $v)
{
    $sex = $v[2];
    $sex = $sex?"男":"女";     //性別改成漢字
    $nation = $v[3];
    $sqln = "select name from nation where code='{$nation}'";     //顯示民族
    $rn = $db->query($sqln);
    $an = $rn->fetch_row();
    echo "<tr><td>{$v[0]}</td><td>{$v[1]}</td><td>{$sex}</td><td>{$an[0]}</td><td>{$v[4]}</td><td><a href='xiugaiinfo.php?code={$v[0]}'>修改</a></td></tr>";
    
    
    }
?>
</body>
</html>

運行起來是這樣的一張表:

點擊修改會跳轉到xiugaiinfo.php  的頁面,所以要建一個修改頁面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
</head>

<body>
<?php
$code = $_GET["code"];
$db = new MySQLi("localhost","root","726","shuang");
$sql = "select * from info where code='{$code}'";

$result = $db->query($sql);
$attr = $result->fetch_row();
?>
<h1>修改人員信息</h1>
<form action="infochuli.php" method="post">
<div>
  <input type="hidden" value="<?php echo $attr[0]
  ?>" name="code" />
</div>
<div>
  姓名:
  <input type="text" name="name" value="<?php echo $attr[1]
  ?>" />
</div>
<div>
  性別:
  <input <?php echo $attr[2]?"checked='checked'":
  ""; ?>type="radio" name="sex" value="1" /><input <?php echo $attr[2]?"checked='checked'":
  ""; ?>type="radio" name="sex" value="0" /></div>
<div>
  民族:
 <select name="nation">
 <?php
 $sqln = "select * from nation";
 $rn = $db->query($sqln);
 $an = $rn->fetch_all();
 foreach ($an as $vn)
 {   if($attr[3]==$vn[0])
     {
         echo "<option selected='selected' 
         value='{$vn[0]}'>{$vn[1]}</option>";
         
     }
     else
     {
     echo "<option value='{$vn[0]}'>{$vn[1]}</option>";
     }
 }
 
 ?>
 </select>
</div>
<div>
  生日:
  <input type="text" name="birthday" value="<?php echo $attr[4]
  ?>" />
</div>
<div>
  <input type="submit" value="修改" />
</div>
</form>
</body>
</html>

把原先的數據設為默認值,在這個基礎上改

最后點擊修改跳轉到infochuli.php

所以要建一個infochuli.php的頁面

<?php
$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$nation = $_POST["nation"];
$birthbay = $_POST["birthday"];
$db = new MySQLi("localhost","root","726","shuang");
$sql = "update info set name='{$name}',sex={$sex},nation='{$nation}',birthday='{$birthbay}' where code='{$code}'";
echo $sql;
$r = $db->query($sql);
if($r)
{
    header("location:info.php");
    }
else
{
    echo "修改失敗!";
    }

如果修改成功的話它會返回info.php頁面

來看一下能否修改成功

 

修改成功了!

 


不含病毒。www.avast.com
arrow
arrow
    全站熱搜

    AutoPoster 發表在 痞客邦 留言(0) 人氣()