2016-05-23 8 views
0

次のコードを使用して番号の値をショッピングカートに渡します。文字列の値を配列に渡す

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     
      } 
     ?> 

「12191008」、「05191034」のような数値を挿入するとうまくいきます。 "PF401404"のような文字列値は機能しません。文字列の値を渡すコードを変更するにはどうすればよいですか?

次のようにも、カート機能に追加するには...

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; 
    } 
} 
+1

どこに挿入していますか?あなたのコードのどの部分? – Webeng

+0

あなたが直面している部分はエラーです。あなたの側からデバッグを挿入しないのはなぜですか?また、どの行にその問題を作成するか教えてください。 – RJParikh

+0

値は前のページから取得しています。 ($ pid = $ _REQUEST ['productid']; addtocart($ pid、1);)どの部分から問題が発生しているのか分かりません。 – NuwanD

答えて

0

私はこれがあなたのために働いていない

if($pid<1 or $q<1) return; 

と思います。あなたの$ pidはあなたのケースで整数ではないので

+0

はいです。これを文字列に変更する方法は? – NuwanD

+0

まず、その行をコメントして、それが機能していることを確認しますか? –

+0

がコメントされました。 "警告:mysql_fetch_array()はパラメータ1がリソース、ブール値は..etc"であると予期していますが、数字はエラーが表示されません。 – NuwanD

関連する問題