Rumah  >  Soal Jawab  >  teks badan

Tajuk semakan yang mungkin: "Isu pertanyaan kemas kini pangkalan data SQL PHP: Indeks tidak ditakrifkan dan data tidak dikemas kini?"

Saya menghadapi masalah mengemas kini pangkalan data. Saya rasa ralat adalah dalam pertanyaan kemas kini itu sendiri, tetapi saya baru menggunakan SQL dan PHP jadi saya tidak pasti 100%. Sebarang bantuan amatlah dihargai.

Saya mendapat ralat indeks yang tidak ditentukan, saya membetulkannya tetapi masalahnya masih wujud:

$id = $_GET["id"];
$listdate = isset($_POST['list_date']) ? $_POST['list_date'] : '';
$listprice = isset($_POST['list_price']) ? $_POST['list_price'] : '';
$solddate = isset($_POST['sold_date']) ? $_POST['sold_date'] : '';
$soldprice = isset($_POST['sold_price']) ? $_POST['sold_price'] : '';
$shipdate = isset($_POST['ship_date']) ? $_POST['ship_date'] : '';
$shipcost = isset($_POST['ship_cost']) ? $_POST['ship_cost'] : '';

Selepas menukar kepada kod di atas (yang tidak berfungsi) saya masih menghadapi masalah mengemas kini pangkalan data. Berikut ialah kod semasa yang lengkap:

<?

$id = $_GET["id"];
$listdate = $_POST["list_date"];
$listprice = $_POST["list_price"];
$solddate = $_POST["sold_date"];
$soldprice = $_POST["sold_price"];
$shipdate = $_POST["ship_date"];
$shipcost = $_POST["ship_cost"];

$servername = "localhost";
$username = "inventory";
$password = "*****";
$db = "products";

$conn = new mysqli($servername, $username, $password, $db);

if ($conn->connect_error){
    die("Connection failed: ". $conn->connect_error);
}

   
$sql = "UPDATE inventory SET list_date = '$listdate', list_price = '$listprice', sold_date = '$solddate', sold_price = '$soldprice', ship_date = '$shipdate', ship_cost= '$shipcost' WHERE product_id = ' .$id. '";

if($conn->query($sql) === TRUE){
    echo "Record Saved.";
    } else {
        echo "Error!";
    }

$conn->close();

?>

Walaupun saya menukar ID secara manual kepada yang diberikan oleh pangkalan data, kemas kini masih tidak berfungsi dan tiada perubahan dalam pangkalan data. Saya tahu borang itu tidak kelihatan cantik, tetapi saya menyediakannya sebagai ujian. Begini cara saya menyediakan borang untuk menangkap perubahan:

<form action="/SulleySells/scripts/updateitem.php?id=<?php echo $id;?>" method="post">

    <script type="text/javascript">
        function ShowHideDiv(listed) {
            var updatel = document.getElementById("updatel");
            updatel.style.display = listed.checked ? "block" : "none";
        }
        function ShowHideDiv2(sold) {
            var updates = document.getElementById("updates");
            updates.style.display = sold.checked ? "block" : "none";
        }
    </script>
    
    <label for="listed">
    <input type="checkbox" id="listed" onclick="ShowHideDiv(this)" />
    Listed?
    </label>
    
    <label for="sold">
    <input type="checkbox" id="sold" onclick="ShowHideDiv2(this)" />
    Sold?
    </label>
    
    <hr>
    
    <div id="updatel" style="display: none">
        <h3>Update Listing Details:</h3>
        <label for="listdate">Listed Date:</label>
        <input type="date" id="updateltext" name="listdate" value=""/>
        <br>
        <label for="listprice">Listed Price:</label>
        <input type="text" id="updateltext"  name="listprice" value=""/>
        <br>
        <button>Update</button>
        <hr>
    </div>
    
     <div id="updates" style="display: none">
         <h3>Update Sale Details:</h3>
         
        <label for="solddate">Sold Date:</label>
        <input type="date" id="updatestext" name="solddate" value=""/>
        <br>
        <label for="soldprice">Sold Price:</label>
        <input type="text" id="updatestext" name="soldprice" value=""/>
        <br>
        <label for="shipdate">Ship Date:</label>
        <input type="date" id="updatestext" name="shipdate" value=""/>
        <br>
        <label for="shipcost">Ship Cost:</label>
        <input type="text" id="updatestext" name="shipcost"value=""/>
        <br>
        <button>Update Sold Info</button>
        <hr>
    </div>

    </form>

P粉637866931P粉637866931173 hari yang lalu422

membalas semua(1)saya akan balas

  • P粉415632319

    P粉4156323192024-04-03 11:07:53

    Pertama anda mesti berubah:

    Kepada:

    Padankan kandungan dalam kod php anda dan gunakannya pada input html yang lain

    Kemudian tukar:

    WHERE product_id = ' .$id. '

    Kepada:

    WHERE product_id = '$id'

    Pemberitahuan Jangan lupa gunakan id="" dalam input dan for="" dalam teg pemformatan untuk mengelak daripada memberikan hasil yang berbeza

    balas
    0
  • Batalbalas