【问题标题】:PHP - How do I get the product name to the input form when the book button is clicked?PHP - 单击图书按钮时,如何将产品名称输入到输入表单中?
【发布时间】:2017-05-29 18:56:01
【问题描述】:

我正在处理一个项目,我正在尝试在客户从可用产品列表中选择产品后将数据发送到输入表单。每个产品都有一个书籍按钮,点击书籍按钮时如何将产品名称输入到输入表单中?

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "<div class='book col-sm-2'>
            <img height='150px' width='150px' src='driverimages/" . $row['imagename'] . "'>
            <p>" . $row["fname"] . " " . $row["sname"] . "</p>
            <p> Age: " . $row['age'] . "</p>
            <button type='submit' name='sub'>book</button>
        </div>";
    }
}

if (isset($_POST['sub'])) {
    $name = $row['fname'] . " " . $row['sname'];
}
<input type="name" name="name" value="<?php echo $name ?>"><br><br>

【问题讨论】:

    标签: php html sql forms input


    【解决方案1】:

    我认为,如果您希望在用户单击按钮而不重新加载页面时发生操作,您应该使用 javascript 或 jquery。 您应该使用 javascript 来获取产品名称的值并插入到输入字段中。 如果此操作将在页面重新加载时发生以供 php 处理,那么您必须通过表单发送此操作,以便您的 php 脚本可以将用户的选择附加到变量..

    【讨论】:

    • 非常感谢您的提示,非常感谢。
    【解决方案2】:

    ...

    <button name="sub" type="submit" value="<?php echo $row['fname']. ' ' . $row['sname']; ?>">book</button>
    

    ...

    if (isset($_POST['sub'])){
        $name = $_POST['sub'];
    }
    

    【讨论】:

      【解决方案3】:

      有更好的方法可以做到这一点,但为了您的问题显然不够精确,这里有一个快速的解决方案:

      <form>
      <?php
      
      if ($result->num_rows > 0) {
          while ($row = $result->fetch_assoc()):
      ?>
              <div class='book col-sm-2'>
                  <img height='150px' width='150px' src='driverimages/<?=$row['imagename'] ?>'>
                  <p><?=$row["fname"] ?> <?=$row["sname"] ?></p>
                  <p> Age: <?=$row['age'] ?></p>
                  <button type='submit' onclick="add_to_input(event)" name='sub' data-product="<?php echo $name ?>">book</button>
              </div>
      <?php
          endwhile;
      
      if (isset($_POST['sub'])) {
          $name = $row['fname'] . " " . $row['sname'];
      }
      ?>
      
      <input id="name_holder" type="text" name="name" value=""><br><br>
      </form> <!-- END FORM -->
      
      
      <script type="text/javascript">
          function add_to_input(event){
      
              event.preventDefault(); // want form to submit ? remove this line
      
              var button = event.target;
              var booking_name = button.getAttribute('data-product');
              var input = document.getElementById('name_holder');
              input.value = booking_name; 
          }
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-15
        • 2021-12-08
        • 2015-08-29
        相关资源
        最近更新 更多