2014-04-25 2 views
-1

나는 장바구니를 직접 만들었고 카트의 모든 제품 ID를 하나의 문자열로 변환해야합니다. 여러 문자열을 하나로 변환하는 방법은 무엇입니까?

편집 :

나는 어쩌면 불분명 물었다.

Heres는 내 소스 :

   $sub_total=0; 
       foreach ($_SESSION['cart'] as $id => $value) { 
       $query = mysql_query("SELECT * FROM store_products WHERE product_id ='$id'"); 
       while ($rows = mysql_fetch_array($query)){ 
       if($rows['product_id']==$id){ 

        $product_title=$rows['product_title']; 
        $product_id=$rows['product_id']; 
        $quantity=$_SESSION['cart'][$id]['quantity']; 
        $price=$rows['product_price']; 
        $total_price=$price*$quantity; 
        $sub_total=$sub_total+$total_price; 

        /*======PRODUCT URL============*/ 
        $product_category_id=$rows['product_category_id']; 
        $query=mysql_query("SELECT * FROM store_categories WHERE category_id = '$product_category_id'"); 
        $rows2=mysql_fetch_array($query); 
        $category_url=$rows2['category_url']; 
        $product_url=$rows['product_url'] 
        ?> 
         <tr> 
          <td style="padding-right: 30px;"><a href="<?php echo "/store/$category_url/$product_url";?>"><?php echo $product_title;?></a></td> 
          <td style="padding-right: 30px;">€ <?php echo $price;?></td> 
          <td style="padding-right: 30px;">€ <?php echo $total_price;?></td> 
          <td style="padding-right: 30px"> 
           <a title="-1" href="/cartquantitydown/<?php echo $product_id;?>" style="color: red;text-decoration: none;">< </a> 
           <?php echo $quantity;?> 
           <a title="+1" href="/cartquantityup/<?php echo $product_id;?>" style="color: green;text-decoration: none;"> ></a> 
           <a href="/cartremoveitem/<?php echo $rows['product_id'];?>"><img title="Remove item" class="img" style="height: 20px;" src="/images/store/remove-icon.png"></a> 
          </td> 
         </tr> 
        <?php 


        } 
        } 
        } 

내가 사용하여 장바구니에 제품을 추가

$_SESSION['cart'][$product_id]['quantity']++; 

그래서 내가 얻을 수있는 방법 모든 제품 ID 및 qunatitys 하나의 문자열로?

어쨌든 내가 무슨 뜻인지 알면이 코드 외부에 배열을 배치 할 수 있습니까?

+1

를 사용하여 연결! '$ productid'도 여러 번 할당했습니다. * 왜 문자열 전체를 쓰고 변수에 넣는 대신 문자열의 비트를 결합합니까? * –

+2

장바구니에서 여러 제품을 허용하는 경우에는 초보자와 마찬가지로 배열을 사용해야합니다. –

+0

이것은 정말 나쁜 접근 방식입니다. 객체를 사용하거나 배열을 사용합니다. 수량이 많은 여러 제품을 긴 연결 문자열에 저장하는 것을 제외하고는 아무 것도 사용하지 마십시오. 실제로이 문제는 아마도 제품 객체를 포함하고있는 카트 객체로 해결할 수 있기 때문에 객체 지향 프로그래밍 기술에 익숙해 져야합니다. –

답변

0

그들을 연결 :

$productids = $productid1 . "-" . $productid2 
+0

무엇? 왜 downvote? 이 대답은 정확합니다. – ElGavilan

+0

나는 그것들을 $ product1, $ product2, $ product3으로 기쁘게 할 수 없다. – user3524823

+0

그러나 그럼에도 불구하고 당신은 그들에게 할당 된 일을하게 할 것입니다. 또한 배열 요소를 연결하거나 @zwacky가 제안한대로 implode를 사용할 수 있습니다. – ElGavilan

2

사용 implode

$productids = array(
    '6_41', 
    '4_645', 
    '1_534', 
    '1_5', 
    '1_635', 
    '1_124' 
); 
echo implode('-', $productids); // "6_41-4_645-1_534-1_5-1_635-1_124" 
+0

감사합니다. 그게 내가 찾던 정확한거야. – user3524823

관련 문제