Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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 谁能帮我把它做成一件物品。(菲律宾)_Php_Javascript_Jquery_Oop - Fatal编程技术网

Php 谁能帮我把它做成一件物品。(菲律宾)

Php 谁能帮我把它做成一件物品。(菲律宾),php,javascript,jquery,oop,Php,Javascript,Jquery,Oop,嘿,有人能帮我把这个做成一个物体吗 显然我的代码不全在这里,但我相信你会明白要点的 <?php $product_name_1 = $_POST['product_name_1']; $region_1 = $_POST['region_1']; $start_date_1 = $_POST['start_date_1']; $end_date_1 = $_POST['end_date_1']; $sku_1 = $_POST['sku_1']; $product_name_2 = $_

嘿,有人能帮我把这个做成一个物体吗

显然我的代码不全在这里,但我相信你会明白要点的

<?php
$product_name_1 = $_POST['product_name_1'];
$region_1 = $_POST['region_1'];
$start_date_1 = $_POST['start_date_1'];
$end_date_1 = $_POST['end_date_1'];
$sku_1 = $_POST['sku_1'];

$product_name_2 = $_POST['product_name_2'];
$region_2 = $_POST['region_2'];
$start_date_2 = $_POST['start_date_2'];
$end_date_2 = $_POST['end_date_2'];
$sku_2 = $_POST['sku_2'];

$product_name_3 = $_POST['product_name_3'];
$region_3 = $_POST['region_3'];
$start_date_3 = $_POST['start_date_3'];
$end_date_3 = $_POST['end_date_3'];
$sku_3 = $_POST['sku_3'];
?>



<form action="" method="post" accept-charset="utf-8">
<div id="product_information">
<table id="product_1">
    <tr>
        <th><label for="product_name">Product Name</label></th>
        <th><label for="region">Select A Region</label></th>
        <th class="date"><label for="start_date">Start Date</label></th>
        <th class="date"><label for="end_date">End Date</label></th>
        <th><label for="sku">SKU</label></th>
    </tr>
    <tr>
        <td><input type="text" name="product_name_1" value="" id="product_name_1"></td>
        <td><input type="radio" name="region_1" value="upper_north" id="upper_north_1"><label for="upper_north_">Upper North Island</label><br />
                <input type="radio" name="region_1" value="lower_north" id="lower_north_1"><label for="lower_north_">Lower North Island</label><br />
                <input type="radio" name="region_1" value="south_island" id="south_island_1"><label for="south_island">South Island</label>   </td>
        <td class="date"><input type="text" class="date" name="start_date_1" value="" id="start_date_1"></td>
        <td class="date"><input type="text" class="date" name="end_date_1" value="" id="end_date_1"></td>
        <td><input type="text" name="sku_1" value="" id="sku_1"></td>
    </tr>
</table>
<span class="product"></span>
<div class="add-product">&nbsp;</div>
</div>

<script type="text/javascript" charset="utf-8">

var i = 1;

$('.add-product').click(function(){
    i++;
    $('span.product').replaceWith('<table id="product_'+i+'">'
        +'<tr>'
            +'<th><label for="product_name">Product Name</label></th>'
            +'<th><label for="region">Select A Region</label></th>'
            +'<th class="date"><label for="start_date">Start Date</label></th>'
            +'<th class="date"><label for="end_date">End Date</label></th>'
            +'<th><label for="sku">SKU</label></th>'
        +'</tr>'
        +'<tr>'
            +'<td><input type="text" name="product_name'+i+'" value="" id="product_name'+i+'"></td>'
            +'<td><input type="radio" name="region'+i+'" value="upper_north" id="upper_north'+i+'"><label for="upper_north'+i+'">Upper North Island</label><br />'
                    +'<input type="radio" name="region'+i+'" value="lower_north" id="lower_north'+i+'"><label for="lower_north'+i+'">Lower North Island</label><br />'
                    +'<input type="radio" name="region'+i+'" value="south_island" id="south_island"><label for="south_island">South Island</label>   </td>'
            +'<td class="date"><input type="text" class="date" name="start_date'+i+'" value="" id="start_date'+i+'"></td>'
            +'<td class="date"><input type="text" class="date" name="end_date'+i+'" value="" id="end_date'+i+'"></td>'
            +'<td><input type="text" name="sku'+i+'" value="" id="sku'+i+'"></td>'
        +'</tr>'
    +'</table>'
    +''
    +'<span class="product"></span>');
});
</script>

品名
选择一个区域
开始日期
结束日期
SKU
上北岛
下北岛
南岛 var i=1; $('.add product')。单击(函数(){ i++; $('span.product')。替换为(' +'' +“产品名称” +“选择一个区域” +“开始日期” +“结束日期” +“SKU” +'' +'' +'' +“上北岛
” +“下北岛
” +“南岛” +'' +'' +'' +'' +'' +'' +''); });
您可以使用此对象启动。然后定义保存和检索它的方法。可能还有合适的构造函数,用于从post参数创建不同的产品

class Product {

    private $Name;
    private $Region;
    private $StartDate;
    private $EndDate;
    private $Sku;

    public function setName( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->Name = $value;    
    }

    public function getName()    
    {                
        return $this->Name;    
    }    

    public function setRegion( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->Region = $value;    
    }

    public function getRegion()    
    {                
        return $this->Region;    
    }    
    public function setStartDate( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->StartDate = $value;    
    }

    public function getStartDate()    
    {                
        return $this->StartDate;    
    }    

    public function setEndDate( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->EndDate = $value;    
    }

    public function getEndDate()    
    {                
        return $this->EndDate;    
    }    

    public function setSku( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->Sku= $value;    
    }

    public function getSku()    
    {                
        return $this->Sku;    
    }    
}

希望有帮助

您可以使用此对象启动。然后定义保存和检索它的方法。可能还有合适的构造函数,用于从post参数创建不同的产品

class Product {

    private $Name;
    private $Region;
    private $StartDate;
    private $EndDate;
    private $Sku;

    public function setName( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->Name = $value;    
    }

    public function getName()    
    {                
        return $this->Name;    
    }    

    public function setRegion( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->Region = $value;    
    }

    public function getRegion()    
    {                
        return $this->Region;    
    }    
    public function setStartDate( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->StartDate = $value;    
    }

    public function getStartDate()    
    {                
        return $this->StartDate;    
    }    

    public function setEndDate( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->EndDate = $value;    
    }

    public function getEndDate()    
    {                
        return $this->EndDate;    
    }    

    public function setSku( $value )    
    {
            //make some validation or manipulation on data here, if needed
        $this->Sku= $value;    
    }

    public function getSku()    
    {                
        return $this->Sku;    
    }    
}

希望有帮助

您不一定需要使用对象-在处理表单时,关联数组更容易(因为这是HTML传递给PHP的内容)。在您的表单中,使用如下字段名更为有益:

<?php
foreach( $_POST['product'] as $prod )
{
   echo $prod['name']; // outputs each product name in turn
}
  • 产品[1][name]
  • 产品[1][地区]
  • 产品[1][开始日期]
  • 产品[1][结束日期]
  • 产品[1][sku]
  • 产品[2][name]
    …等
在PHP中接收数据时,它将位于
$\u POST['product']
中,它本身就是每个产品的一个数组。您的新PHP代码将取决于您想对数据做什么,但您可能会这样循环:

<?php
foreach( $_POST['product'] as $prod )
{
   echo $prod['name']; // outputs each product name in turn
}

您不一定需要使用对象-在处理表单时,关联数组更容易(因为这是HTML传递给PHP的内容)。在您的表单中,使用如下字段名更为有益:

<?php
foreach( $_POST['product'] as $prod )
{
   echo $prod['name']; // outputs each product name in turn
}
  • 产品[1][name]
  • 产品[1][地区]
  • 产品[1][开始日期]
  • 产品[1][结束日期]
  • 产品[1][sku]
  • 产品[2][name]
    …等
在PHP中接收数据时,它将位于
$\u POST['product']
中,它本身就是每个产品的一个数组。您的新PHP代码将取决于您想对数据做什么,但您可能会这样循环:

<?php
foreach( $_POST['product'] as $prod )
{
   echo $prod['name']; // outputs each product name in turn
}

现在开始实例化和使用新对象

我能做一个这样的构造吗

<? 
class Product {

  private $Name;
  private $Region;
  private $StartDate;
  private $EndDate;
  private $Sku;
  public $i;

    function __construct($Name="product_name_$i" $Region="region_$i" $StartDate="start_date_$i" $EndDate="end_date_$i" $Sku="sku_$i")
    {
        $i++
    }

}
?>


那么,我将如何实际实例化该对象并在代码中使用它呢?。。我可以用JavaScript实现这一点吗?

现在开始实例化和使用新对象

我能做一个这样的构造吗

<? 
class Product {

  private $Name;
  private $Region;
  private $StartDate;
  private $EndDate;
  private $Sku;
  public $i;

    function __construct($Name="product_name_$i" $Region="region_$i" $StartDate="start_date_$i" $EndDate="end_date_$i" $Sku="sku_$i")
    {
        $i++
    }

}
?>


那么,我将如何实际实例化该对象并在代码中使用它呢?。。我可以用JavaScript实现这一点吗?

anthares已经给了您对象;DisgruntedCoat向您展示了如何使用foreach来运行输入。:)不过,您得到的构造函数需要做一些工作。如果要单独传递参数,则需要用逗号分隔每个参数;默认值是在未传递值时使用的值。我会这样做(这是我在OO PHP中用数据库中的一行填充对象时所做的)

在HTML代码中,您可以定义如下字段

<input type="text" name="product[1][name]" />
<input type="text" name="product[1][sku]" />
...
<input type="text" name="name[]" />
<input type="text" name="sku[]" />
<!-- This next one is if I need a database ID once it's posted back. -->
<input type="hidden" name="id[]" value="something"/>
...
<input type="text" name="name[]" />
<input type="text" name="sku[]" />
...etc...

一打6个,另一打1/2个。我的构造函数通常将PDORow对象作为其参数,因此我在处理关联数组时在PagePost中采用这种方式;DisgruntedCoat向您展示了如何使用foreach来运行输入。:)不过,您得到的构造函数需要做一些工作。如果要单独传递参数,则需要用逗号分隔每个参数;默认值是在未传递值时使用的值。我会这样做(这是我在OO PHP中用数据库中的一行填充对象时所做的)

在HTML代码中,您可以定义如下字段

<input type="text" name="product[1][name]" />
<input type="text" name="product[1][sku]" />
...
<input type="text" name="name[]" />
<input type="text" name="sku[]" />
<!-- This next one is if I need a database ID once it's posted back. -->
<input type="hidden" name="id[]" value="something"/>
...
<input type="text" name="name[]" />
<input type="text" name="sku[]" />
...etc...

一打6个,另一打1/2个。我的构造函数通常将PDORow对象作为其参数,因此我在使用关联数组时,会在page post上这样做。

好的,很酷,这就是产品的对象模型。谢谢,这在这方面确实有帮助。好的,很酷,这就是产品的对象模型。谢谢,这在这方面确实有帮助。好的,那很酷。。谢谢,但我希望能够创建无限量的“产品”,这种方法不需要无休止地重复代码吗?我不想限制用户可以添加多少产品。@mdskinner:不,没有限制。我的意思是使用带有
[1]
的名称作为初始字段,但当用户添加另一个产品时,javascript将编写相同的代码,但使用
[2]
[3]
等。顺便说一句,必须有一种更简单的方法来完成javascript部分。我认为您应该能够克隆已经存在的代码,并将
[1]
替换为
[2]
表单名称。现在,如果你改变任何HTML,你必须做两次。好的,那很酷。。谢谢,但我希望能够创建无限量的“产品”,这种方法不需要无休止地重复代码吗?我不想限制用户可以添加多少产品。@mdskinner:不,没有限制。我的意思是使用带有
[1]
的名称作为初始字段,但是当用户添加另一个产品时,javascript会编写相同的代码