我使用以下代码将数字值传递到购物车线。
if(is_array($_SESSION['cart'])){
echo '<tr bgcolor="#FFFFFF" style="font-weight:bold">
<td>Serial</td>
<td>Part No</td>
<td>Name</td>
<td>Price</td>
<td>Qty</td>
<td>Amount</td>
<td>Options</td>
</tr>';
$max=count($_SESSION['cart']);
for($i=0;$i<$max;$i++){
$pid=$_SESSION['cart'][$i]['productid'];
$q=$_SESSION['cart'][$i]['qty'];
$pname=get_product_name($pid);
if($q==0) continue;
?>
<tr bgcolor="#FFFFFF">
<td><?php echo $i+1 ?></td>
<td><?php echo $pid ?></td>
<td><?php echo $pname ?></td>
<td>$ <?php echo get_price($pid)?></td>
<td><input type="text" name="product<?php echo $pid?>" value="<?php echo $q?>" maxlength="3" size="2" /></td>
<td>$ <?php echo get_price($pid)*$q?></td>
<td><a href="javascript:del(<? echo $pid?>)">Remove</a></td>
</tr>
<?php
}
?>
当我插入数字值时,如&#34; 12191008&#34; ,&#34; 05191034&#34;它工作正常。但对于字符串值,如&#34; PF401404&#34;它不起作用。如何修改代码以传递字符串值?
还添加到购物车功能如下..
function addtocart($pid,$q){
if($pid<1 or $q<1) return;
if(is_array($_SESSION['cart'])){
if(product_exists($pid)) return;
$max=count($_SESSION['cart']);
$_SESSION['cart'][$max]['productid']=$pid;
$_SESSION['cart'][$max]['qty']=$q;
}
else{
$_SESSION['cart']=array();
$_SESSION['cart'][0]['productid']=$pid;
$_SESSION['cart'][0]['qty']=$q;
}
}
答案 0 :(得分:0)
我想
if($pid<1 or $q<1) return;
这不适合你。因为您的$ pid在您的情况下不是整数