Php中更新修改数据的例子

 更新时间:2016年11月25日 14:59  点击:2052
php中更新数据中的记录使用update的sql语句,这个只要在php连接数据库之后执行sql语句即可,下面我们一起来看个例子。

sql有许多对数据库操作的语句。但是常见和比较需要的是这么几个语句 。UPDATE 语句用于在数据库表中修改数据。


UPDATE table_name  SET column1 = value1,column2 = value2 ...  WHERE column = some_value


例如,将user表中用户“张三”的密码修改为“ abc123 ”,年龄修改为“ 45 ”,SQL语句可以是这样:

UPDATE user SET password='abc123' , age='45'  WHERE  name='张三'

注意:UPDATE...SET...一般与WHERE子句一起使用,否则将修改数据表中的全部记录!

UPDATE 语句的例子

 代码如下 复制代码

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
mysql_query("UPDATE Persons SET Age = '36'
WHERE FirstName = 'Peter' AND LastName = 'Griffin'");
mysql_close($con);
?>

批量更新数据

 

 代码如下 复制代码

$sql="select * from booking_tables_info1";
  $query=$db->query($sql);
if($_POST['btnSave']){
   $checkbox = $_POST['range'];
/*如果要获取全部数值则使用下面代码*/
  for($i=0;$i<=count($checkbox);$i++)
   {
   if(!is_null($checkbox[$i]))
    {
     $chechvalue.=$checkbox[$i];
     $str="update booking_tables_info1 set ispass=1 where info_id=$chechvalue";
     $db->query($str);
    }
   }
   echo "<script>alert('更新成功!');window.location.href='http://blog.163.com/sun_jian_zhang/blog/memberManager.php';</script>";

}
?>

<html>
<head>
<meta http-equiv="Content-Language" content="en" />
<meta name="GENERATOR" content="PHPEclipse 1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>会员管理页面</title>
 <script type="text/javascript" language="javascript">
        function selectBox(selectType){
        var checkboxis = document.getElementsByName("range[]");
        if(selectType == "reverse"){
            for (var i=0; i<checkboxis.length; i++){
                //alert(checkboxis[i].checked);
                checkboxis[i].checked = !checkboxis[i].checked;
            }
        }
        else if(selectType == "all")
        {
            for (var i=0; i<checkboxis.length; i++){
                //alert(checkboxis[i].checked);
                checkboxis[i].checked = true;
            }
        }
     }
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99">
<form action="" method="post">
  <table border=1>
    <tr>
      <td>会员编号</td><td>卡型号</td><td>卡号< /td><td>名字</td><td>性别</td><td>年龄< /td><td>爸爸电话</td><td>妈妈电话</td><td>联系方 式</td><td>住址</td><td>宣言</td><td>是否通 过</td><td>参与时间</td><td><input type="button" value="全选" onclick="selectBox('all')"/><input type="button" value="反选" onclick="selectBox('reverse')"/></td>
    </tr>www.111cn.net
  <?php
      while($row=$db->fetch_array($query)){
      ?>
    <tr>
      <td><?php echo $row['info_id']?></td><td><?php echo $row['cardtype']?></td><td><?php echo $row['cardno']?></td> <td><?php echo $row['name']?></td><td><?php if($row['sex']==1){echo "男";}else{echo "女";}?></td><td><?php echo $row['age']?></td> <td><?php echo $row['fathermobile']?></td><td><?php echo $row['mothermobile']?></td><td><?php echo $row['tel']?></td> <td><?php echo $row['address']?></td><td><?php echo $row['enounce']?></td><td><?php echo $row['ispass']?></td><td><?php echo $row['jointime']?></td><td>
      <input type="checkbox" name="range[]" value="<?php echo $row['info_id'] ?>"/>


  </td>
    </tr>
      <?php
  }
    ?>
  </table>
<br>
<input type="submit" name="btnSave" value="批量审核通过"/>
</form>
</body>
</html>

注意在批量更新时要注意:<input type="checkbox" name="range[]" value="<?php echo $row['info_id'] ?>"/>中的name为range[]以数组形式。

本文章介绍从url带参数传值与在表单中传值的获取方法,希望本文章对各位同学会带来帮助。

例子、单表单内容发送和接收

我们都是如果要实现内容发送或者接收我们首先都需要一个表单也就是form标签 下面这个是前端的html代码

 代码如下 复制代码

<form  action="1.php">
<p>Get 发送方式:
<input type="text" name="wz"/></p>

<p>Post 发送发送:
<input type="text" name="wz1"/></p>

<input type="submit" value="OK"/>
</form>

 

后台的php就是从上面的name内的值获取需要的内容

 

 代码如下 复制代码

<?php
$a = $_GET ['wz'];
if($a==null){echo "对方没输入"."</br>";}else{
echo "我是GET接收方式:".$a."</br>";}

$b = $_GET ['wz1'];
if($b==null){echo "对方没输入"."</br>";}else{
echo "我是POST接收方式:".$b."</br>";}
?>


这里的php意思以get模式来获取标签内属性name里面的值

然而echo 在php中就是打印出来 if就是先加以判断~ 注意:如果表单是post传值我们必须使用$_POST才可以接受数据

例子、url传值

 这个是要发送的php代码

   

 代码如下 复制代码

<?php
include_once('zq/db.php');
$sql = "select * from wd_sql";
$query=mysql_query($sql);
 $i = 1;
 while ($result = mysql_fetch_array($query)) {
 $x = $i++;
   "<br><a href='del.php?xx=".$result['id']."&ccxc=wd_sql'>删除</a>"//在这里实现了传值
}
?>


这个是接收值的php

 代码如下 复制代码

<?php
$uid = $_GET['xx'];
$db_sql = $_GET['ccxc'];
if(mysql_query($sql) == 1)
{echo "<script>alert('删除成功!');history.go(-1);</script>";}
?> 

sprintf与print 及printf都是输出字符串,但它们在细节中会有很大的区别,下面本文章就来重点介绍这个问题。

下面是一个示例:四舍五入保留小数点后两位

 代码如下 复制代码

<?php
$num1 = 21;
echo sprintf("%0.2f",$num1)."<br />"; //输出 21.00
$num2 = 16.3287;
echo sprintf("%0.2f",$num2)."<br />"; //输出 16.33
$num3 = 32.12329;
echo sprintf("%0.2f",$num3)."<br />"; //输出 32.12 www.111Cn.net
?>

解释下 %0.2f 的含义:

% 表示起始字符
0 表示空位用0填满
2 表示小数点后必须占两位
f 表示转换成浮点数


转换字符
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% 印出百分比符号,不转换。
b 整数转成二进位。
c 整数转成对应的 ASCII 字元。
d 整数转成十进位。
f 倍精确度数字转成浮点数。
o 整数转成八进位。
s 整数转成字串。
x 整数转成小写十六进位。
X 整数转成大写十六进位。

printf与sprintf的区别

1. printf函数:

int printf ( string format [, mixed args [, mixed ...]] )

Produces output according to format , which is described in the documentation for sprintf() .

Returns the length of the outputted string.

 

把文字格式化以后输出,如:

 代码如下 复制代码
$name="hunte";
$age=25;
printf("my name is %s, age %d", $name, $age);

2. sprintf函数:
string sprintf ( string format [, mixed args [, mixed ...]] )

Returns a string produced according to the formatting string format .

 

跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样。


3. print函数:

是函数,可以返回一个值,只能有一个参数。

int print ( string arg )

Outputs arg . Returns 1 , always.

 

使用静态局部变量的原因是它不能被外部使用,但是它的值依然在没此使用后保留。虽然使用全局变量可以实现相同的功能,但是它经常会造成意外。 静态局部变量的特点:

1.不会随着函数的调用和退出而发生变化,不过,尽管该变量还继续存在,但不能使用它。倘若再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值


2.静态局部变量只会初始化一次


3.静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变量的初始值为0。

4.当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。

 

 代码如下 复制代码
function test()
{
    static $var = 5;  //static $var = 1+1;就会报错
    $var++;
    echo $var . ' ';
}
 
 
test(); //2
test(); //3
test(); //4
echo $var; //报错:Notice: Undefined variable: var

关于静态全局变量

 代码如下 复制代码

//全局变量本身就是静态存储方式,所有的全局变量都是静态变量
function static_global(){
    global $glo;
    $glo++;
    echo $glo.'<br>';
}
 
static_global(); //1
static_global(); //2
static_global(); //3
echo $glo . '<br>'; //3


$a 将会在包含文件 b.inc 中生效。

 代码如下 复制代码

 

    <?php 
    $a = 1; 
    include "b.inc"; 
    ?>


    <?php 
    //局部变量测试 
    $s1= "out s1"; //全局变量  
     
    function say(){ 
        $s1 = "in s1"; //局部变量 
        echo "say():$s1"; 
    } 
    say(); //输出局部变量: in s1 
    echo "<br/>"; 
    echo "function out:$s1"; ////输出全局变量:out s1 
     
     
    //static变量测试 
    function count1(){ 
        $num = 0; 
        $num++; 
        echo $num." "; 
    } 
     
    function count2(){ //www.111cn.net
        static $num = 0; 
        $num++; 
        echo $num." "; 
    } 
     
    for($i=0; $i<10; $i++){ 
        count1(); //11 1 1 1 1 1 1 1 1 1  
    } 
    echo "<br/>"; 
    for($i=0; $i<10; $i++){ 
        count2(); //1 2 3 4 5 6 7 8 9 10  
    } 
     
     
    echo "<br/>"; 
     
    //全局变量在函数中运用,加global 
     
    $a="php"; 
    $b = "java"; 
     
    function show(){ 
        echo $a; // 无输出 
        global $b; 
        echo $b; //定义global,输出java 
    } 
    show(); 
    ?>  

 

输出3

 

 代码如下 复制代码

    <?php 
    $a = 1; 
    $b = 2; 
     
    function Sum() 
    { 
        global $a, $b; 
     
        $b = $a + $b; 
    } 
     
    Sum(); 
    echo $b; //3 
    ?>  

 

在全局范围内访问变量的第二个办法,是用特殊的 PHP 自定义 $GLOBALS 数组

 代码如下 复制代码


    <?php 
    $a = 1; 
    $b = 2; 
     
    function Sum() 
    { 
        $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; 
    } 
     
    Sum(); 
    echo $b; 
    ?>  

静态变量也提供了一种处理递归函数的方法。递归函数是一种调用自己的函数

 代码如下 复制代码


    function Test() 
    { 
        static $count = 0; 
     
        $count++; 
        echo $count; //12345678910  
        if ($count < 10) { 
            Test (); 
        } 
        //$count--; 
    } 
    Test(); 

总结

局部变量——用在函数内,作用域就是所在函数
全局变量——在函数外,作用域在整个php文件(包含了 include 和 require 引入的文件),但在函数中不能读到,除非重新申明为global
静态变量——用在函数内,被调用完后,内存不释放,保留最后值,多用来统计累加。

最后一个数组元素在php中方法有很多,一个是根据长度来取最大下标值,一个是使用end函数,还一个对数据进行排序之后最下标0即可下面我们一起来看看吧。

 代码如下 复制代码


$array=array(1,2,3,4,5);  


echo $array[count($array)-1];//计算数组长度,然后获取数组最后一个元素,如果数组中最后一个元素含有非数字键名,结果可能跟预期不符合  
//适用于键名为数字的数组  


echo '<br>';  
echo end($array);//将数组的内部指针指向最后一个单元,适用于所有数组  


rsort($array);//对数组逆向排序,如果数组中含有字母或汉字,结果可能不符合预期,最适用于数字数组
echo $array[0];


 

删除最后一个元素

 代码如下 复制代码

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);//www.111cn.net
?>
经过此操作后,$stack 将只有 3 个单元:
Array
(
    [0] => orange
    [1] => banana
    [2] => apple
)

[!--infotagslink--]

相关文章

  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • 详解如何清理redis集群的所有数据

    这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • postgresql数据添加两个字段联合唯一的操作

    这篇文章主要介绍了postgresql数据添加两个字段联合唯一的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-04
  • Vue生命周期activated之返回上一页不重新请求数据操作

    这篇文章主要介绍了Vue生命周期activated之返回上一页不重新请求数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-26
  • 解决vue watch数据的方法被调用了两次的问题

    这篇文章主要介绍了解决vue watch数据的方法被调用了两次的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-07
  • c# socket网络编程接收发送数据示例代码

    这篇文章主要介绍了c# socket网络编程,server端接收,client端发送数据,大家参考使用吧...2020-06-25
  • vue 数据(data)赋值问题的解决方案

    这篇文章主要介绍了vue 数据(data)赋值问题的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-29
  • c# 对CSV文件操作(写入、读取、修改)

    这篇文章主要介绍了c# 如何对CSV文件操作,帮助大家更好的理解和学习C#,感兴趣的朋友可以了解下...2020-11-03
  • Python3 常用数据标准化方法详解

    这篇文章主要介绍了Python3 常用数据标准化方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-24
  • JS双击变input框批量修改内容

    这篇文章主要介绍了JS双击变input框批量修改内容的实现代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2017-01-09
  • node.js从数据库获取数据

    这篇文章主要为大家详细介绍了node.js从数据库获取数据的具体代码,nodejs可以获取具体某张数据表信息,感兴趣的朋友可以参考一下...2016-05-09
  • 使用phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分。而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的...2015-10-21
  • vivo OriginOS新系统如何更新 originos系统更新方法

    vivo新系统更新的步骤是什么?如何更新到vivo的最新系统?vivo的最新系统太亮眼了,不少vivo的用户都在跃跃欲试想体验一下最新的系统。vivo新系统虽然做出来了不过我们想体验的话还是要等待一段时间。到时大家通过下面的方法就可以使用到新系统了...2020-12-08
  • C#设置自定义文件图标实现双击启动(修改注册表)

    这篇文章介绍的是利用C#设置自定义文件图标,然后实现双击启动的功能,文章给出了示例代码,介绍的很详细,有需要的可以参考借鉴。...2020-06-25