0

这个问题及其标题可能会让人觉得是一个模糊的问题,如果是这样,我很抱歉,但我没有其他方法可以问它,因为我自己也很困惑。

好的,这里是:

我正在创建一个网站,网站所有者可以在主页上发布带有图片的产品!这一点工作正常。

主页最多只能显示 10 个产品。这一点也有效。

产品按数字存储在数据库中。例如:第一个项目/产品保存为产品编号 1,1 是其 ID,产品编号 2 是 2,3 是 3,依此类推。这一点也可以正常工作,因为我希望它可以工作。

这是问题:

假设我在主页上添加了 10 种产品,这是它可以在主页上显示的最大产品。产品 1 至 10。

当我添加新产品(产品编号 11 )时,这个新添加的产品将删除添加的最旧产品,即产品编号 1。

我不希望这种情况发生。我需要产品/项目以某种方式保持在队列中,并像其他产品一样存储在数据库中,直到我手动删除/删除其中一个旧产品,它将自动被替换。

这是我用于将产品添加到数据库中的代码:

<?php 
// Parse the form data and add inventory item to the system
if (isset($_POST['product_name'])) {

    $product_name = mysql_real_escape_string($_POST['product_name']);
    $link = mysql_real_escape_string($_POST['link']);
    $retail = mysql_real_escape_string($_POST['retail']);
    $clicks = mysql_real_escape_string($_POST['clicks']);
    $price = mysql_real_escape_string($_POST['price']);
    $category = mysql_real_escape_string($_POST['category']);
    $subcategory = mysql_real_escape_string($_POST['subcategory']);
    $details = mysql_real_escape_string($_POST['details']);
    // See if that product name is an identical match to another product in the system
    $sql = mysql_query("SELECT id FROM products WHERE product_name='$product_name' LIMIT 1");
    $productMatch = mysql_num_rows($sql); // count the output amount
    if ($productMatch > 0) {
        echo 'Sorry you tried to place a duplicate "Product Name" into the system, <a href="index.php">click here</a>';
        exit();
    }
    // Add this product into the database now
    $sql = mysql_query("INSERT INTO products (product_name, link, retail, clicks, price, details, category, subcategory, date_added) 
        VALUES('$product_name','$link','$retail','$clicks','$price','$details','$category','$subcategory',now())") or die (mysql_error());
     $pid = mysql_insert_id();
    // Place image in the folder 
    $newname = "$pid.jpg";
    move_uploaded_file( $_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
    header("location: index.php"); 
    exit();
}
?>

任何帮助都会非常有帮助。即使它让我朝着正确的方向前进。

谢谢

4

1 回答 1

1

DB Schema 对我们来说是不必要的。这是一个订购问题。您可能会在获取主页项目的 SQL 查询中找到类似“ORDER BY id DESC”或日期的内容。您需要按 id ASC 订购商品(这是 SQL 的默认行为,因此只需“ORDER BY id”就足够了。

重复一遍 - 您的 SQL 专门按日期或 ID 对记录 DESC 进行排序。

于 2013-02-27T17:34:40.143 回答