Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为mysql表中存在的每个字段运行一个方法_Php - Fatal编程技术网

Php 为mysql表中存在的每个字段运行一个方法

Php 为mysql表中存在的每个字段运行一个方法,php,Php,您好,我在mysql中有一个小表,其中包含几个字段,包括描述、名称、价格和id。 对于这个表中插入的每一项,我需要在php中运行一个特定的方法,以基于价格字段进行一些计算。我怎么能做到这一点呢?我没有任何想法(在未来,它们将超过两个或三个,因此如果可行的话,应该是有点动态的) 更新:这是表格 -- Dumping structure for table print_finishes DROP TABLE IF EXISTS `print_finishes`; CREATE TABLE IF NO

您好,我在mysql中有一个小表,其中包含几个字段,包括描述、名称、价格和id。 对于这个表中插入的每一项,我需要在php中运行一个特定的方法,以基于价格字段进行一些计算。我怎么能做到这一点呢?我没有任何想法(在未来,它们将超过两个或三个,因此如果可行的话,应该是有点动态的)

更新:这是表格

-- Dumping structure for table print_finishes
DROP TABLE IF EXISTS `print_finishes`;
CREATE TABLE IF NOT EXISTS `print_finishes` (
  `FinishesId` int(11) NOT NULL AUTO_INCREMENT,
  `FinishesName` varchar(100) NOT NULL,
  `FinishesPrice` varchar(100) NOT NULL,
  PRIMARY KEY (`FinishesId`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
更新:对于那些不太理解我的问题的人来说: 在PHP中:

  • 我根据从表单提交的id进行选择
  • Irun使用foreach循环从mysql返回的数据
  • 现在我需要调用一个方法,该方法对于我创建的每个字段都是唯一的 返回。(这是我不知道怎么做的部分
  • 返回的示例数据

  • CutContour-2euros
  • 5欧元
  • 在这种情况下,我需要检查我是否有一个cutcontour选项或类似的东西,然后运行一个名为CalculatePriceBasedOnCutContour的方法(在我的例子中,公式是平方米乘以2欧元,现在当它找到层压选项时,我需要运行另一个方法,例如CalculatePriceBaseDon层压)(在这种情况下,我可以使用与调用cutcontour相同的方法,因为公式只有在价格变化时才会相同

    /**
     * Calculate Finishes for cut countour
     * @param int $cutContourPrice [description]
     * @param int $squareMeters    [description]
     */
    public function CalculateWithFinishes($cutContourPrice, $squareMeters ) {
        $this->_cutContourPrice = $cutContourPrice * $squareMeters;
    }
    
    第三次更新: 一个简单的方法如下:

    if($printFinishes['name'] = 'CutContour) {
        $this->CalculateWithFinishes($arg1, $arg2);
    }
    
    这应该是动态的,因为我不知道它们在数据库中是如何命名的

    太长,无法将其作为评论发布。


    一种基于所选类型的独特方法。但我甚至可以从饰面表中选择三种类型。我可以在cmyk外汇上进行层压、切割轮廓、粘合(每种饰面的价格不同,其中一些是基于平方米计算的)为了更好地理解我正在做的事情,我将把来自印刷店的订单存储在数据库中,并在月末进行价格计算和报告印刷了多少材料、丢失了多少材料、在印刷过程中丢失了多少材料,当涉及到订单时,我们为每个产品提供了大量的成品清单uct。如果你在乙烯基上打印,你甚至可以在其上应用5种类型的饰面,其中一些是以平方米计算的,有些不是,我需要知道我应该应用什么公式,以及何时基于我从表格中选择的内容。 因此,当我从表单中获取数据并从数据库中获取所需的价格时,我需要一种方法来找出我应用了什么函数来计算价格。 这是我每天计算的方式: 宽度*高度*成品价格*打印平方米价格*欧元价格*增值税。 1.37*2*3=8.22欧元印刷品切割轮廓的成本 1.37*2*10=27.4欧元印刷成本 35.62*4.5*1.24=打印完成后的总成本转换为我的现金并加上增值税 材料的平移宽度乘以高度(所有单位均以米为单位),即返回平方米,然后我应用3的最终价格(印刷品上的切割轮廓),然后我应用印刷价格(10欧元/平方米),然后我在当前转换欧元,然后对最终价格应用增值税。

    小示例:

    <?php
    mysqli_connect($host, $user, $password);
    //Connecting to the server
    mysqli_select_db($yourdb);
    //Select DB
    $query=mysqli_query("SELECT * FROM print_finishes");
    //Query
    while($row=mysqli_fetch_assoc($query)){
    //While PHP can get a new row from the output
    echo $row['FinishesId'];
    echo '<BR>';
    echo $row['FinishesName'];
    echo '<BR>';
    echo $row['FinishesPrice'];
    echo '<BR>';
    echo '<BR>';
    }
    ?>
    
    
    
    我发布了一个更新,更好地解释了我需要什么。这不是关于如何在php中执行循环或一段时间以返回数据,而是关于我在循环中对每个字段执行的操作。唯一的问题是我需要为每个字段调用某个方法。什么方法?请更好地解释。我发布了我在cla中使用的一个方法ss.大多数都是基于相同的公式,我可能会提出一个通用的方法,我会称之为。但对于其他人,它的工作方式不一样,我需要做其他计算,需要使用更复杂的公式。正如我在编辑切割轮廓示例时所说,我将使用层压方法,我将使用另一种方法如果我理解正确:你想列出你所有的产品,比如“层压-5欧元”,并运行一个方法。