0

これは、jquery モバイル アプリケーションのコードです。しかし、php結果で作成したフォームが機能していません。送信時にフォームがデータを投稿していません。私も試してみdata-ajax="flase"ました。

<table id="stock">
<? $sql = mysqli_query($con, "SELECT * FROM products WHERE `product_id` = '1'");
    while($row=mysqli_fetch_array($sql)){
        $name = $row['name'];
        $chamecal = $row['chamecal'];
        $price = $row['selling_price'];
        $bprice = $row['buying_price'];
        $quantity = $row['quantity'];
        $manufacturer = $row['manufacturer'];
        $date = $row['date'];
        $edate = $row['expire'];
        $pid = $row['product_id'];
?>
   <form id="stockupdate" method="post" action="medupdate.php">
    <tr>
        <td><?=$name;?></td>
        <td><?=$chamecal;?></td>
        <td><?=$manufacturer;?></td>
        <td><input type="text" name="medbprice" value="<?=$bprice;?>" /></td>
        <td><input type="text" name="medprice" value="<?=$price;?>" /></td>
        <td><?=$date;?></td>
        <td><?=$edate;?></td>
        <td><input type="text" name="medstock" value="<?=$quantity;?>" /></td>
        <td class="ui-screen-hidden"><input type="text" name="pid" value="<?=$pid;?>" /></td>
        <td>
            <input type="submit" title="Update" data-icon="gear" data-theme="f" data-inline="true" data-iconpos="notext" />
        </td>
    </tr>
<?    
    } 
?>
</form>
</table>

値ハンドラー ファイルmedupdate.php

<?php session_start();?>
<?php include_once('include/config.php');?>
<?
$pid        = $_POST['pid'];
$medbprice  = $_POST['medbprice'];
$medprice   = $_POST['medprice'];
$medstock   = $_POST['medstock'];

$sql = mysqli_query($con, "UPDATE `products` SET `quantity` = '$medstock', `buying_price` = '$medbprice' , `selling_price` = '$medprice' WHERE `product_id` = '$pid'");

if($sql){
echo 1;
}
?>
4

2 に答える 2

1

html 構造をたどることができず、form内部tableのように、

<table>
   <form>
     <tr>
        <td>
        </td>
     </tr>
   </form>
</table>

これが作業コードです。

フォームphp

<!DOCTYPE html>


<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
    </head>



    <body>
        <form id="stockupdate" method="post" action="medupdate.php" data-ajax="false">
            <table>
                <tr>
                    <td><input type="text" name="medbprice" value="xxxx" /></td>
                    <td><input type="text" name="medprice" value="yyyyy" /></td>
                    <td><input type="text" name="medstock" value="zzzzzz" /></td>
                    <td class="ui-screen-hidden"><input type="text" name="pid" value="111111" /></td>
                    <td>
                        <input type="submit" title="Update" data-icon="gear" data-theme="f" data-inline="true" data-iconpos="notext" />
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

medupdate.php

<?php 
session_start();
$pid        = $_POST['pid'];
$medbprice  = $_POST['medbprice'];
$medprice   = $_POST['medprice'];
$medstock   = $_POST['medstock'];
echo $pid;
// your database operations
?>
于 2013-10-15T09:57:58.683 に答える
1

私が推測を危険にさらすとしたら、それはあなたが配置しているからです

<form id="stockupdate" method="post" action="medupdate.php">

テーブル要素内に直接配置します (これは無効なマークアップです)。これをテーブルの外 ( の前<table>) に移動します。無効なマークアップを作成すると、ブラウザー エンジンはそれを修正しようとするため、このような問題が発生する可能性があります。

これは、クロムがマークアップに対して行うことです。

ここに画像の説明を入力

于 2013-10-15T09:31:58.700 に答える