1

首先,这是我的第一个 PHP 商店,所以如果我看起来有点愚蠢,我深表歉意。

简短形式:如何将一组值传递给$_SESSIONPHP 购物车的变量,而不为页面上的每个项目使用单独的表单?

这是情况。我正在尝试创建一个商店。每个页面上的产品将从 MySQL 数据库中调用,并按成本进行组织。这一切都完美无缺。

我遇到的问题涉及项目选项。其中一些物品,如棒球帽、T 恤和其他各种商品,将有多种尺寸/颜色。我现在组织这个的方式是,MySQL 表中与条件匹配的每个条目都输出到自己的表单中,如果适用,还可以选择大小和颜色。我遇到的问题是,虽然我显然可以将这些发布到另一个页面,但我似乎无法将它们分配给变量。

我很想完全取消表格,并使用这样的超链接:添加到购物车但我不确定这是一个选项,我需要在某些项目上传递尺寸和颜色的值。

我知道这已经做过,而且经常这样做,但我似乎无法让谷歌在这里帮助我。任何建议/提示/技巧将不胜感激。

以下是我当前的代码,使用我开始时认为会很好的多种表单方法:

<?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);
?>
4

2 回答 2

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);
?>

如果这不是你的意思,请告诉我!

于 2012-09-05T16:41:11.833 回答
0

有几种方法可以使用 JavaScript。您可以使用 JavaScript 使用附加到添加到购物车按钮/链接的 onclick 事件对 php 脚本进行 ajax 调用,或者您可以在选择选项时使用 JavaScript 将参数添加到添加到购物车链接。

那有意义吗?

PS不要像那样在p标签上使用id。您希望保持 id 值唯一。

于 2012-09-05T18:51:57.850 回答