نظرة سريعة على مجريات يوم سوالف
إصلاح مشاكل البحث بالكامل

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو سوبر نشيط
تاريخ التسجيل: Aug 2004-
#1 (permalink)  
سؤال : بناء مصفوفة التأكد من وجود الأسم مسبقاً من خلال القاعدة


السلام عليكم
قمت بالأنتهاء من تطوير برمجية سكربت معجم معاني الأسماء
واضفت خاصية السماح بأضافه الأسماء ومعانيها للجميع سواء كانو زوار او أعضاء

لكن اكتشفت أنه هنا من يضيف اسماء تمت اضافتها سابقاً

لذلك أريد أن اضيف مصفوفه في ملف add.php
تقرأ من قاعدة البيانات اذا كان الاسم موجود يطبع موجود ولا تتم اضافته
واذا كان مو موجود يطبع غير موجود ويقوم باضافتة للقاعدة

أنا نجحت في تحقيق طباعة ان الأسم موجود أو غير موجود
لكن لم انجح في ايقاف اضافة الاسم للقاعدة وسؤال : بناء مصفوفة التأكد من وجود الأسم مسبقاً من خلال القاعدة بوجود رسالة خطأ (هذا الأسم موجود مسيقاً)



كود:
$Title = $_POST[Title];
$SQL = mysql_query( "select * from arb_name where Title='$Title' " );
$isset = mysql_num_rows($SQL);
if($isset == '0'){
echo " الاسم غير مدخل مسبقا ";
}else{
echo " هذا الاسم مدخل مسبقا ";
}

علماً ان اسم
حقل الأسماء هو : Title
واسم التيبل هو : arb_name


وهذا ملف add.php كامل مع المصفوفه التي قمت بإضافتها


كود:
<?

include("header.php");
include("functions.php");
include("config.php");

if ("إرســال" == $submit) {
$sql = "INSERT INTO arb_name SET " .
"Author='$Author', " .
"Title='$Title', " .
"Description='$Description', " .
"Article='$Article' ";

if($Title == "" || $Description == ""){
echo "لم تقم بملأ جميع الحقول المطلوبة!";
exit();
}

// فحص البريد الإلكتروني
     if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$",  $Email) &&  $Email  !=  "") { 
         echo "بريدك الالكتروني غير صحيح!";
		exit();
    }
// التأكد من عدم وجود الاسم مسبقاً
$Title = $_POST[Title];
$SQL = mysql_query( "select * from arb_name where Title='$Title' " );
$isset = mysql_num_rows($SQL);
if($isset == '0'){
echo " الاسم غير مدخل مسبقا ";
}else{
echo " هذا الاسم مدخل مسبقا ";
}


if (mysql_query($sql)) {
MTS();
echo("تم إضافة  الأسم بنجاح .. سيتم نقلك إلى الصفحة الرئيسية.");
MTE();
echo ("<meta http-equiv='Refresh' content='3; URL=index.php'>");
exit();
}

else {
echo("<P>خطأ: " .
mysql_error() . "</P>");
}
}

else { ?>

<FORM ACTION='<? $PHP_SELF ?>' METHOD=POST>
<table>
<tr>
	<td>الأسم:</td>
	<td><INPUT TYPE=TEXT NAME='Title' size='53'></td>
</tr>
<tr>
	<td valign="top">المعنى</td>
	<td><TEXTAREA NAME='Description' ROWS=5 COLS=40 WRAP>
</TEXTAREA></td>
</tr>


<tr>
	<td>المرسل:</td>
	<td><INPUT TYPE=TEXT NAME='Author'></td>
</tr>
<tr>
	<td></td>
	<td><INPUT TYPE=SUBMIT NAME='submit' VALUE='إرســال' style="background-color : #E4E4CB; color: #000000; text-align: center; line-height: 150%; font-size: 8pt; font-family: Tahoma; border: 1 solid #000000"></td>
</tr>
</table>
</FORM>

<div align="center"><a href="index.php">إلغاء الأمر، عودة إلى الصفحة الرئيسية.</a></div>

<?
}
include("footer.php");
?>
اتمنى المساعدة وشكرا لكم






مشراق متواجد حالياً   قديم 11-04-2007, 09:15 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: May 2006-
#2 (permalink)  

جرب التالي


كود PHP:
$Title $_POST[Title];
$SQL mysql_query"select * from arb_name where Title='$Title' " );
$result mysql_fetch_array($sql);


if(
$result){ 
echo 
" هذا الاسم مدخل مسبقا ";

else {
echo 
" الاسم غير مدخل مسبقا ";







الإمبراطور وحيد غير متواجد حالياً   قديم 11-04-2007, 12:37 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2004-
#3 (permalink)  

حياك اخوي الأمبراطور

ظهر خطأ في دالة اظهار النتائج التي اضفتها

كود:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\name\add.php on line 32
اخوي الأمبراطور ما أريدة هو عدم اضافة الأسم في قاعدة البيانات في حال كان موجود مسبقاً

وايضأ ايقاف هذه المصفوفة وعدم ظهورها
كود:
if (mysql_query($sql)) {
MTS();
echo("تم إضافة  الأسم بنجاح .. سيتم نقلك إلى الصفحة الرئيسية.");
MTE();
echo ("<meta http-equiv='Refresh' content='3; URL=index.php'>");
exit();
}
ويظهر بدل منها رسالة خطأ ( هذا الأسم موجود مسبقاً ) ولا تتم أضافتة في قاعدة البيانات


في انتظار المساعدة ،،،






مشراق متواجد حالياً   قديم 11-04-2007, 12:59 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2004-
#4 (permalink)  

الحمد لله بعد عدة محاولات استطعت حلها بنفسي

وهاذه المصفوفة بشكلها النهائي

كود:
// التأكد من عدم وجود الاسم مسبقاً
include ("config.php"); 
$Query= mysql_query("SELECT Title FROM arb_name WHERE Title='$Title'"); 
while($row=mysql_fetch_array($Query)){ 
 echo "اسم المستخدم موجود مسبقا"; 
 exit ; 
} 


if (mysql_query($sql)) {
MTS();
echo("تم إضافة  الأسم بنجاح .. سيتم نقلك إلى الصفحة الرئيسية.");
MTE();
echo ("<meta http-equiv='Refresh' content='3; URL=index.php'>");
exit();
}






مشراق متواجد حالياً   قديم 11-04-2007, 03:04 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Jul 2003-
#5 (permalink)  

لو كان لابد انك تستخدم كويري خاص .. يمكنك استخدام هذا لأنه اسرع :
كود PHP:
$sql mysql_query("SELECT count(Title) AS number FROM arb_name WHERE Title='$Title'");
$row mysql_fetch_assoc($sql);
if (
$row['number'] > 0){
echo 
"موجود من قبل";


تحياتي






__________________
النسخة الثانية من ابلود بلس قريبا جدا :
+ شريط مئوي لرفع الملفات
+ دعم اكثر من سيرفر لرفع الملفات Multi-Server
+ مكتبة ملفات مؤرشفة
Egyptechno غير متواجد حالياً   قديم 11-04-2007, 03:20 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2004-
#6 (permalink)  

رائع لكنه لا يضيف الأسم الغير موجود في القاعدة

الق نظرة على السكربت
وعطني رأيك فيه من جميع النواحي وخصوصاً ناحية السرعة ،،

على شكل فورم موديل في المجلة
http://www.msrag.com/index.php?pid=28
أو من خلال الرابط المباشر
http://www.msrag.com/mkportal/name/index.php






مشراق متواجد حالياً   قديم 11-04-2007, 09:15 PM
رد مع اقتباس
رد


أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 11:43 PM بتوقيت المملكة العربية السعودية