Php 声明变量运行变量

Php 声明变量运行变量,php,mysql,Php,Mysql,我正在尝试使用ProductID创建一个有效的搜索字段,然后使用该字段显示产品表中存在ProductID的行。我遇到的问题是,如果我有如下代码:下面的submit按钮执行$deleteprod和$deltesale代码,它应该(据我所知)提交ProductID变量 <form action="delete.php" method="post"> <input value="" placeholder="Product ID" name="ProductID" type=

我正在尝试使用
ProductID
创建一个有效的搜索字段,然后使用该字段显示产品表中存在
ProductID
的行。我遇到的问题是,如果我有如下代码:下面的submit按钮执行
$deleteprod
$deltesale
代码,它应该(据我所知)提交
ProductID
变量

<form action="delete.php" method="post">
    <input value="" placeholder="Product ID" name="ProductID" type="text"/> <br>
    <input type="submit" onclick="" value="Search"/
</form>
<?php 

    $ProductID = $_POST['ProductID'];
    $db = mysql_connect("localhost:3307", "root", "usbw");
    $deleteprod = mysql_query("DELETE FROM gameshop.product WHERE (product.ProductID = '$ProductID')");
    $deletesale = mysql_query("DELETE FROM gameshop.sale WHERE (sale.ProductID = '$ProductID')");
    $deletebutton = "<button onclick=\"$deletesale; $deleteprod; location.href='database.php'\" style='width:200px; background-color:red;'>Delete Row</button>"; 
    mysql_select_db("gameshop",$db);
    $result = mysql_query("SELECT product.*, sale.Price
        FROM gameshop.product, gameshop.sale 
        WHERE (product.ProductID = '$ProductID' AND sale.ProductID = '$ProductID')",$db);
    if (!$result){
        print mysql_rror();
    }
    elseif ($myrow = mysql_fetch_array($result)){
        echo "<table style='text-align:center;' border=1>\n";
        echo "<tr><td>Product ID</td><td>Product Name</td>", "<td>Publisher</td><td>Developer</td>", "<td>Release Date</td><td>Stock</td>", "<td>Console</td>       <td>Rank</td><td>Price</td><td>Delete?</td></tr>\n";
        do{
            printf("<tr><td>%4d</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%1d</td><td>%s</td><td>%1d</td><td>%2d</td><td>%s</td></tr>\n", // %s are syntax (string)
            $myrow["ProductID"], $myrow["ProductName"], $myrow["Publisher"], $myrow["Developer"], $myrow["ReleaseDate"], $myrow["Stock"], $myrow["Console"], $myrow["Rank"], $myrow["Price"], $deletebutton);
        }
        while ($myrow = mysql_fetch_array($result));
        echo "</table>\n";
    }
    mysql_close($db);
?>



问题是,当您单击按钮时,您调用的是JavaScript,而不是PHP。
我想你可以用你的
deletesale
deleteprod
创建另一个PHP页面来解决这个问题,它使用
post
获取
Product\u ID

因此,该文件将具有如下php脚本:

$ProductID = $_POST['ProductID'];
$db = mysql_connect("localhost:3307", "root", "usbw");
mysql_select_db("gameshop",$db);
$result = mysql_query("SELECT product.*, sale.Price
    FROM gameshop.product, gameshop.sale 
    WHERE (product.ProductID = '$ProductID' AND sale.ProductID = '$ProductID')",$db);
if (!$result){
    print mysql_error();
}
elseif ($myrow = mysql_fetch_array($result)){
    echo "<table style='text-align:center;' border=1>\n";
    echo "<tr><td>Product ID</td><td>Product Name</td>", "<td>Publisher</td> <td>Developer</td>", "<td>Release Date</td><td>Stock</td>", "<td>Console</td>       <td>Rank</td><td>Price</td><td>Delete?</td></tr>\n";
    do{
        printf("<tr><td>%4d</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%1d</td><td>%s</td><td>%1d</td><td>%2d</td><td>",$myrow["ProductID"], $myrow["ProductName"], $myrow["Publisher"], $myrow["Developer"], $myrow["ReleaseDate"], $myrow["Stock"], $myrow["Console"], $myrow["Rank"], $myrow["Price"]);
        printf "<form method=\"post\" action=\"delete_page.php\"><input type=\"text\" style=\"display:none\" name=\"ProductID\" value=\"$ProductID\"/><input type=\"submit\" value=\"delete product\"/></form>"
        printf "</td></tr>"
    }
    while ($myrow = mysql_fetch_array($result));
    echo "</table>\n";
}
mysql_close($db);
然后你可以添加一个链接回到主页面


请务必检查拼写错误:)

MySQL api已弃用,不应使用。我看不出你想用你的按钮和ITI中的PHP函数做什么如果我是你,我会打开一个输入型收音机,问用户是否想列出产品或删除它们。然后做一个简单的if/elseif$\u POST['choice']='delete'发送delete查询,否则插入,ID将以FORM形式发送。我想通过合并变量来分离一些代码,因为否则我认为它会变得非常混乱。这可能是问题所在吗?您不能以这种方式使用PHP。这就是我要说的。通过深入研究表单,只需在php脚本中获得良好操作的良好条件,就可以简化工作
$ProductID = $_POST['ProductID'];
$db = mysql_connect("localhost:3307", "root", "usbw");
mysql_select_db("gameshop",$db);
mysql_query("DELETE FROM gameshop.product WHERE (product.ProductID = '$ProductID')");
mysql_query("DELETE FROM gameshop.sale WHERE (sale.ProductID = '$ProductID')");
mysql_close($db);