السلام عليكم اخواني الافاضل والله هناك مشكلة لدي وان شاء الله الاقى جلها بين ايديكم باذن الله
عندى سكربت اخباري بسيط جدا مجرد اضافة خبر وتعديل الخبر وصفحة لعرض الاخبار المضافة
حقول الخبر
اسم الخبر = titel
صورة الخبر = pic
تفاصيل الخبر =note
اول شي ارفق لكم قاعدة البيانات
-- -- بنية الجدول `news` -- CREATE TABLE `news` ( `news_id` int(11) NOT NULL auto_increment, `titel` varchar(255) default NULL, `pic` varchar(255) default 'noimage.jpg', `note` longtext, PRIMARY KEY (`news_id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1256 AUTO_INCREMENT=47 ; -- -- إرجاع أو إستيراد بيانات الجدول `news` --
صفحة الاتصال الخاصة بالاسكربت config
<?
$dbserver="localhost";
$dbuser="root";
$dbpass="root";
$dbname="news";
$connect=mysql_connect($dbserver,$dbuser,$dbpass);
$select=mysql_select_db($dbname,$connect) or die ("åäÇß ÎØÇÁ Ýì ÇáÇÊÕÇá ÈÇáÞÇÚÏÉ ");
mysql_query("set character_set_server='cp1256'");
mysql_query("set names cp1256");
extract($_REQUEST);
?>
<meta http-equiv=content-type content=text/html;charset=windows-1256>
ناتي لصفحة ادخال الخبر بقاعدة البيانات
<form name=form1 method="POST" action="insert_news.php" enctype="multipart/form-data">
<div align="center">
<input name="titel" size="34" dir="rtl" value="عنوان الخبر" ><p>
<input type="file" name="icon" size="13" dir="ltr" ></p>
<p>
<textarea name=note id=sup rows=8 cols=36>
تفاصيل الخبر
</textarea></div>
<p align="center">
<input class="btn" value="اضافــة " type="submit" ></p>
</p>
</form>وهذه صفحة ادخال الحقول بالقاعدة باسم ...
insert_news.php
<?
include("config.php");
$upload_dir = "pic/";
$upload_url = $url_dir."pic/";
$temp_name = $_FILES['icon']['tmp_name'];
$file_name = $_FILES['icon']['name'];
$file_name = str_replace("\\","",$file_name);
$file_name = str_replace("'","",$file_name);
$ext=strstr($file_name,'.');
$picu="ideacoder_".$picat.$ext;
$file_path = $upload_dir.$picu;
$ext = str_replace(".","",$ext);
if($ext=='jpg' || $ext=='JPG' || $ext=='gif' || $ext=='GIF' || $ext=='png' || $ext=='PNG' || $ext=='bmp' || $ext=='BMP' ) {
move_uploaded_file($temp_name, $file_path);
$picu=$picu;
$fsize=filesize("$file_path");
}
$insert="insert into news (titel,picat,note) values ('$titel','$picu','$note')";
$Result=mysql_query($insert);
if($Result)
{
echo"تم الاضافة بنجاح";
}
?>
فى هذة الصفحتين ليست هناك اى مشكلة فيقوم برفع الصورة مع الخبر بشكل طبيعي جدا
المشكلة تاتى عندما اريد تعديل الخبر فمثلا فى بعض الاحيان تريد تعديل العنوان فقط او التفاصيل فقط او الكل او الصورة فقط
عندما اقوم مثلا بتعديل العنوان يعدل بشكل طبيعي لكنه يحذف الصورة التى كنت قد قمت برفعها سابقا
ونفس الشيئ لو التفاصيل
والحل انى اقوم برفع نفس الصورة مرة اخرى من اجى ان تبقى كما هي
ما اريدة هوا الاتى انه اذا قمت بالتعديل ولم اقم بتعديل الصورة لا يلغى الصورة السابقة تبقى كما هي بدون تغير واذا اردت تعديل عنوان فقط او تفاصيل فقط يعدلهم بدون ما يشيل الصورة القديم
واذا اردت تعديل الصورة فقط يعدلها ايضا بشكل طبيعي وليس كما هوا الحال الان
لقد حاولت ان اضع ادارة شرطية تتحق من ان كان الحقل الخاص بالصور فارغ واذا فارغ تحط الصورة القديمه واذا مش فارغ تحط الصورة الجديدة لكن الحقيقه لم اعرف كيف يكون وكيف اكتبة مع هذا الكود ولا يكون هناك مشكلة بالنسبة له ارجو الحل اخواني الافاضل
وهذا ملف تعديل الخبر
editn.php
<form name=form1 method="POST" action="update_news.php" enctype="multipart/form-data">
<input name=news_id value="<?=$news_id;?>">
<input type="text" name="prod_name2" size="34" dir="rtl" value="<?=$prod_name2;?>"><p>
<input type="file" name="icon" size="20" dir="ltr "></p>
<p>
<textarea name=note id=sup rows=4 cols=30><?=$note;?></textarea></div>
<input class="btn" value="تعديــــل" type="submit"></p>
</form>
وهذه صفحة الابديت الخاصة بتعديل المدخلات داخل القاعدة
<?
include("config.php");
$upload_dir = "pic/";
$upload_url = $url_dir."pic/";
$temp_name = $_FILES['icon']['tmp_name'];
$file_name = $_FILES['icon']['name'];
$file_name = str_replace("\\","",$file_name);
$file_name = str_replace("'","",$file_name);
$ext=strstr($file_name,'.');
$picu="ideacoder_".$picat.$ext;
$file_path = $upload_dir.$picu;
$ext = str_replace(".","",$ext);
if($ext=='jpg' || $ext=='JPG' || $ext=='gif' || $ext=='GIF' || $ext=='png' || $ext=='PNG' || $ext=='bmp' || $ext=='BMP' ) {
move_uploaded_file($temp_name, $file_path);
$picu=$picu;
$fsize=filesize("$file_path");
}
$update_cat=mysql_query("update news set titel='$titel',note='$note',pic='$picu' where news_id ='$news_id'");
if($update_cat)
{
?>
تم التعديل بنجاح
<?
}
?>
طبعا المفروض ارفق لكم صفحة عرض الاخبار والى منها تختار تعديل عشان الصفحة تاخد رقم ايدي الخبر
<table border="1" cellpadding="0" cellspacing="3" style="border-collapse: collapse" width="500" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" height="65">
<tr>
<td align="center" bgcolor="#606060" background="blockbg.png" width="150" height="30">
<font color="#FFFFFF" face="Tahoma" size="2"><b>تعديل</b></font></td>
<td align="center" bgcolor="#606060" background="blockbg.png" height="30">
<b>
<font color="#FFFFFF" face="Tahoma" size="2"><span lang="ar-sa">
اسم المشرف</span></font></b></td>
</tr>
<tr>
<?
include("config.php");
$select="select * from news where news_id>=1";
$Result=mysql_query($select);
while($Row=mysql_fetch_array($Result))
{
extract($Row);
?>
<td align="center" bgcolor="#F7F7F7" width="150"><b><a href="editn.php?news_id=<?=$news_id;?>">
تعديل</a></b></td>
<td align="center" bgcolor="#F7F7F7" width="228">
<font color="#606060"><?=$titel;?></font></td>
</tr>
<?
}
?>
انتظر الحل ارجوكم