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

تصحيح كود يختبر حقل من سجل في sql

بدأه السندبااد في 27 ديسمبر 2011 · 9 رد · 983 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ، وبعد :

قمت بإنشاء صفحة على موقعي وربطتها بقاعدة بيانات الموقع sql

كله تمام والحمد لله فأستطيع أن أضيف من خلالها وأن أعرض البيانات وكل شيء تمام

ولكن هنالك جزئية تتعلق بالجمل الشرطية لم أستطع عملها ، وهي :

أريد أن أقول للبرنامج :

إذا كان السجل الرابع من الحقل id قيمته تساوي 3 فلا تنفذ المطلوب وإلا قم بالتنفيذ

طبعاً الحقل id موجود ضمن جدول اسمه book

إليكم الكود والخطأ في السطر الأول فأرجو المساعدة في تصحيحه :


{echo"السجل المطلوب موجود ولن يتم الإضافة";}
else
{echo"السجل المطلوب غير موجود وسيتم الإضافة";
mysql_query("INSERT INTO book (name,author) VALUES ('".$name."', '".$author."')");
}
if($id=3)

:)

تحياتي لكم

فاعلم أنه لا إله إلا الله

#2

لماذا لا تستخدم auto increment

فى جدول ال id فى قاعدة البينات وسوف سوف يقوم بأنشاء الايدى تلقائى بدون ان تقوم باخراج اخر اى دى ثم تقوم بانشاء ايدى من البى اتش بى فهذا سوف يأخذ استعلامات كثيره وسوف يطول فى الكتابه

فكل ما عليك ان تقوم بالدخول الى جدول id وتختار auto increment وسوف يسهل ويختصر كل هذا عليك وسوف يقوم بانشاء الايدى الجديد تلقائى بنائآ على اخر ايدى وقف عنده اذا كان 3 سوف يقوم باخراج 4

ولمعرفه الايدى الذى سوف يقوم بانشائه

بعد الادخال قم بتنفيذ هذا

$lastid = mysqll_insert_id();

echo $lastid;
#3

شكراً لك أخ aldesha989 لكن يبدو أنك لم تفهمني جيداً

الحقل بالفعل هو ترقيم تلقائي ولكن دعني أوضح لك طلبي ودعك من حقل id

ما أريده هو الإضافة بشرط كالتالي :

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

فاعلم أنه لا إله إلا الله

#4

عليك ان تقوم بأنشاء استعلام رئيسى بالاعلى ويقوم بالبحث عن الاسم متواجد او لا

$query = mysql_query("SELECT * FROM `book` WHERE `name` LIKE '%$name%'") ;
$nums = mysql_num_rows($query);
if ($nums == '0')
{
echo"السجل المطلوب غير موجود وسيتم الإضافة";
mysql_query("INSERT INTO book (name,author) VALUES ('".$name."', '".$author."')");
}
else
{
echo"السجل المطلوب موجود ولن يتم الإضافة";}

}

اذا لم يكن هذا هو المقصود برجاء التوضيح اكثر

2
#5

أشكرك على صبرك أخ aldesha989 ولكن في الكود الذي كتبته حضرتك :

أين الجزئية التي تختبر الحقل الرابع من السجل name لترى هل يحتوي على عبارة sndybad ؟

فاعلم أنه لا إله إلا الله

#6

جرب تغير الكود

if($id=3)

بهذا الكود

if($id==3)

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#7

أخ فيصل جربت ما تفضلت به ولكن لم ينجح

لم أكن أعلم أن السؤال بهذه الصعوبة

لقد وضعت لكم صورة لما أريده وهذه هي :

post-113645-070663800 1325022066_thumb.j

المرفقات
sql.jpg

فاعلم أنه لا إله إلا الله

#8

الآن وصلت للحل وهو :


$nums = mysql_num_rows($query);
if ($nums == '0')
{
echo"السجل المطلوب غير موجود وسيتم الإضافة";
mysql_query("INSERT INTO book (name,author) VALUES ('".$name."', '".$author."')");
}
else
{
echo"السجل المطلوب موجود ولن يتم الإضافة";}
$query = mysql_query("SELECT * FROM `book` WHERE `name` = 'sndybad' ") ;

وهو نفس الحل الذي أضافه الأخ aldesha989 مع تعديل في السطر الأول ومسح { الإضافية الموضوعة في آخر الكود

:)

شكراً لكم جميعاً وشكراً للأخ aldesha989 وتم ترشيح إجابتك

ليتك توضح لي هذا السطر :

if ($nums == '0')

لماذا وضعنا الصفر ولم نضع رقمنا غيره ؟ بماذا يوحي الصفر ؟

تم تعديل هذه المشاركة بواسطة السندبااد في 28 ديسمبر 2011 في 01:54

فاعلم أنه لا إله إلا الله

#9
اقتباس
لماذا وضعنا الصفر ولم نضع رقمنا غيره ؟ بماذا يوحي الصفر ؟

التوضيح

تم وضع الاستعلام عن الاسم في متغير

$query = mysql_query("SELECT * FROM `book` WHERE `name` = 'sndybad' ") ;

ثم قام بعد عدد السطور في ناتج الاستعلام

$nums = mysql_num_rows($query);

ثم وضع شرط اذا ناتج الاستعلام == صفر فسينفذ " السجل المطلوب غير موجود وسيتم الإضافة "

if ($nums == '0')

===

1

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#10

بارك الله فيك أخ فيصل الآن فهمت جيداً

الاستعلام السابق قام بعد عدد مرات تواجد عبارات sndybad فوجدها 1

وبالجملة الشرطية نحن قلنا له إن كانت صفر (أي غير موجودة) فنفذ

رائع !! لقد استنتجت من ذلك أنها لو كانت موجودة أكثر من مرة

وكان شرطي أن تكون موجودة مرة واحدة حتى يتم الإضافة لوضعنا الرقم واحد مكان الصفر

أي إن كانت موجودة مرة واحدة نفذ وإلا لا تنفذ ..

بارك الله فيكم أيها الأساتذة وألف تحية لكم

:)

فاعلم أنه لا إله إلا الله

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