我制作了一个页面,其中可以编辑每个网店所拥有的每篇文章的价格。它已经具有的价格在文本字段中,可以根据用户的需要进行更改。然后用户点击编辑(Wijzigen是荷兰语编辑)按钮,它应该在按下之前更改为文本字段中的任何内容。 但是我对UPDATE查询遇到了一些麻烦,因为我需要给它一些ID来选择正确的ID。并且,正如您在源中看到的那样,在启动while()循环之后,我无法从右表中指定正确的ID。 如果你能帮我解决我需要改变,添加或删除的问题,我将不胜感激。
<?php
include 'inc/inc.php';
$artikel = mysqli_query($mysql, "SELECT a.Artikel_ID, a.Productnaam, aw.Artikel_ID, aw.Webshop_ID, aw.Prijs, w.Webshop_ID, w.Shopnaam FROM artikel a, artikel_webshop aw, webshops w WHERE a.Artikel_ID = aw.Artikel_ID AND aw.Webshop_ID = w.Webshop_ID GROUP BY aw.Webshop_ID, aw.Artikel_ID");
echo '<table id="specialtable"><tr style="background-color:#F8F8F8;"><td>Productnaam</td><td>Webshop</td><td>Prijs</td><td>Wijzigen</td></tr>';
$i = 0;
$j = 1;
while($artikelR = mysqli_fetch_assoc($artikel)) {
$artikel_id = $artikelR['Artikel_ID'];
$webshop_id = $artikelR['Webshop_ID'];
echo '<form method="post">';
if($i == 0){
echo '<tr style="background-color:#DDD;">';
$i = $i + 1;
}else{
echo '<tr style="background-color:#F8F8F8;">';
$i = $i - 1;
}
echo '<td>' . $artikelR['Productnaam']. '</td><td>' . $artikelR['Shopnaam'] . '</td><td>€ <input type="text" name="' . $j . '" value="' . $artikelR['Prijs']. '"></td>';
echo '<td><input type="submit" name="' . $j . '" value="Wijzigen"></td></tr></form>';
$jNew = $_POST['' . $j . ''];
$j++;
$test = $_POST['' . $j . ''];
if(isset($test)) {
$sql = mysqli_query($mysql, "
UPDATE artikel_webshop
SET Prijs = '" . $jNew . "'
WHERE Artikel_ID = '$artikel_id'
AND Webshop_ID = '$webshop_id'");
echo 'U heeft succesvol de prijs van het artikel ' . $artikelR['Productnaam'] . ' van de webshop ' . $artikelR['Shopnaam'] . ' gewijzigd.<br><br>';
$url = 'prijsWij.php';
echo '<meta http-equiv="refresh" content="4;URL=' . $url . '">';
}
}
echo '</table></form>';
?>
我终于开始工作了。我在解释时非常糟糕,所以我只是添加新代码:
<?php
include 'inc/inc.php';
$artikel = mysqli_query($mysql, "
SELECT a.Artikel_ID, a.Productnaam, aw.Artikel_ID as awa_id, aw.Webshop_ID as aww_id, aw.Prijs, w.Webshop_ID, w.Shopnaam
FROM artikel a, artikel_webshop aw, webshops w
WHERE a.Artikel_ID = aw.Artikel_ID
AND aw.Webshop_ID = w.Webshop_ID");
echo '<table id="specialtable"><tr style="background-color:#F8F8F8;"><td>Productnaam</td><td>Webshop</td><td>Prijs</td><td>Wijzigen</td></tr>';
$i = 0;
$j = 1;
while($artikelR = mysqli_fetch_assoc($artikel)){
$artikel_id = $artikelR['awa_id'];
$webshop_id = $artikelR['aww_id'];
echo '<form method="post">';
if($i == 0){
echo '<tr style="background-color:#DDD;">';
$i = $i + 1;
}else{
echo '<tr style="background-color:#F8F8F8;">';
$i = $i - 1;
}
echo '<td>' . $artikelR['Productnaam']. '</td><td>' . $artikelR['Shopnaam'] . '</td>';
echo '<td>€ <input type="text" name="prijsTest" value="' . $artikelR['Prijs']. '"></td>';
echo '<td><input type="submit" name="' . $j . '" value="Wijzigen"></td></tr></form>';
$kNew = $_POST['prijsTest'];
$test = $_POST['' . $j . ''];
$j = $j + 1;
if(isset($test)){
$sql = mysqli_query($mysql, "
UPDATE artikel_webshop
SET Prijs = " . $kNew . "
WHERE Artikel_ID = '$artikel_id'
AND Webshop_ID = '$webshop_id'");
echo 'U heeft succesvol de prijs van het artikel ' . $artikelR['Productnaam'] . ' van de webshop ' . $artikelR['Shopnaam'] . ' gewijzigd.<br><br>';
$url = 'prijsWij.php';
echo '<meta http-equiv="refresh" content="4;URL=' . $url . '">';
}
}
echo '</table></form>';
?>
答案 0 :(得分:0)
SELECT a.Artikel_ID as a_id, a.Productnaam, aw.Artikel_ID as aw_id ...
答案 1 :(得分:0)
为了知道哪些文章已更新,您需要在表单中跟踪它,以便在提交表单时,您将能够更新正确的文章。
似乎每篇文章都有一个表单。在这种情况下,这很容易。生成表单时,添加包含文章ID的隐藏输入:
<input type="hidden" name="article_id" value="<?php echo $articleId; ?>"/>
当提交表单时,文章ID将与新价格一起发布。您可以通过$_POST['article_id']
检索它。然后,您可以在MySQL查询中使用此变量来更新正确的文章!