Ik zit met het volgende probleem. Ik heb een for loop gemaakt die een tabel aanmaakt met allemaal nieuwe rijen. Al deze rijen bevatten checkboxen die je kunt aan of uitvinken, en verder bevat elke rij een knop met de optie save. Nu laat hij wel alles goed zien op het scherm, maar als ik op de knop save druk slaat hij elke keer het eerste id op. En niet de geselecteerde id.
Ik werk met smary en heb dus een template file en een php file. Ik weet wel hoe ik alle checkboxen kan opslaan, maar ik wil juist per rij kunnen opslaan. Het zal waarschijnlijk te maken hebben dat de save knop altijd dezelfde naam zal hebben, maar hoe kan ik dit veranderen zodat dit wel kan.
template file:
php file:
Ik werk met smary en heb dus een template file en een php file. Ik weet wel hoe ik alle checkboxen kan opslaan, maar ik wil juist per rij kunnen opslaan. Het zal waarschijnlijk te maken hebben dat de save knop altijd dezelfde naam zal hebben, maar hoe kan ik dit veranderen zodat dit wel kan.
template file:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
| {* products_list.tpl *}
{load_admin_departments assign="admin_departments"}
{include file="admin/OrderZoeken.tpl"}
<form action="{$customer_address->mActionPage}" method="post" name=order>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr class="Title">
<td width="7%">Datum</td>
<td width="7%">Ordernummer</td>
<td width="10%">Klant</td>
<td width="7%">Prijs</td>
<td width="5%">Betaald</td>
<td width="5%">Contract</td>
<td width="5%">Geleverd</td>
<td width="5%">Afgesloten</td>
<td width="20%">Product</td>
<td width="4%"> </td>
</tr>
<tr>
{section name=i loop=$admin_departments->mProducts}
<td class="OverzichtText"><a href="{$admin_departments->mAbonnementen[i].onclick|escape:"html"}">{$admin_departments->mProducts[i].order_date}</td>
<td class="OverzichtText"><a href="{$admin_departments->mAbonnementen[i].onclick|escape:"html"}">{$admin_departments->mProducts[i].order_reference_address}</td>
<td class="OverzichtText"><a href="mailto:{$admin_departments->mCustomerInfo[i].email}?subject=Betreft uw Algebeld order: {$admin_departments->mProducts[i].order_reference_address} ">{$admin_departments->mCustomerInfo[i].first_name} {$admin_departments->mCustomerInfo[i].last_name}</a><BR>{$admin_departments->mCustomerInfo[i].phone_number}</td>
<td class="OverzichtText"><a href="{$admin_departments->mAbonnementen[i].onclick|escape:"html"}">€ {$admin_departments->mCustomerInfo[i].DeliveryCosts}.00<BR>€ {$admin_departments->mCustomerInfo[i].order_price}</td>
{if $admin_departments->mCustomerInfo[i].order_payed == "1"}
<td class="OverzichtText"><input type="checkbox" name="PayedCheckBox" checked value="1"></td>
{else}
<td class="OverzichtText"><input type="checkbox" name="PayedCheckBox" value="1"></td>
{/if}
{if $admin_departments->mCustomerInfo[i].Contract == "1"}
<td class="OverzichtText"><input type="checkbox" name="Contract" checked value="1"></td>
{else}
<td class="OverzichtText"><input type="checkbox" name="Contract" value="1"></td>
{/if}
{if $admin_departments->mCustomerInfo[i].Delivered == "1"}
<td class="OverzichtText"><input type="checkbox" name="Delivered" checked value="1"></td>
{else}
<td class="OverzichtText"><input type="checkbox" name="Delivered" value="1"></td>
{/if}
{if $admin_departments->mCustomerInfo[i].Closed == "1"}
<td class="OverzichtText"><input type="checkbox" name="Closed" checked value="1"></td>
{else}
<td class="OverzichtText"><input type="checkbox" name="Closed" value="1"></td>
{/if}
<input type="hidden" name="OrderNumber" value="{$admin_departments->mProducts[i].order_reference_address}">
<td class="OverzichtText"><a href="{$admin_departments->mAbonnementen[i].onclick|escape:"html"}">{$admin_departments->mCustomerInfo[i].order_product_name}</td>
<td class="OverzichtText"><input type="submit" name="sended" value="Save"></td>
</tr>
{/section}
</table>
</form> |
php file:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
| <?php
// plugin functions inside plugin files must be named: smarty_type_name
function smarty_function_load_admin_departments($params, $smarty)
{
$products_list = new ProductsList();
$products_list->init();
// assign template variable
$smarty->assign($params['assign'], $products_list);
}
class ProductsList
{
/* public variables to be read from Smarty template */
public $mCustomerInfo;
public $mProducts;
/* private members */
private $mBoCatalog;
/* constructor */
function __construct()
{
// create business tier object
$this->mBoCatalog = new BoCatalog();
if (isset($_POST['sended'])) {
$this->mHaveData = 1;
}
if ($this->mHaveData == 1)
{
if (isset($_POST['PayedCheckBox']))
$this->mSelectedPayedCheckBox = $_POST['PayedCheckBox'];
if (isset($_POST['Contract']))
$this->mSelectedContractCheckBox = $_POST['Contract'];
if (isset($_POST['Delivered']))
$this->mSelectedDeliveredCheckBox = $_POST['Delivered'];
if (isset($_POST['Closed']))
$this->mSelectedClosedCheckBox = $_POST['Closed'];
if (isset($_POST['OrderNumber']))
$this->mSelectedOrderNumber = $_POST['OrderNumber'];
}
}
/* init */
function init()
{
if ($this->mHaveData == 1)
{
$this->mBoCatalog->SetOrderStatus($this->mSelectedPayedCheckBox, $this->mSelectedContractCheckBox, $this->mSelectedDeliveredCheckBox, $this->mSelectedClosedCheckBox, $this->mSelectedOrderNumber);
}
$this->mProducts = $this->mBoCatalog->GetOrders();
for ($i = 0; $i < count($this->mProducts); $i++) {
$this->CustomerTmp = $this->mBoCatalog->GetCustomerInformation($this->mProducts[$i]['order_customer_id']);
$this->OrderTmp= $this->mBoCatalog->GetSelectedOrderProducts($this->mProducts[$i]['order_customer_id']);
if ($this->mProducts[$i]['delivery_status'] == 1) {
$this->mDeliveryCosts = $this->OrderTmp[0]['order_product_price'] + 5.00;
} elseif ($this->mProducts[$i]['delivery_status'] == 2) {
$this->mDeliveryCosts = $this->OrderTmp[0]['order_product_price'] + 10.00;
} elseif ($this->mProducts[$i]['delivery_status'] == 3) {
$this->mDeliveryCosts = $this->OrderTmp[0]['order_product_price'] + 0.00;
}
$this->mCustomerInfo[] = array( 'last_name' => $this->CustomerTmp[0]['last_name'],
'first_name' => $this->CustomerTmp[0]['first_name'],
'order_price' => $this->OrderTmp[0]['order_product_price'],
'phone_number' => $this->CustomerTmp[0]['phone_number'],
'order_product_name' => $this->OrderTmp[0]['order_product_name'],
'email' => $this->CustomerTmp[0]['email'],
'DeliveryCosts' => $this->mDeliveryCosts,
'order_payed' => $this->mProducts[$i]['order_payed'],
'Contract' => $this->mProducts[$i]['order_contract_received'],
'Delivered' => $this->mProducts[$i]['order_delivered'],
'Closed' => $this->mProducts[$i]['order_finished'],
'DeliveryCosts' => $this->mDeliveryCosts);
$this->mAbonnementen[$i]['onclick'] = "catalog_admin.php?Page=OrderDetails&OrderId=" .$this->mProducts[$i]['order_reference_address'];
}
}
} //end class
?> |
[ Voor 21% gewijzigd door Tha_Spike_1981 op 24-01-2006 21:23 ]