جلوگیری از درج داده های تکراری
سلام دوستان /
من یک سیستم مدیریت برای سایتم میخوام بنویسم که مدیر بره کالاهای فروشگاهشو به اونجا اضافه کنه . حالا وقتی مدیر مثلا یک کالایی با نامی که قبلا در جدول بوده رو وارد میکنه دو باره در جدول درج میشه . از چه دستوری استفاده کنم که اگه یک کالایی در جدول وجود داشته باشه دیگه نیاد کالا رو بهش اضافه کنه و به مدیر پیغام بده . متشکرم/
اینم کدمه :
[PHP]<?php
include_once "../dream/_con/config.php";
if(isset($_POST["cat_btn"]))
{
$cate=$_POST["category"];
if (!empty($cate))
{
mysql_query("INSERT INTO `category`(name) VALUES ('$cate')") or die(mysql_error());
}
else echo "text box is null!";
}
?>
<html>
<head>
<title>managemet system</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body style="direction:rtl; text-align:center;">
<p>
<form method="POST" action="">
<p>
<label for="cat">دسته را وارد کنید : </label>
<input type="text" name="category" id="cat" />
</p>
<p>
<input type="submit" value="add category" name="cat_btn"/>
</p>
</form>
</p>
<p>
</body>
</html>[/PHP]
پ-ن : موارد نامربوط به سوال رو از این کد پاک کردم . کدهای html ممکنه مشکل داشته باشد .
اعمال سریع تغییرات در جدول
سلام . در ادامه سوال قبلیم واسه مدیریت سایت به یک مشکل جدید برخوردم . من اومدم واسه مدیر امکان اضافه و ویرایش نام محصولات رو گذاشتم . حالا وقتی مدیر روی لینک حذف یک محصول کلیک میکنه بار اول محصول پاک نمیشه و بار دومی که کلیک میکنه نام محصول از جدول حذف میشه . در واقع با کلیک اول محصول از جدول واقع در دیتابیس پاک میشه ولی در سایت هنوز نشون داده میشه و با کلیک دوم محصول از جدول سایت پاک میشه . برای ویرایش هم همینطور . من برای ویرایش یک تکست باکس گذاشتم که وقتی روی محصول کلیک کرد نام محصول رو در اون تکست باکس نمایش بده . وقتی نام محصول جدید رو وارد میکنه و دکمه اکی رو میزنه باز هم نام محوصل قبلی در تکست باکس میمونه و باید صفحه رفرش بشه . میشه سریع با php کاری کرد که احتیاج به رفرش نداشته باشه .
در ادامه کد رو هم قرار میدم :
[PHP]<?php
include_once "../dream/_con/config.php";
$res= mysql_query("SELECT * FROM `category`");
if (mysql_num_rows($res)!=0)
{
?>
<table border="1" width="60%" height="50%" dir="rtl" align="center">
<tr>
<th>کد</th>
<th>نام</th>
<th>عملیات</th>
</tr>
<?php
while($row= mysql_fetch_assoc($res))
{
echo '<tr>';
echo '<td>' . $row['id'] . '</td>';
echo '<td>' . $row['name'] . '</td>';
echo '<td>';
echo '<a href="edit-delete.php?action=del&id=' .$row['id']. '"> حذف </a>';
echo ' ';
echo '<a href="edit-delete.php?action=edit&id='.$row['id'].'"> ویرایش </a>';
echo '</td>';
echo '</tr>';
?>
<?php
}
?>
<?php
}
?>
</table>
<?php
if (isset($_GET["action"]))
{
switch($_GET["action"])
{
case "del":
$id=$_GET["id"];
$res= mysql_query("DELETE FROM `category` WHERE `id`={$id}") or die(mysql_error());
break;
case "edit":
$id=$_GET["id"];
?>
<form action="" method="POST">
<fieldset>
<legend>Edit your product! </legend>
<label for="id">Cat Code = <?php echo $id; ?></label><br/>
<label for="cat">Category</label>
<input type="text" name="category" id="cat" value="<?php
$query=mysql_query("SELECT `name` FROM `category` WHERE `id`={$id}") or die(mysql_error());
$row=mysql_fetch_assoc($query);
echo $row['name'];
?>"/>
<input type="submit" value="edit" name="btn_edit"/>
</fieldset>
</form>
<?php
break;
}
}
?>
<?php
if (isset($_POST["btn_edit"]))
{
$upcat=$_POST['category'];
mysql_query("UPDATE `category` SET `name`='$upcat' WHERE `id`='$id' ");
}
?>
[/PHP]