PDA

View Full Version : مبتدی: چگونگی حذف اطلاعات از بانک



bravia2009
پنج شنبه 10 تیر 1389, 14:00 عصر
سلام بر کلیه مهندسان گرامی و غیر مهندسان گرامی !!!!!
دوستان عزیز :
بنده یک دیتا بیس دارم که میخوام یک سطر دیتا بیسم حذف شه در واقع با کلیک بر روی یک دکمه این کار باید انجام شه . البته هم حذف هست و هم این که ویرایش شه
به همین منظور از یک حلقه سوییچ استفاده کردم .
فعلا مشکل این جاست که یک کد مورد نیازمه که وقتی روی دکمه کلیک میشه سطر مورد نظر حذف بشه.
چه کار کنم ؟

funpatogh
پنج شنبه 10 تیر 1389, 19:31 عصر
شما یک حلقه میزنی شماره سطر و نام مطلب رو می کشی بیرون بعد کنار هر نام 2 تا لینک میزاری یکی حذف و یکی ویرایش

برای نمایش و حذف --- index.php


<?php
if(isset($_GET['del']) && !empty($_GET['del']) ){
mysql_query("delete from `table` where `id`='".$_GET['id']."' ")or die(mysql_error());
}



while{شرط}{
echo $name." <a href='index.php?del=$id'>حذف</a>-<a href='record.php?edit=$id'>ویرایش</a>";
}
?>

برای ویرایش
هم record.php


if(isset($_GET['edit']) && !empty($_GET['edit']) ){
mysql_query("select * from `table` where `id`='".$_GET['edit']."' ")or die(mysql_error());

}

ostad_ccna
پنج شنبه 10 تیر 1389, 20:41 عصر
به این تاپیک مراجعه نمایید
http://barnamenevis.org/forum/showthread.php?t=230846

bravia2009
جمعه 11 تیر 1389, 12:04 عصر
سلام . باتشکر از دوستان که جواب دادند
ببینید من یک تیبل دارم که اسمش document هستش الان محتویات داخل این تیبل هستش
2 دکمه دارم به شرح ذیل که داخل کد php زدم

$id=$row[0];
echo '<td><b><a href="view.php?do=id='."$row[0]".'"><img src="picture/3.png" alt= ویرایش name="edit" width="32" height="30" title=" ویرایش" /></a></b> ';// Edit row from datebase

echo '<b><a href="view.php?do=delete&id='."$row[0]".'"><img src="picture/2.png" alt="حذف" name="delete" width="32" height="30" title="حذف" /></a></b> </td>'; //Delete row from Datebase

یکی برای ویرایش و یکی دیگه برای حذف
اسم کلیدم درون دیتا بیس به اسم dId هستش . اومدم یک متغییر گرفتم و سط توی اون متغیره ریختم (خط اول کد )
حالا کد php که این تابع حذف انجام میده به این شرح است

switch($_utility['do'])
{
case 'delete':
$id=$_utility['id'];
$mysql="delete * from document where dId='".$id."'";
$result=mysql_query($connect,$query);
if(!$result){
echo '<th colspan="4">';
echo '<td>';
die("erorr remove!!!");
echo '</td>';
echo'</th>';}
break;
ولی عمل حذف انجام نمیده ؟ چرا ؟؟؟؟؟؟

pashaie
جمعه 11 تیر 1389, 12:33 عصر
خب این قسمت رو نادرست وارد کردید:


a href="view.php?do=id=

باید یه چی تو این مایه ها باشه:

a href="view.php?do=delete&id=

bravia2009
جمعه 11 تیر 1389, 13:10 عصر
نه این دو تا دکمه است تو دکمه پایینیش درسته دیگه همونه اون بالایی برای ویرایشه
ولی کار نمیکنه

mohmadd
جمعه 11 تیر 1389, 15:19 عصر
دومیش رو که درست نوشتی.
اولی هم مثل همون :




echo '<td><b><a href="view.php?do=update&id='.$row[0].'"><img src="picture/3.png" alt="ويرايش" name="edit" width="32" height="30" title=" ویرایش" /></a></b> ';

bravia2009
جمعه 11 تیر 1389, 15:26 عصر
دومیش رو که درست نوشتی.
اولی هم مثل همون :




echo '<td><b><a href="view.php?do=update&id='.$row[0].'"><img src="picture/3.png" alt="ويرايش" name="edit" width="32" height="30" title=" ویرایش" /></a></b> ';
سلام دوست من
میدونم مثل همونه ولی مشکل این جاست که دومی کار نمیکنه دومیش الان دکمه delete خوب ؟
وقتی روش کلیک میکنم باید حذف کنه ولی سطری را حذف نمیکنه ؟
چه کارش کنم ؟

mohmadd
جمعه 11 تیر 1389, 16:04 عصر
ببین با این میشه :



$do=$_utility['do'];
if(isset($do) && $do == 'delete'){
$id=$_utility['id'];
$query="delete from document where dId = $id";
$result=mysql_query($query);
if(!$result){
echo '<th colspan="4">';
echo '<td>';
die("error remove!!!");
echo '</td>';
echo'</th>';}
}

bravia2009
جمعه 11 تیر 1389, 17:55 عصر
ببین با این میشه :



$do=$_utility['do'];
if(isset($do) && $do == 'delete'){
$id=$_utility['id'];
$query="delete from document where dId = $id";
$result=mysql_query($query);
if(!$result){
echo '<th colspan="4">';
echo '<td>';
die("error remove!!!");
echo '</td>';
echo'</th>';}
}
نه محمد جان درست نشد بازم حذف نمیکنه

mohmadd
جمعه 11 تیر 1389, 18:15 عصر
نه محمد جان درست نشد بازم حذف نمیکنه

چه اروری میده ؟
من الان یدونه db ساختم و تست کردم شدش !
تست کن :



$do=$_REQUEST['do'];

if(isset($do) && $do == 'delete'){
$id=$_REQUEST['id'];
$query="delete from document where dId = $id";
$result=mysql_query($query);
if(!$result){
echo '<th colspan="4">';
echo '<td>';
die("error remove!!!");
echo '</td>';
echo'</th>';}
}


در اخر باید ورودی ها فیلتر بشند .
میکنید دیگه ؟

bravia2009
جمعه 11 تیر 1389, 18:36 عصر
محمد جان شرمنده توهم کلی میندازم توزحمت .
داداش کل کد به این صورته میزارم واست
ببخشید نمیخواستم گیج بشی .
دیتا بیس ام یک dId دارم که primary key هست و کانتر اتوماتیک
خدا خیرت بده که کمک بچه ها میکنی.
انشالله ماهم بتونیم کمک کنیم

include_once('db.php');// link to other page
$query="select dName,dInDate,dBody from document ORDER by dInDate desc";//getting row in document table
$result=mysql_query($query,$connect);//set in the variable with mysql_query
$num=mysql_num_rows($result);//getting row for loop for and with result
for ($i=0;$i<=$num;$i++){
$row=mysql_fetch_array($result);//getting
echo '<tr>';
echo "<td> $row[dName] </td>" ;
echo "<td> $row[dInDate] </td>" ;
echo "<td> $row[dBody]</td>";
$id=$row[0];
echo '<td><b><a href="view.php?do=id='."$row[0]".'"><img src="picture/3.png" alt= ویرایش name="edit" width="32" height="30" title=" ویرایش" /></a></b> ';// Edit row from datebase

echo '<b><a href="view.php?do=delete&id='."$row[0]".'"><img src="picture/2.png" alt="حذف" name="delete" width="32" height="30" title="حذف" /></a></b> </td>'; //Delete row from Datebase







}
$do=$_REQUEST['do'];

if(isset($do) && $do == 'delete'){
$id=$_REQUEST['id'];
$query="delete from document where dId = $id";
$result=mysql_query($query);
if(!$result){
echo '<th colspan="4">';
echo '<td>';
die("error remove!!!");
echo '</td>';
echo'</th>';}
اینم کد هایی که خودم نوشتم جواب نداده

/* switch($_utility['do'])
{
case 'delete':
$id=$_utility['id'];
$mysql="delete * from document where dId='".$id."'";
$result=mysql_query($connect,$query);
if(!$result){
echo '<th colspan="4">';
echo '<td>';
die("erorr remove!!!");
echo '</td>';
echo'</th>';}
break;



}/*

/* if (isset($_GET['delete']) && !empty($_GET['delete'])) {
mysql_query("delete from document where dId='".$_GET['dId']."' ") or die (mysql_error());
}

while ($_id=0){
echo " <a href='view.php?del=$id'>حذف</a>";

}*/


?>


</table>

<div align="center" dir="rtl" style="font-family: tahoma;" "> با سپاس از شما </div>
</body>
</html>

mohmadd
جمعه 11 تیر 1389, 20:19 عصر
دوست عزیز مطمئنید که محتوایت did همان $row[0] هستش ؟
و document نام جدول ؟
اول به db وصل بشید بعد کد بنده رو بزارید که تغییرات اعمال بشه و بعد کد نمایش دادها رو بزارید. که اول تغییرات اعمال بشه و بعد نمایش داده بشه.
اون خطی که برای modify هستش رو هم از صفحه قبل تصحیح کنید .

هر اروری داد بگو ...

رضا قربانی
چهارشنبه 10 آذر 1389, 17:59 عصر
سلام به اساتید و مهندسان و بزرگواران گرامی :لبخند:

بنده قربانی هستم یه مشکلی دارم بابت حذف فایل

من به این صورت آدرس فایل رو وارد MySql می کنم و فایل رو آپلود می کنم و داخل پوشه download میریزم :
قسمت اصلی کد :


if(!file_exists("../download/".$reza))
{
move_uploaded_file($_FILES['file']['tmp_name'],"../download/".$reza) or die ("Could not move_uploaded_file");




}

خب حالا من برای حذف فایلی که داخل پوشه download ریختم باید از چه کدی استفاده کنم ؟


من برای حذف یه لینک گذاشتم که با کلیک بر روی اون ، آدرس رکورد از بانکم حذف می شه. به این صورت :


<a href="admin_jozve.php?action=del&id='.$row["id"].' " onclick="return conf()">حذف</a>ممنون می شم کد حذف فایل از پوشه رو برام بذارید:قلب:


ارادتمند شما
رضا

hossin.esm
چهارشنبه 10 آذر 1389, 19:26 عصر
unlink("مسیر");
unlink("../download/".$reza);

رضا قربانی
جمعه 12 آذر 1389, 13:00 عصر
دوست من هر دوتا خط رو بنویسم یا فقط خط دومی رو ؟
چطور می تونم توی این کد به غیر اینکه آدرس رو پاک می کنم فایل هم پاک کنم ؟

<a href="admin_jozve.php?action=del&id='.$row["id"].' " onclick="return conf()">حذف</a>

hossin.esm
جمعه 12 آذر 1389, 14:27 عصر
<?php
$id=mysql_real_escape_string($_GET['id']);
$sql="select id,filename from `table` where `id`='$id'";
$result=mysql_query($sql);
if($result)
{
$row=mysql_fetch_array($result);
$file=$row['filename'];
$sql="delete from `table` where `id`='$id'";
$result=mysql_query($sql);
if(file_exists("../download/".$file))
{
unlink("../download/".$file);
}
}
?>

رضا قربانی
چهارشنبه 17 آذر 1389, 10:38 صبح
داداش این جواب نمی ده - بذار من شما رو کامل از جزییات کارم آشنا کنم

ببینید من به این صورت فایلی که در صفحه ی ادمین سایتم آپلود می کنم رو از صفحه اصلی سایت دانلود می کنم :




$sql=" select * from tbl_admin_download where uid=$id ";
$result=mysql_query($sql,$link);

if(mysql_affected_rows($link)>0)
{

$row=mysql_fetch_assoc($result);

<a href="./download/'.$row["file"].' "><b>لینک دانلـــــــود </b> </a>

{



این دلیت کردنتون جواب نمی ده



من کد کامل فانکشن حذف رو براتون می ذارم یه نگاهی بهش بندازید و بگید که چطوری می تونم فایل رو هم حذف کنم . این کد :





function delete($id="")
{

if(empty($id))
{
return;

}
global $dbhost,$dbname,$dbuser,$dbpass,$tbl_name,$gdate2,
$gdate,$op;

$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname,$link);

$sql="select * from tbl_admin_download where uid=$id";
$result=mysql_query($sql,$link)or die(mysql_error());

if(mysql_affected_rows($link)>0)
{
$sql1="delete from tbl_admin_download where uid=$id";
$result1=mysql_query($sql1,$link);

echo'<meta http-equiv="refresh" content="1;url=admin_download.php" />';
die();
}
}

ممنون می شم کمکم کنید

hossin.esm
چهارشنبه 17 آذر 1389, 11:11 صبح
این فانکشن که اصلا کد حذف فایل نداره




function delete($id="")
{

if(empty($id))
{
return;

}
global $dbhost,$dbname,$dbuser,$dbpass,$tbl_name,$gdate2,
$gdate,$op;

$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname,$link);

$sql="select * from tbl_admin_download where uid=$id";
$result=mysql_query($sql,$link)or die(mysql_error());

if(mysql_affected_rows($link)>0)
{
$row=mysql_fetch_assoc($result);


$sql1="delete from tbl_admin_download where uid=$id";
$result1=mysql_query($sql1,$link);

if(file_exists("../download/".$row['file']) && result1)
{
unlink("../download/".$row['file']);
}


echo'<meta http-equiv="refresh" content="1;url=admin_download.php" />';
die();

}

رضا قربانی
چهارشنبه 17 آذر 1389, 15:25 عصر
خب منم می دونم . گفتم تا شما برام اضافه کنید


این کد فقط از بانک اطلاعاتی آدرسش رو پاک می کنه

حالا هم ممنون می شم تا کمکم کنید
با تشکر

hossin.esm
چهارشنبه 17 آذر 1389, 16:49 عصر
من کد حذف را در پست قبلی اضافه کردم فقط شما دقت نکردید