الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة فى ظهور صورة الخبر بعد التعديل على الخبر مهم جدا

بدأه fatmaali في 20 سبتمبر 2012 · 8 رد · 739 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي سكربت اخباري بسيط مجرد صفحة لعرض الاخبار وصفحة اخري لاضافة الخبر واخرى للتعديل علي الخبر

بالنسبة لاضافة الخبر يتم اضافة الخبر وصورته بشكل جيد ويظهر جميع ما قمت باضافته فى صفحه العرض من الصورة للعنوان الخبر وتفاصيلة ايضا

المشكلة تاتى عندما اريد تعديل الخبر .

فيمكن ان اقوم بتعديل العنوان او التفاصيل فقط ولا اقوم بتعديل صورة الخبر اريد تركها كما رفعتها اول مرة .. لكن المشكلة عندما لا اقوم برفع صورة مرة اخرى واقوم بعمل تعديل يقوم بتعديل جميع المعلومات ويحذف الصورة التى قمت برفعها عند اضافة الخبر

علما بان هذه هي صفحة ادخال الخبر فى قاعدة البيانات

<?
include("config.php");
					$picat=time();
					$upload_dir = "../pic/";
					$upload_url = $url_dir."../pic/";
					$temp_name = $_FILES['pic']['tmp_name'];
					$file_name = $_FILES['pic']['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,pic,sup) values ('$titel','$picu','$sup')";
$Result=mysql_query($insert);

if($Result)
{
echo"تم الاضافة بنجاح";
}
?>

وهذه هي صفحة تعديل الخبر

<?
					$picat=time();
					$upload_dir = "../pic/";
					$upload_url = $url_dir."../pic/";
					$temp_name = $_FILES['pic']['tmp_name'];
					$file_name = $_FILES['pic']['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_no="update news set titel='$titel',pic='$picu',sup='$sup' where id='$id'";
$Result1=mysql_query($update_no);
if($Result1)
{
?>
تم التعديل بنجاح
<?
}
?>

وهذة هي صفحة عرض الخبر

<table border="0" cellpadding="0" dir="rtl" width="550" cellspacing="1">
										<tr>

											<td height="23" align="center" colspan="2">
											<font color="#0089B1" size="2" face="Tahoma"><span lang="en-us">
											<?=$title?></span></font></td>
										</tr>
										<tr>
											<td height="69" width="15%" align="center">
											<p align="center">
								<font size="2">
								<img border="0" src="pic/<?=$pic;?>" width="87" height="69" style="border:0px solid #F0F0F0; "></a></font></td>
											<td align="center" width="84%">
											<font color="#666666" size="2">
											<?=$sup?></span> </font></td>
										</tr>
									</table>
#2

السلام عليكم

فى هذا الكود :

$update_no="update news set titel='$titel',pic='$picu',sup='$sup' where id='$id'";

يمكنك إزالة الجزء الخاص بتعديل مسار الصورة من كود التحديث لقاعدة البيانات ليصبح هكذا :

$update_no="update news set titel='$titel',sup='$sup' where id='$id'";

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#3
ahmedsaoud31 كتب:

السلام عليكم

فى هذا الكود :

$update_no="update news set titel='$titel',pic='$picu',sup='$sup' where id='$id'";

يمكنك إزالة الجزء الخاص بتعديل مسار الصورة من كود التحديث لقاعدة البيانات ليصبح هكذا :

$update_no="update news set titel='$titel',sup='$sup' where id='$id'";

اعرف هذة النقطه اخي ولكن ماذا ان اردت تعديل الصورة مرة اخرى !!!

الموضوع هوا ان يظل مستعرض الصورة على حاله يبقى على الصورة التى رفعتها مسبقا ولا يحذفها الا فى حاله ان رفعت صورة جديدة يقوم بتبديلها هل وضحت الفكرة ؟

#4

لا اعلم إذا كانت الطريقة ستنفع لكن جرب

تسوي مربع رفع الصور فيه

كود php يعرض مساره او معلوماته حسب ماعندك وإذا ارسلتها بيرسلها نفسها لو غيرتها بيرسلها

للعلم مادري إذا بتنفع او لا

#5

اسفة على التاخير بس كنت غير متواجدة لكن المشروع مرفق به الصفحات مع القاعدة

وصفحة عرض الاخبار المضافة ايضا

انتظر الرد

http://soq-ae.com/news.zip

تم تعديل هذه المشاركة بواسطة fatmaali في 26 سبتمبر 2012 في 01:15

#6

السلام عليكم

جربى هذا الكود :

$query2 = mysql_query("select * from news where id='$id'");
if(mysql_num_rows($query2)==1){
    $getPath;
    while($raw=mysql_fetch_array($query2))
    {
    	$getPath=$raw["pic"];
    }
    if($getPath==$picu)
    	$update="update news set  titel='$titel',note='$note' where id='$id'";
    else
    	$update="update news set  titel='$titel',pic='$picu',note='$note' where id='$id'";
}

تم تعديل هذه المشاركة بواسطة ahmedsaoud31 في 28 سبتمبر 2012 في 10:20

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#7

لم يفلح الكود ارجو ان توضح لك الكود كامل حق صفحة الابديت وصفحة الايديت

edite & update

لقد وضعت الكود كما هوا بصفحة الابديت ولكنه لم ينجح عند التعديل هل هناك شيئ ناقص بصفحة تعديل المدخلات نفسها الايديت edite ? ارجو توضيح الكود اذا تكرمت حق الصفحتين

تم تعديل هذه المشاركة بواسطة fatmaali في 28 سبتمبر 2012 في 04:12

#8

السلام عليكم

سأشرح لك الكود السابق :

الفكرة هى أننى أقوم بمقارنة القيمة المدخلة لمسار الصورة بحقل مسار الصور فى قاعدة البيانات فإن وجد هذا المسار لا يتم تحديث هذا المسار للصورة ولو وجد إختلاف يتم تبديل مسار الصورة بالمسار الجديد فى قاعدة البيانات .

$query2 = mysql_query("select * from news where id='$id'");

كود جلب محتويات الحقل الحالى على حسب الـid

if(mysql_num_rows($query2)==1){

شرط إذا كانت هناك قيمة تم إحضارها من قاعدة البيانات وأضع 1 لأن حقل الـid حقل مفتاحى أى لا يتكرر فتكون النتيجة إما الحقل موجود 1 أو غير موجود 0

$getPath; متغير لحفظ مسار الصورة المخزن فى قاعدة البيانات للـid الحالى .

	while($raw=mysql_fetch_array($query2))
	{
    	$getPath=$raw["pic"];
	}

لتخزين القيمة فى المتغير $getPath , وفى الكود السابق كنت أضع $raw["id"] بدل من $raw["pic"] ولهذا لم يعمل الكود معك فى المرة السابقة "تم تعديل الكود فى المشاركة السابقة".

	if($getPath==$picu)
    	$update="update news set  titel='$titel',note='$note' where id='$id'";
	else
    	$update="update news set  titel='$titel',pic='$picu',note='$note' where id='$id'";

هنا فى حالة تساوى القيمتين وهى القيمة المدخلة والقيمة فى قاعدة البيانات لا يتم التحديث وإلا يتم التحديث .

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#9

جزاك الله خيرا طيب هل عندما يطابق القيمه حق الصورة المدخله ويلاقيها كما هي حضرتك بتقول لا يسوي ابديت ؟ هل هذا على جميع المدخلات يعنى ايضا اسم الخبر وتفاصيلة ؟ ولا الصورة فقط ؟

يعنى المقصود يقوم بالتعديل على جميع المدخلات معدا الصورة فقط لو لم يتم رفع صورة جديدة ؟

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…