我不是那么轻轻地把头发拉到这里。
我使用PHP创建了一个简单的MySQL更新,如果先前将其设置为“1”,则将数据库中的标志从“1”更改为“2”,如果以前设置为“1”,则将其从“2”更改为“1”设为'2'。没什么特别的。
然而,当我点击链接时,数据库会相应更新,但网站上的文字正在做一些非常时髦的事情。我附上了一段视频来展示我的意思: http://gfycat.com/RipeCarefulChinesecrocodilelizard
在视频开头,您会看到我快速点击时发生了什么。接近视频的中间,我点击一个链接,然后刷新页面。刷新显示每个项目的正确标记。
我以前从未经历过这个。我不确定是否有一些奇怪的缓存问题或者是什么。也就是说,这是使用GET获取变量的超简单HTML / PHP标记,不应该像这样搞砸了。
任何想法可能会发生什么? (更好的是,修复可能是什么?)
代码如下:
<?php
// Make a MySQL Connection
mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("selected_db") or die(mysql_error());
// if the vendor's commission is being changed
$vendor_id = $_GET['id'];
$switch_type = $_GET['type'];
if ($switch_type == "reg") {
$result2 = mysql_query("UPDATE vendors SET vendor_commission_rate='1' WHERE vendor_id='$vendor_id'")
or die(mysql_error());
}
elseif ($switch_type == "pro") {
$result2 = mysql_query("UPDATE vendors SET vendor_commission_rate='2' WHERE vendor_id='$vendor_id'")
or die(mysql_error());
}
?>
<style>
table, tr, td, th {
padding:5px;
}
</style>
<center>
<table>
<tr>
<td colspan="5" style="padding-bottom:20px; text-align:center; font-size:130%">Item sold for <strong>$20.00</strong></td></tr>
<th valign="bottom">Vendor</th><th align="center" valign="bottom">Commission<br />Rate</th><th align="center" valign="bottom">Vendor<br />Commission</th><th align="center" valign="bottom">supplier<br />Commission</th><th></th></tr>
<?php
$result = mysql_query("SELECT * FROM vendors")
or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$vendor_id = $row['vendor_id'];
$vendor_name = $row['vendor_name'];
$rate_amount = $row['vendor_commission_rate'];
if ($rate_amount == 1) {
$rate_amount = 0.5;
$rate_name = "<a href=\"?id=".$row['vendor_id']."&type=pro\">Upgrade to Pro</a>";
}
if ($rate_amount == 2) {
$rate_amount = 0.75;
$rate_name = "<a href=\"?id=".$row['vendor_id']."&type=reg\">Switch to Reg</a>";
}
$vendor_commission = 20 * $rate_amount;
$supplier_commission = 20 - $vendor_commission;
$rate_amount_output = $rate_amount * 100;
echo "<tr><td>".$vendor_name."</td><td align=\"center\">".$rate_amount_output."%</td><td align=\"center\">$".number_format($vendor_commission,2)."</td><td align=\"center\">$".number_format($supplier_commission,2)."</td><td>".$rate_name."</td></tr>";
}
?>
</table>
</center>
感谢您的帮助!