2016-05-23 10 views
0

Ich verwende den folgenden Code, um Zahlenwerte an mein Einkaufswagenkabel zu übergeben.Übergeben von Zeichenfolgenwerten in ein Array

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

wenn ich Zahlenwerte bin Einfügen wie „12191008“, „05191034“ es funktioniert gut. aber für die String-Werte wie "PF401404" funktioniert es nicht. Wie kann ich den Code ändern, um String-Werte zu übergeben?

auch den Warenkorb-Funktion wie folgt hinzufügen ..

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

wo fügen Sie es ein? Welcher Teil deines Codes? – Webeng

+0

Welcher Teil ist fehlerhaft? und warum es kein debug von deiner Seite einfügt? Sagen Sie uns auch, in welcher Zeile das Problem erstellt wird. – RJParikh

+0

Wert wird von der vorherigen Seite übernommen. ($ pid = $ _ REQUEST ['productid']; addtocart ($ pid, 1);) Ich weiß nicht, aus welchem ​​Teil das Problem entsteht. – NuwanD

Antwort

0

ich denke

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

dies nicht für Sie arbeitet. Weil Ihre $ pid in Ihrem Fall keine ganze Zahl ist

+0

Ja ist es. wie kann ich das in string ändern ..? – NuwanD

+0

zuerst kommentieren Sie einfach diese Zeile, dann überprüfen Sie, ob es funktioniert? –

+0

kommentiert. Jetzt heißt es "Warnung: mysql_fetch_array() erwartet, dass Parameter 1 resource, boolean in .etc" ist, aber bei Zahlen erscheint der Fehler nicht. – NuwanD

Verwandte Themen