简体   繁体   English

如何在提交按钮单击时增加值

[英]How to increment a value when submit button click

I would like to know how to increase a element, each time that element is posted. 我想知道每次发布元素时如何增加元素。

I have to use for loop for the auto increment, but i am not getting right. 我必须使用for循环进行自动增量,但我没有做对。 So any advise or guidance will be great. 所以任何建议或指导都会很棒。

Here is the way i have tried to do: 这是我试图做的方式:

Thanks 谢谢

<?php

$id=0;    
if (isset($_POST['submit'])) {
  $do = $_POST['prodCode'];
  $di = count($do);

  while ($di > $id) { 
    $id++;
    echo $id;
  }
}
?>

<!DOCTYPE HTML>
<html>
  <head>
    <title>Session test</title>
  </head>
  <body>
    <div class="holder">
      <div class="im">
        <img src="session-test/images/bestorange-juice.jpg" />
        <p>bestorange-juice</p>
        <form method="post" action="sessiontest.php">
          <input type="hidden" id="prodCode" name="prodCode" value="f102" />
          <input type="hidden" id="prodPrice" name="prodPrice" value="25" />
          <!--<input type="text" id="prodQty" name="prodQty" value="1" size="1"/>-->
          <input type="submit" value="send value" name="submit" id="submit" />
        </form>
      </div>
      <div class="im">
        <img src="session-test/images/milkshake-juice.jpg" />
        <p>bestorange-juice</p>
        <form method="post" action="sessiontest.php">
          <input type="hidden" id="prodCode" name="prodCode" value="W122" />
          <input type="hidden" id="prodPrice" name="prodPrice" value="1" />
          <!--<input type="text" id="prodQty" name="prodQty" value="1" size="1"/>-->
          <input type="submit" value="send value" name="submit" id="submit" />
        </form>
      </div>
    </div>
  </body>
</html>

Try below code, counts are stored in session, but for real life app you should use database and also you should get your products from database: 尝试以下代码,计数存储在会话中,但对于真实应用程序,您应该使用数据库,并且您应该从数据库获取您的产品:

<?php

// initialize counts for f102 and W122 products
if (!isset($_SESSION['count_f102']) {
   $_SESSION['count_f102'] = 0;
}
if (!isset($_SESSION['count_W122']) {
   $_SESSION['count_f102'] = 0;
}

if (isset($_POST['submit'])) {
  $do = $_POST['prodCode'];
  // increment count for product which was submitted
  $_SESSION['count_'.$do] = 1+ (int) $_SESSION['count_'.$do];
}
?>

<!DOCTYPE HTML>
<html>
  <head>
    <title>Session test</title>
  </head>
  <body>
    <div class="holder">
      <div class="im">
        <img src="session-test/images/bestorange-juice.jpg" />
        <p>bestorange-juice</p>
        <form method="post" action="sessiontest.php">
          <input type="hidden" id="prodCode" name="prodCode" value="f102" />
          <input type="hidden" id="prodPrice" name="prodPrice" value="25" />
          <input type="text" id="prodQty" name="prodQty" value="<?php $_SESSION['count_f102'] ?>" size="1" readonly="readonly" />
          <input type="submit" value="send value" name="submit" id="submit" />
        </form>
      </div>
      <div class="im">
        <img src="session-test/images/milkshake-juice.jpg" />
        <p>bestorange-juice</p>
        <form method="post" action="sessiontest.php">
          <input type="hidden" id="prodCode" name="prodCode" value="W122" />
          <input type="hidden" id="prodPrice" name="prodPrice" value="1" />
          <input type="text" id="prodQty" name="prodQty" value="<?php $_SESSION['count_W122'] ?>" size="1" readonly="readonly" />
          <input type="submit" value="send value" name="submit" id="submit" />
        </form>
      </div>
    </div>
  </body>
</html>

Are your $_POST['prodCode'] always in the form one letter + id ? 你的$_POST['prodCode']总是以one letter + id的形式出现吗? If yes maybe this could help : 如果是,也许这有助于:

if (isset($_POST['prodCode'])) {
    $value = $_POST['prodCode'];
    // save the letter
    $letter = substr($value, 0, 1);
    // get id
    $id = (int) substr($value, 1, strlen($value) - 1);
    // get value with letter and incremented id
    $valueIncremented = $letter . ++$id;
}
// with $_POST['prodCode'] = 'f102' you will get $valueIncremented = 'f103'

Hope it helps. 希望能帮助到你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM