Das ist mein BAShop.php DateiWie wird eine bestimmte Zeile der ausgewählten Tabellendaten in die Datenbanktabelle eingefügt?
<?php
if(isset($_POST['insert'])){
$queryinsert = "insert into cart(productid,productname,cartquantity,amount) SELECT productid,productname,'$_POST[cartquantity]', '50' FROM product WHERE productid='$_POST[hidden]'";
mysqli_query($dbconn,$queryinsert);
}
?>
<script>
function sortproduct(str) {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","BAShopSort.php?q="+str,true);
xmlhttp.send();
}
</script>
Und das ist meine ShopSort.php Datei, wo ich meine Ajax tun, so dass Benutzer auf eine Schaltfläche und die Seite klicken Sie auf Änderungen kann es ohne zu aktualisieren.
$q = $_GET['q'];
$sql="SELECT * FROM product WHERE productname like '$q%'";
$result = mysqli_query($dbconn,$sql);
echo "<table border=3>
<tr>
<th>Productid</th>
<th>Productname</th>
<th>Retailprice</th>
<th>Pointsformula</th>
<th>Quantity</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr><form method='POST'>";
echo "<td>"."<input type = 'text' id ='productid' name='productid' value=". $row['productid'] ."></td>";
echo "<td>"."<input type = 'text' id = 'productname' name='productname' value=". $row['productname'] ."></td>";
echo "<td>" . $row['retailprice'] . "</td>";
echo "<td>" . $row['pointsformula'] . "</td>";
echo "<td>"."<button type='button' class='quantityaddsub' id='sub' onclick='quantitysub(".$row['productid'].")'>-</button>".
"<input type='text' class='quantity' name='cartquantity' id='quantity".$row['productid']."' value=1>". //**name of quanitty text
"<button type='button' class='quantityaddsub' id='add' onclick='quantityadd(".$row['productid'].")'>+</button>".
"<input type='hidden' name='hidden' value=".$row['productid']."></td>";
echo "<td>" . "<input type='submit' id = 'insert' name='insert' value='Add To Cart'" . "></td>";
echo "</form></tr>";
}echo "</table>";
So, nachdem ich die BAShop.php Datei ausführen, kann sagen, i den Punkt ‚Soap‘ in der Warenkorb Wenn ich in der Warenkorb Seite gehen hinzufügen möchte, die Seife ist nicht dort, sondern die Shampoo ist da.
Bitte haben Sie einen Blick auf mein Code und lassen Sie mich wissen, was los ist ... Ich habe für 3 Wochen mit diesem Problem für mein Schulprojekt gesteckt worden ist, und die Zeit läuft ab .. FYI: die Daten für die Tabelle, die ich für die BAShop.php-Seite angezeigt habe, wird von mysql-Datenbank gezeichnet.
Haben Sie überprüft, was Wert von '$ _POST [hidden]' nach dem Post kommt? – Apb
yup, es wird immer die Produktnummer des letzten Elements in der Zeile sein, z. Wenn ich ProductID 1 wähle, wird der versteckte Wert 2 – Marcus
Wenn ich Ihren Code verwende, gibt er den korrekten Wert beim Klicken zurück. Wenn ich auf 1. Datensatz klicken, ist der Wert "hidden" 1. – Apb