GVKun编程网logo

PHP-获取值mysql计数并保存到表(php获取mysql数据)

25

对于PHP-获取值mysql计数并保存到表感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解php获取mysql数据,并且为您提供关于apachephpmysqlPHP值mysql操作类、my

对于PHP-获取值mysql计数并保存到表感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解php获取mysql数据,并且为您提供关于apache php mysql PHP值mysql操作类、mysql – 如何将SQL查询保存到表中?、MySQL计数/总和字段、MySQL计数匹配词的宝贵知识。

本文目录一览:

PHP-获取值mysql计数并保存到表(php获取mysql数据)

PHP-获取值mysql计数并保存到表(php获取mysql数据)

我在这里得到的是获取计数值并将其保存到表中,但是它不起作用.我只想获取计数值,您能帮我吗?我将不胜感激任何答案.显示计数没有问题,但仅保存在我的表中.

    <form method="POST">
        Date : <input type="text" value="<?=$p_date?>" name="datereceived" />
        <input type="submit" name="save" value="save">
    </form>

的PHP

    <?        
        $sql="SELECT allinvty3.*, barcode.* ,  sample.*, count(barcode.itemcode) as icount  
    from barcode INNER JOIN sample on barcode.itemcode = sample.in_code INNER JOIN allinvty3 on 
    barcode.itemcode = allinvty3.in_code WHERE barcode.refnumber = '$temp'
 GROUP BY barcode.itemcode";

        $result = $conn->query($sql);
        while($row = $result->fetch_assoc()) {
            $icount = $row['icount'];
        }

        if(isset($_POST['save'])){
            $sql = "UPDATE barcode SET datereceived ='$p_date', actualacount = '".$icount."', status='COMPLETE' WHERE status='PENDING'";   
            $conn->query($sql) ;     
        } 
    ?>

解决方法:

因为您的sql错误.尝试这个

$sql = "UPDATE barcode SET
        datereceived ='".$p_date."' , actualacount ='".$icount."' ,
        status='COMPLETE'  WHERE status='PENDING'";

apache php mysql PHP值mysql操作类

apache php mysql PHP值mysql操作类

<?php /**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/6/27
 * Time: 18:55
 */

Class Mysqls{

    private  $table; //表
    private  $opt;

    public  function __construct($host,$user,$pwd,$name,$table_names)
    {
        $this->db=new mysqli($host,$user,$pwd,$name);  //数据库连接

        if(mysqli_connect_errno()){
            echo "数据库连接错误".mysqli_connect_errno();
            exit();
        }
        $this-&gt;db-&gt;query("set names utf8");
        $this-&gt;table=$table_names;
        $this-&gt;opt[''field'']="*";
        $this-&gt;opt[''where'']=$this-&gt;opt[''Order'']=$this-&gt;opt[''Limit'']=$this-&gt;opt[''Group'']='''';
//        var_dump($this-&gt;opt[''where'']);
       //$this-&gt;M($table_names);

    }

    //数据库连接
//    protected  function M($table_name){
//        $this-&gt;db=new mysqli(DBHOST,DBUSER,DBPWD,DBNAME);
//
//        if(mysqli_connect_errno()){
//            echo "数据库连接错误".mysqli_connect_errno();
//            exit();
//        }
//        $this-&gt;db-&gt;query("set names utf8");
//        $this-&gt;table=$table_name;
//    }

    //表中的字段

    public function tbField(){
        $desc=$this-&gt;db-&gt;query("DESC {$this-&gt;table}");
        $fieldArr=array();
        while(($row=$desc-&gt;fetch_assoc())!=false){
            $fieldArr[]=$row[''Field''];
        }
       // var_dump($fieldArr);
        return $fieldArr;
    }

    //查询字段
    public function field($filed){
        //拆分字段
        $filedArr=is_string($filed)?explode(",",$filed):$filed;
        if(is_array($filedArr)){
            $filed='''';
            foreach($filedArr as $v){
                $filed.="''".$v."''".",";
            }
        }
        //var_dump($filed);
        return rtrim($filed,",");

    }

    //判断字段是否存在
    public function isfield($fileds)
    {
        $filedArr=is_string($fileds)?explode(",",$fileds):$fileds;
        $tbFiled=$this-&gt;tbField();
        //var_dump( $tbFiled);
        foreach($filedArr as $v){
            if(!in_array($v,$tbFiled)){
                 echo "字段输入发错";
            }
        }

    }
    //条件语句
    public function where($where){
          $this-&gt;opt[''where'']=is_string($where)?" WHERE {$where}":"不是字符串";
        return $this;



    }
    //Limit
    public function Limit($limit){
          $this-&gt;opt[''Limit'']=is_string($limit)?" Limit {$limit}":"不是字符串";
        return $this;


    }
    public function Order($order){
          $this-&gt;opt[''Order'']=is_string($order)?" Order By {$order}":"不是字符串";
        return $this;


    }
    public function Group($group){
        $this-&gt;opt[''Group'']=is_string($group)?" Group BY {$group}":"不是字符串";
        return $this;


    }

    // 查询字符串
    public function select(){
        $sql="select * from {$this-&gt;table} {$this-&gt;opt[''where'']} {$this-&gt;opt[''Group'']} {$this-&gt;opt[''Limit'']} {$this-&gt;opt[''Order'']}";
        return $this-&gt;fetch($sql);
    }
    //结果集查询
    public function fetch($sql){
        $result=$this-&gt;db-&gt;query($sql);
        $sqlarr=array();
        while(($row=$result-&gt;fetch_assoc())!=false){
            $sqlarr[]=$row;
        }
       // var_dump($sqlarr);
        return $sqlarr;
    }
    //无结果集查询
    public function querys($sql){
        $sqls=$this-&gt;db-&gt;query($sql);
        return $this-&gt;db-&gt;affected_rows;
    }

    //删除语句
    public function delete($where=array()){
        if($where==""  &amp;&amp; empety($this-&gt;opt[''where''])) die(" 不能为空");
        if($where!=""){
            if(is_array($where)){
                $where=implode(",",$where);
            }
            $this-&gt;opt[''where'']=" WHERE id IN({$where})";
        }
        $sql="delete from {$this-&gt;table} {$this-&gt;opt[''where'']} {$this-&gt;opt[''Limit'']}";
       var_dump($sql);
        //return $this-&gt;query($sql);
    }
    //数组键名
    public function key($key){
        if(!is_array($key))die("非法数组");
        $keys="";
        foreach($key as $v){
           $keys.=$v.",";

        }
        return rtrim($keys,",");
    }
    //数组值
    public function value($value){
        if(!is_array($value))die("非法数组");
        $strvalue="";
        foreach($value as $v){
            $strvalue.="''".$v."''".",";
        }
        return rtrim($strvalue,",");
    }

    //添加语句
    public function add($filed){
        if(!is_array($filed)) die("非法数组");
        $fileds=$this-&gt;key(array_keys($filed));  //返回数组中的键名
        //var_dump($fileds);
        $values=$this-&gt;value(array_values($filed));
        $sql="insert into {$this-&gt;table}({$fileds})VALUES($values)";
        //var_dump($sql);
        return $this-&gt;querys($sql);
    }

    //查找单条记录
    public function find($field,$id){
        $sql="select {$this-&gt;opt[''field'']} from {$this-&gt;table} {$this-&gt;where($field.''=''."''".$id."''")}";
        var_dump($sql);
        return $this-&gt;fetch($sql);

    }
    //更新语句
    public function save($arrs){
        if(!is_array($arrs))die("非法的数组");
        //if(empty($this-&gt;opt[''where'']))die("条件不能为空");
        $str="";
        while(list($k,$v)=each($arrs))
        {
            $str="{$k}="."''{$v}'',";
        }
        $str=rtrim($str,",");
        $sql="Update {$this-&gt;table} set {$str}{$this-&gt;opt[''where'']}";

        return $this-&gt;querys($sql);


    }
    //获取总记录数
    public function counts(){

        $sql="select ''id'' from {$this-&gt;table}{$this-&gt;opt[''where'']}";
        //var_dump($sql);
        return $this-&gt;querys($sql);
    }


}

$db=new Mysqls(''127.0.0.1'',''root'','''',''mysql'',''user'');
登录后复制

 写的一部分有问题 参考了别人一部分

以上就介绍了apache php mysql PHP值mysql操作类,包括了apache php mysql方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

mysql – 如何将SQL查询保存到表中?

mysql – 如何将SQL查询保存到表中?

我正在数据库表中保存SQL查询,因此无论是否有更多记录输入到数据库中,都要保存要使用的条件.

是否有用于存储Query语句的正确数据类型和语法.
我已将数据类型设置为VARCHAR(1055),因为我认为这已经足够了.
是否有MySQL函数可确保正确保存文本
就报价而言,保持单一字符串.

更新:保存查询的原因

我们允许系统用户基于系统的其他用户创建联系人详细信息列表,因此他们使用表单创建查询,以选择具有执行类型的所有用户.

然后将上述查询保存在数据库中,这样即使在执行作业类型中添加了新用户,在发送通信时也会包含其联系人详细信息.

我认为这是最好的方式……你有什么想法吗?

最佳答案
VARCHAR(1055)永远不够.只需使用TEXT,MysqL的数据类型为任意长度的文本(在其他数据库中也称为CLOB).

更多背景信息:

> Which DATATYPE is better to use TEXT or VARCHAR?

尽管如此,我认为您应该在应用程序层上以某种方式对查询进行建模,而不是在数据库中存储纯文本sql.更改架构时,所有这些sql语句可能都是错误的.祝你好运迁移吧!

如果允许用户输入任意sql,那么您的方法的另一个缺点是您正在创建一个很大的安全问题.一个合同没有延长的漂亮实习生可能存储

DROP DATABASE my_database.

MySQL计数/总和字段

MySQL计数/总和字段

我想要实现的是一份有关日常财务交易的报告.通过我的SQL查询,我想计算现金交易的总数,总现金价值以及支票的总金额.我只想在指定的日期这样做.

这是我遇到的查询的摘要.这些求和和计数命令正在处理表中的所有数据,而不是所选日期的所有数据.

(SELECT SUM(amount) FROM TRANSACTION WHERE payment_type.name = 'cash') AS total_cash,(SELECT COUNT(*) FROM TRANSACTION WHERE payment_type.name = 'cash') AS total_cash_transactions

抱歉,如果我没有时间发布足够的细节.如果您需要更多信息,请询问..

干杯.

更新:
我已经在这里发布了一些有关布局和结果的更多信息:
www.conorhackett.com/sql/transaction.html

问题是,当我加入payment_table时(因此我可以指定payment_type_name而不是id),它将所有交易记为现金/支票.日期限制似乎消失了.

任何帮助表示赞赏.

最佳答案
无需相关子查询,只需使用group by

select
 t.payment_type_id as type_id,sum(t.amount) as total_cash,count(*) as total_cash_transactions
from TRANSACTION t
where t.date = '2010-05-01'
group by t.payment_type_id

然后,如果需要从那里获取类型名称,则可以将其与Payment_type结合在一起.

MySQL计数匹配词

MySQL计数匹配词

如何查询以获取字段中匹配单词的数量,特别是在MySQL中。我只需要获取“搜索字词”出现在字段值中的次数即可。

例如,值是“一二一二”,所以当我搜索单词“一”时,它应该给我3

是否有可能?因为当前我只是从数据库中提取值,并使用服务器端语言进行计数。

谢谢

答案1

小编典典

您可以创建一个可直接在SQL中使用的函数,以便一步一步完成所有操作。

这是我在MySQL网站上找到的函数:

delimiter ||DROP FUNCTION IF EXISTS substrCount||CREATE FUNCTION substrCount(s VARCHAR(255), ss VARCHAR(255)) RETURNS TINYINT(3) UNSIGNED LANGUAGE SQL NOT DETERMINISTIC READS SQL DATABEGINDECLARE count TINYINT(3) UNSIGNED;DECLARE offset TINYINT(3) UNSIGNED;DECLARE CONTINUE HANDLER FOR SQLSTATE ''02000'' SET s = NULL;SET count = 0;SET offset = 1;REPEATIF NOT ISNULL(s) AND offset > 0 THENSET offset = LOCATE(ss, s, offset);IF offset > 0 THENSET count = count + 1;SET offset = offset + 1;END IF;END IF;UNTIL ISNULL(s) OR offset = 0 END REPEAT;RETURN count;END;||delimiter ;

您应该像这样使用它:

SELECT substrCount(''one two one onetwo'', ''one'') `count`; // Returns 3

我们今天的关于PHP-获取值mysql计数并保存到表php获取mysql数据的分享就到这里,谢谢您的阅读,如果想了解更多关于apache php mysql PHP值mysql操作类、mysql – 如何将SQL查询保存到表中?、MySQL计数/总和字段、MySQL计数匹配词的相关信息,可以在本站进行搜索。

本文标签: