2012-09-05 4 views
1

우선,이 사이트가 첫 번째 PHP 스토어이기 때문에 약간 미안하지만 사과드립니다.PHP 장바구니에 여러 값 전달하기

약식 : 페이지의 각 항목에 별도의 양식을 사용하지 않고 PHP 장바구니의 변수 값 집합을 $_SESSION 개의 변수에 전달하려면 어떻게해야합니까?

여기 상황이 있습니다. 나는 가게를 만들려고 노력하고있어. 각 페이지의 제품은 MySQL 데이터베이스에서 호출되며 비용별로 정리됩니다. 이것은 모두 완벽하게 작동합니다.

내가 겪고있는 문제는 항목 옵션과 관련되어 있습니다. 볼캡, 티셔츠 및 기타 여러 품목과 같은 일부 품목은 여러 크기/색상을 갖습니다. 필자가 지금 구성한 방식은 기준에 맞는 MySQL 테이블의 각 항목이 크기 및 색상 옵션 (해당되는 경우)을 사용하여 자체 양식으로 출력된다는 것입니다. 내가 가지고있는이 문제는 분명히 다른 페이지에 게시 할 수 있지만 변수에 할당 할 수없는 것입니다.

양식을 완전히 삭제하고 다음과 같은 하이퍼 링크를 사용하고 싶습니다. 장바구니에 담기 하지만 옵션이 맞는지 확실하지 않습니다. 광고 크기와 값을 전달해야합니다. 일부 항목의 색상.

나는 이것이 전에 자주 행해졌다는 것을 알고 있지만, Google이 나를 도와 줄 수는 없다. 모든 조언/팁/트릭은 크게 감사하겠습니다. 내가 시작했을 때 다음

내가 좋은 것 생각 다양한 형태의 방법을 사용하여 내 현재 코드 :

<?php 
while($row = mysql_fetch_array($data)){ 
    echo "<form method='post' action='addcart.php'>"; 
    echo "<tr><td><img width='100' width='100' src='itemImages/" . $row['itemIMG'] . "'/></td> 
    <td>" . $row['itemNAME'] . "</td> 
    <td><p id='description'>" . $row['itemDESC'] . "</p></td> <td>"; 
    //Color dropdown population happens here 
    if($row["itemCOL1"] != ' '){ 
    echo "<select name=colors>"; 
    $finished = 'false'; 
    $i = '0'; 
    $colrow = mysql_fetch_array($coldata); 
    while($finished != 'true'){ 
     if($colrow[$i] != ' '){ 
     echo "<option value=" . $colrow[$i] . ">" . $colrow[$i] . "</option>"; 
     $i++; 
    } else { 
     echo "</select>"; 
     $finished='true'; 
    } 
    } 
    } 
//Size option dropdown handled here 
if($row['itemHSIZ'] != "N"){ 
    echo "<select name=prodSizes>"; 
    echo "<option value=X-Small>X-Small </option>"; 
    //Sizes omitted for brevity 
    echo "</select>"; 
    } 
echo "<input type='hidden' name='prodName' value='" . $row['itemNAME'] . "' />"; 
echo "<input type='submit' name='submit' value='Submit' /></form>"; 
}; 
//...and above here. 
mysql_close($con); 
?> 

답변

1

나는 당신이 열려있는 양식을 이동하도록하여 while 루프의 가까운 외부를 형성 할 수 상상 모든 항목이 하나의 형식으로되어 있으므로 하나의 게시물이됩니다.

<?php 
    echo "<form method='post' action='addcart.php'>"; 
while($row = mysql_fetch_array($data)){ 
    echo "<tr><td><img width='100' width='100' src='itemImages/" . $row['itemIMG'] . "'/></td> 
    <td>" . $row['itemNAME'] . "</td> 
    <td><p id='description'>" . $row['itemDESC'] . "</p></td> <td>"; 
    //Color dropdown population happens here 
    if($row["itemCOL1"] != ' '){ 
    echo "<select name=colors>"; 
    $finished = 'false'; 
    $i = '0'; 
    $colrow = mysql_fetch_array($coldata); 
    while($finished != 'true'){ 
     if($colrow[$i] != ' '){ 
     echo "<option value=" . $colrow[$i] . ">" . $colrow[$i] . "</option>"; 
     $i++; 
    } else { 
     echo "</select>"; 
     $finished='true'; 
    } 
    } 
    } 
//Size option dropdown handled here 
if($row['itemHSIZ'] != "N"){ 
    echo "<select name=prodSizes>"; 
    echo "<option value=X-Small>X-Small </option>"; 
    //Sizes omitted for brevity 
    echo "</select>"; 
    } 
echo "<input type='hidden' name='prodName' value='" . $row['itemNAME'] . "' />"; 
}; 
echo "<input type='submit' name='submit' value='Submit' /></form>"; 
//...and above here. 
mysql_close($con); 
?> 

이것이 의미하는 바가 아니라면 알려주세요!

+0

(간단히) 시도했지만 그 다음 제출 버튼과 함께 각 항목의 색상과 크기를 구분하는 방법이 필요했습니다. 나는 그렇게 쉬운 방법을 생각할 수 없었다. – CptTritium

+0

마지막 에코를 보면 while 루프 외부에 제출 버튼을 가져 왔습니다. 이렇게하면 제출 버튼이 여러 개인 문제를 해결할 수 있습니다. – Tom

+0

항목 색상과 크기를 구분하는 데있어 어떤 문제가 있습니까? 어느 것이 선정되었는지 당신이 알지 못할 것입니까? 이를 해결하는 한 가지 방법은 원하는 항목을 선택할 수 있도록 라디오를 추가하는 것입니다. 색상과 크기가 모두 선택된 경우 항목을 원한다고 가정 할 수도 있습니다. – Tom

0

자바 스크립트를 사용하여 두 가지 방법으로 갈 수 있습니다. 자바 스크립트를 사용하여 장바구니에 추가 버튼/링크에 첨부 된 onclick 이벤트를 사용하여 PHP 스크립트에 아약스 호출을하거나 옵션을 선택하면 JavaScript를 사용하여 장바구니에 링크 링크에 매개 변수를 추가 할 수 있습니다.

의미가 있습니까?

추신 : 그런 p 태그에 ID를 사용하지 마십시오. id 값을 고유하게 유지하려고합니다.

+0

JavaScript를 사용하지 않으려 고했지만,해야 할 수도 있습니다. 그것은 완벽하게 이해할 수 있습니다, 그것은 바로 내가 비행 중에 찍어야 할 또 다른 언어입니다. – CptTritium