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"> </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]
$\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会编写相同的代码