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

عمل منتدى بسيط با ASP

مغلقرائج
بدأه عبدالرحمن المعزاب في 1 يناير 2002 · 122 رد · 27,619 مشاهدة · في مشاريع منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#51

الأقتراح الأول ::

حفظ بيانات الأعضاء المتصلين حاليا ....

طريقة بسيطة و عملية لحفظ بيانات الأعضاء المتصلين حاليا

، و أستخدام هذا البيانات لعرض أسماء الأعضاء المتصلين حاليا

في الصفحة الرئيسية في المنتدى ، و في صفحة المواضيع ......

الطريقة::

يتم حفظ أسماء الأعضاء و أرقامهم و تاريخ الأتصال في مصفوفة ثنائية

الأتجاه و تحفظ هذه المصفوفة في متغير عام Application

شكل المصفوفة:

الرقم الأسم التاريخ

1 أبو تركي 1/1/2002

2 محمد 1/1/2002

... .... .....

م .... .....

كود الأقتراح الأول :::

حفظ بيانات الأعضاء المتصلين حاليا ....

Const RefreshRate=5
Const ConsiderOffLineAffter=5

Sub OnLine_AddUser(Name,ID)
Dim OnLineUsers
Dim Loc
OnLineUsers=Application("OnLineUsers")
if Not IsArray(OnLineUsers) Then
Redim OnLineUsers(2,0)
Loc=0
Else
Loc=UBound(OnLineUsers,2)+1
Redim Preserve OnLineUsers(2,Loc)
end if
OnLineUsers(0,Loc)=ID
OnLineUsers(1,Loc)=Name
OnLineUsers(2,Loc)=Now
Application.Lock
Application("OnLineUsers")=OnLineUsers
Application.unLock
End Sub 

Function OnLine_GetOnlineList()
Dim OnLineUsers
Dim n,HTML
OnLineUsers=Application("OnLineUsers")	
HTML=""
if isArray(OnLineUsers) Then 
for n=0 to UBound(OnLineUsers,2)
HTML=HTML & _
"" & _
OnLineUsers(1,n) & "" 
if n<> UBound(OnLineUsers,2) then HTML=HTML & ","
next
end if
OnLine_GetOnlineList=HTML
End Function 

Sub OnLine_RefreshOnlineList()
Dim OnLineUsers
Dim OnLineUsers_Refresh
Dim n,LastRefreshTime
Dim HowManyOffLineUser
OnLineUsers=Application("OnLineUsers")	
LastRefreshTime=Application("LastRefreshTime")	
if Not isDate(LastRefreshTime) Then LastRefreshTime=Now
HowManyOffLineUser=0
if  Not isArray(OnLineUsers)  OR _
DateDiff("n",LastRefreshTime,Now)Application.Lock
Application("LastRefreshTime")=LastRefreshTime
Application.unLock	
Exit Sub
end if

for n=0 to UBound(OnLineUsers,2)
If DateDiff("n",OnLineUsers(2,n),Now)>ConsiderOffLineAffter Then
OnLineUsers(0,n)=-1
HowManyOffLineUser=HowManyOffLineUser+1
End if
next

if HowManyOffLineUser=0 Then Exit Sub
Dim HowManyOnline
HowManyOnline=UBound(OnLineUsers,2)-HowManyOffLineUser
Redim OnLineUsers_Refresh(2,HowManyOnline)
for n=0 to UBound(OnLineUsers_Refresh,2)
If OnLineUsers(0,n)<>-1 Then
OnLineUsers_Refresh(0,n)=OnLineUsers(0,n)
OnLineUsers_Refresh(1,n)=OnLineUsers(1,n)
OnLineUsers_Refresh(2,n)=Now
End if
next	
Application.Lock
Application("OnLineUsers")=OnLineUsers_Refresh
Application("LastRefreshTime")=LastRefreshTime
Application.unLock
End Sub 

Function OnLine_IsOnline(ID)
Dim OnLineUsers
Dim n
OnLineUsers=Application("OnLineUsers")	
if isArray(OnLineUsers) Then 
for n=0 to UBound(OnLineUsers,2)
if OnLineUsers(0,n)=ID Then 
OnLine_IsOnline=True
Exit Function
End if
next
end if
OnLine_IsOnline=False
End Function

لتشغيل الكود:

أحفظ هذا الكود في ملف ليكن أسمه

OnlineFriends.asp

و أضفة في المف العام للمنتدى

و أضف هذا الكود في الملف العام

Call OnLine_RefreshOnlineList()

لأضافة المستخدمين

أضف هذا الكود في دالة الدخول إلى المنتدى

Call OnLine_AddUser(Name,ID)

في الكود أعلاه:

Name = أسم المشترك

ID = رقمه

#52

الأقتراح الثاني:

هناك ثلاث صفحات رئيسية في المنتدى

1- الصفحة الأولى

2- صفحة المنتديات

3- صفحة المواضيع

في هذه الصفحات السلبيات التالي :

1-التصميم الحالي للمنتدى لايمكن للمستخدمين العادين التغيير في تصميمة

2- حتى المبرمجين يواجهون صعوبة في التغيير ، و في فهم الكود

3- هذه الصفحات هي عبارة عن كوكتيل من أكواد ال ASP و HTML

إجابيات التصميم المقترح :

1- يلغي كل سبيات التصميم السابق

2- صفحات ال ASP لأكواد ال ASP و بس ..

3- عمل أكثر من تصميم لنفس المنتدى و بسهوله أكثر من التصميم السابق

4- تتعلمون حاجة جديدة و مفيدة

و الكثير من الإجابيات ...

كيف لنا أن نحصل على هذا ؟؟؟؟

مثل ماقال أخوي محمد بدوي بال XML و ال XML

كيف ؟؟؟

1- الصفحة الأولى

2- صفحة المنتديات

3- صفحة المواضيع

في كل ملف نعمل التالي:

نستبدل جميع المحتويات بدالة واحدة لتحويل بيانات هذه الصفحة إلى XML

و بعد ذلك نستدعي دالة أخرى للتحويل هذه البيانات إلى HTML بالتصميم المختار

كالتالي:

<%
'Functions.asp	الملف العام للمنتدى
'
'أفتح قاعدة البيانات و نأخذ البيانات المطلوبة
'تحويل البيانات إلى  صيغة XML
Dim XSLTemplate 
'  التصميم المحتار من قبل المستخدم
'يمكن تخزين هذا المتغير في كووكي أو في قاعدة البيانات 
' أو من عنوان الصفحة  مثل
' page.asp?style=style1
Response.Write(  FormatXMLToHTML(XMLCode,XSLTemplate)  )
%>

و هناك سبب قوي يدفعك إلى هذا التصميم و هو ؟

أذا تم أستخدام قاعدة بيانات SQL 2000 من مايكروسوفت

يمكنك جلب البيانات على هيئة XML من قاعدة البيانات

#53

الأقتراح الثالث :: جمل ال SQL و قاعدة البيانات

لاحظ الجمل التالية:

1- INSERT INTO TABLE_NAME  (NumbericCol,TextCol,DateCol) Values (1,'Some Text' ,#1/1/2002#)
2- INSERT INTO TABLE_NAME  (NumbericCol,TextCol,DateCol) Values (1,'Some Text' ,'1/1/2002')

DateCol :عمود نوعة تاريخ من أي حجم كان ....

الجملة رقم#1 تعمل مع أكسس بس و الجملة الثانية لا تعمل على أكسس و لكنها تعمل على جميع قواعد البيانات ...

حل هذه امشكلة بسيط لو أنتبهت لهذا في بداية التصميم ، بس بعدين يصعب عليك

الحل :

dim SQL
SQL="INSERT INTO TABLE_NAME  (NumbericCol,TextCol,DateCol) Values (1,'Some Text' ," & FormatDateForSQL(DateValue,DbType )&");"

للتطبيق الحل عليك تعريف ثابت يحمل نوع قاعدة البيانات المتسخدمة

Dim DbType
DbType="access"
'DbType="mssql"
'DbType="mysql"

دالة تعديل التاريخ

Function FormatDateForSQL(DateValue,DbTypeStr )
dim dDate
select case lcase(DbTypeStr)
case "access"
dDate="#" & DateValue & "#"
case else
dDate="'" & DateValue & "'"
end select
FormatDateForSQL=dDate
End Function

ماذا تحصل بعد هذا

تحصل على منتدى يعمل على جميع أنواع قواعد البيانات

:::: تصميم قاعدة البيانات ::::::

أسماء الجداول ؟؟؟

أي جملة أفضل:::

SQL="INSERT INTO TABLE_NAME  (NumbericCol,TextCol,DateCol) Values (1,'Some Text' ,'1/1/2002')"
SQL="INSERT INTO " & Table_Prefix& "TABLE_NAME  (NumbericCol,TextCol,DateCol) Values (1,'Some Text' ,'1/1/2002')"

Table_Prefix == متتغير يحددة المستخدم عند تثبيت قاعدة البيانات لأول مرة

الجملة الأولى تفرض نفسها على المستخدم

الثانية تترك له الأختيار للتغيير أسماء الجداول

#54

أخي Mr.asp

قرأت جميع ردودك بتمعن أغلب الإقتراحات في محلها وهناك البعض قد تم تفعليها فعلا في اخر تحديث

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

بالنسبة لمشكلة الزمن فشكرا على هذة الملاحظة والكود

أما الزوار الموجودين حاليا فلقد إستخدمت طريقة أسهل بإستخدام

Dictionary

set objDictionart=server.CreateObject("Scripting.Dictionary")
Application("OnlineUser")=objDictionary

وهذة تغنيك عن الكود السابق كله

#55

المعذرة أخي Mr.asp

فقط لم أنتبه لردك بالنسبة للإمتداد *.inc لماذا تنصح بتغييره ل *.asp ؟

أيظا ياليت لو ترسل لي بالبريد الإلكتوني لكي أرسل لك بالكود أول بأول لتجربه عندك في الجهاز وتعطينا رأيك وملاحظاتك

سعيد بكل هذا النقد وسوف يكون في الإعتبار وسوف ترى التغييرات في التطوير القادم للمنتدى

سوف يتم التركيز على جهة المستخدم من ناحية

فصل الكود عن عناصر html من ناحية أخرى

كل هذا بعد التاكد من سلامة العلاقة بين الجداول وإكتمال الوضائف الأساسية

وفكرتي كانت هي إستخدام asp.net لكي يكون العمل جديد ومستخدم احدث التكلونجيا كما سوف نستخدم C# بدلا من VbScript

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

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

#56

أشكرك أخي على تجاوبك ...

ضبط الكمية التي ترسل الى المستخدم ؟؟

يمكنك ذلك بال ASP

كود الزوار المتصلين:

طريقتك هي الأفضل و لكنها لا تعمل على المستضيف المجاني

لأنها تحتاج إلى تفعيل ملف global.asp

و طريقتي تشتغل مع الأثنين

أنا كتبت هذا الكود لأن المنتدى يتم تجربته على سيرفر مجاني

أمتداد INC :

هذه الملفات يمكن للزوار تنزيلها و كشف محتوياتها

ASP.NET

VbScript ؟؟

أكيد تقصد

Visual Basic NET

ماراح تكون فكرة عملية ؟؟

الطلب على المنتدى راح يقل

و لا تنسى أن ملفات ال ASP تشتغل على ال NET

أذا بغيت أتطبق الفكرة أعمل نسخة مستقلة ..

أستخدم ال VBNET

عشاقها أكثر و مبرمجي ال C ماراح يواجهون صعوبة بالتعامل معها

أما مبرمجي ال VB راح يتعبون مع ال C ...

قاعدة البيانات::

أخي عبد الرجمن لم أقصد تصميم قاعدة البيانات

أسماء الجداول في جمل ال SQL تكون ثابته

في التصميم الحالي

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

كيف ؟؟

بسيطة:

يتم ذلك عن طريق تعريف أسم عام للجداول

مثل

ABB

و يكون أسم أي جدول في قاعدة بيانات المنتدى كاتالي

ABB+TableName

مثل

ABBmemeber

و لتفعيل الفكرة

قم بتعريف الأسم العام للجداول

Const TablePrefix="ABB"

و غيير جمل ال SQL

كالتالي

بدل

SQL="Select Col1,Col2 From TableName;"

إلى

SQL="Select Col1,Col2 From " & TablePrefix & "TableName;"

تترجم الجملة الأخيرة كالتالي

أذا كانت قيمة TablePrefix تساوي ABB

SQL="Select Col1,Col2 From ABBTableName;"

سؤال:

كيف أكتب الأكواد في المنتدى ؟؟

من اليسار إلى اليمين ..

#57

بالنسبة للطريقة فلا تحتاج ل global.asa

فيمكن تستخدم بدلا عن الإسم الزمن واكيد انت الأن عرفت الباقي :)

إيظا أنا لا أحب إبدا إستخدام المصفوفة ثلاثية لأنها تضعف من قدرة السرفر وهذا فقط من باب التعود على عدم إستخدامها كما أن dictionary موجوده على السرفر وانت تعرف أن COM أو الكود المبرمج من قبل يكون أسرع بالتنفيذ وفوق هذا أسهل وأكثر أمن وجميع المساحات المجانية تدعم هذة Commponent يعني ما في مشكلة

بالنسبة ل inc.* فلو لاحظت لم أستخدم غير ملف واحد وهو database.inc فسوف يتم تعديل التذييل مع أني لا أنوي الإبقاء على هذا الملف بسبب أن هذا الملف سوف يضاف إلى رأس الملف function.asp الذي يحتوي على الوضائف المشتركة بين الجميع

بالنسبة أنا لم أتكلم عن Vb.net وإنما عن asp.net وتستخدم لغة C#

وهي تعمل على الشبكة دون مشاكل ويمكن أن تستخدم Vb.net مع C# بنفس الوقت لكتابة الكود الكود في هذة الحالة يكون منفصل تماما عن عناصر HTML ويمكن أن تقراء المزيد عن .net

بالنسبة للجداول مع أني أرى أن المستخدم ليس في حاجة لإعادة تسمية الجداول مرة أخرى لأنه سوف يتعامل مباشرة مع لوحة التحكم التي سوف نكتبها له وليس له دخل في الجداول نهائيا

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

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

وإنتهى الأمر :) حتى الأن لم أعمل هذة الخطوة ولكنها لن تاخذ الكثير فقط كنت أنتضر ان أجد من ساعد في عمل editor مناسب لكي نحل جميع هذة المشكل وما بينها إضافة الصور وإضافة فونت مختلف وما إلى ذالك

على العموم أخي Ms.asp لقد أثرت أمور مهمة وملاحضاتك تدل على مستوى عالي في asp لا يستهان به

أكرر الطب إرسل لي بعنوانك على البريد mezab@ayna.com

لكي أرسل لك بالكود الأخير إذا كان لديك الوقت لتجربته

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

#58

لا يحتاج إلى global.asa هذا المفروض بس السيرفر شغال على البركة.. في ال ASP لا يمكنك حفظ كائنات ال COM في متغير Application أو Session من دون تعريف المتغير دالخل ملف ال global.asa .. بس يمكن السيرف يمشيها لك أذا كان ماشي على البركة ....

الجداول ::

التغيير يكون مرة واحدة عن عمل أعدادات المنتدى ، بهذه الطريقة تترك للمستخدم أختيار أسم عام للجداول ...

كثير من المستخدمين يستخدمون قاعدة بيانات واحدة لعدة برامج ، مع أختيار أسم عام لأسماء الجداول المستخدمة يختارة المستخدمة حتى يمنع حدوث أي تعارض مع أسماء الجداول الأخرى ...

و يستطيع المستخدم ، تركيب نسختين من المنتدى على نفس قاعدة البيانات مع تغير الأسم العام للجداول ....

أتمنى تكون فهمت قصدي ...

عن ال ASP.NET :

لايوجد فيها VbScript .. لغات مايكروسوفت المستخدمة

C#

Vb.NET

JavaScript.NET

و لغات أخرى ....

#59

أهلا بك Mr.ASP :) حقيقة اسعدني جدا وجودك بالمنتدى ... وكما ذكرت فالـVBS قد دمجت مع الـVB وأصبحت VB.NET .

بالنسبة للمحرر فسوف ارسل لك يا أخ عبدالرحمن المثال وجربه بنفسك واعطني رأيك فيه

#60

أخي أحمد ياليت ترسل بالمحرر في أقرب فرصة وشكرا

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

أخي Mr.Asp

إقراء هذا مرة أخرى هذا ما قلته بالضبط

_______________________________________________

وفكرتي كانت هي إستخدام asp.net لكي يكون العمل جديد ومستخدم احدث التكلونجيا كما سوف نستخدم C# بدلا من VbScript

________________________________________________

بدل من =instead of or inplace of

على فكرة البدل يكون بدل شيئ موجود لأن منتدانا الأن يعمل على VbScript

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

#61

السلام عليكم

مرحبا بك MR.ASP

الحقيقة اقتراحاتك رائعه جدا.....

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

ارجو توضيح الفكره والفائده المكتسبه منها؟

da3wa_7.jpg
#62

هذة الطريقة المقترحة تناسب التطوير في الموقع تخرج المعلومات المطلوبة على شكل xml من قاعدة البيانات وإرسالها فيما بعد على شكل html بعد إختيار الشكل XML+XSL=HTML أو XML+CSS=HTML

وبإستخدام Microsoft.XMLDOM

هي أحد إضافات ميكرسوفت موجودة في msxml.dll

يوجد الكثير من المعادلات التي يمكنها تكوين ملف XML

هذة الفكرةأفكرت بها من قبل ولكن ليست عملية في البداية بعد إكتمال الفكرة العامة للمنتدى يمكن التفكير في هذة الفكرة

هذة الفكرة تعطيك العديد من الميزات ولكن يجب أن تكون محدد شكل البيانات تفصل البيانات عن الشكل ويمكن أن تتعامل مع عدة قواعد بيانات دون الحاجة لتغيير الكود لأن الكود سيتعامل مع XML حتى الان ASP لا تقدم دعم كامل ل XML مثل JSP ولكن ASP.net تدعم XML دعم كامل لذالك التفكير بعمل هذة الفكرة ليس في الصعوبة ولكن هناك إعتبارات أخرى فالمنتدى الأن في وضع التطوير وعمل هذة الطريقة غير عملي يمكن أن تجرب بنفسك وتستخدم هذا الكائن وسوف تلاحظ أن المشكلة فقط تكمن في أنك سوف تظل تفكر كيف تعرض البيانات فقط ليس له أي علاقة ب برمجة ASP لذلك غالبا أستخدم أي طريقة للعرض إذا ثبتت طريقة العرض ممكن تستخدم هذة الطريقة شيئ أخر هذة الطريقة ليست عملية بالنسبة للمشاريع الصغيرة

يجب أن تكون لديك معلومات عن طريقة تكوين ملف XML القواعد الأساسية فقط

#63

الفكرة::

HTML هي وسيلة لحفظ و عرض البيانات

XML : لحفظ البيانات فقط

XSL : لعرض بيانات ال XML

الفائدة:

1- عزل كامل لأكواد ال ASP ، بجيث تكون جميع ملفات ال ASP خالية من نصوص ال HTML

2- سهولة عمل التصاميم للمنتدى، و تغيير التصميم بتغير ملفات ال XSL ..

3- أمكانية عمل أكثر من تصميم ....

4- تعلم شي جديد

الطريقة:

لتحويل البيانات الى XML :

الطريقة #1:

Rs.Open SQL,ADO

Dim XmlString,n

XmlString="<dataset>"

do while not rs.oef

  XmlString=XmlString & vbcrlf & "<data>"

  for n=0 to RS.Fields.count-1

  XmlString=XmlString & vbcrlf & "<" & lcase(Rs.Fields(n).name & ">"  &  _ 

  lcase(Rs.Fields(n).value & "</" & lcase(Rs.Fields(n).name & ">"

 next

  XmlString=XmlString & vbcrlf & "</data>"

rs.movenext

loop

XmlString=XmlString & "</dataset>"

Rs.Close

الطريقة#2 : مع أستخدام SQL Server 7

يكنك الحصول على بيانات ال XML من خلال أضافة كلمة لجملة ال SQL

Select * From MyTableName For XML

بعد ذلك يتم أستدعاء كاءن ال MsXML.DomDoucmnet لتحميل بيانات ال XML و كائن أخر من نفس النوع لتحميل ملف التصميم او ال XSL

و بجملة واحدة يتم ترجمة البيانات إلى HTML و يمكنك أيضا تحديد نسخة ال HTML 3 أو 4 ..

و هناك فائدة كبيرة ::

في صفحة المنتدى الرئيسية كم متغير فيها ؟؟

-- عدد أعضاء المنتدى

-- أخر عضو تم تسجيلة

-- أسماء المنتديات و أقسامها و عدد المواضيع و الردود و أخر تحديث

كل هذه البيانات يتم أستخراجها من قاعدة البيانات بأكثر من عملية طلب لنفرض أنها 4 طلبات على الأقل ...

لنفرض أن هناك 100 زائر متواجدين في الصفحة الرئيسية ؟

بالتصميم الحالي : سوف يكون هناك 400 طلب و 100 مستخدم لقاعدة البيانات في نفس الوقت تقريبا .....

بالتصميم المقترح:

يتم عمل نسخة للبيانات الصفحة الرئيسية مرة واحدة فقط و تحفظ في متغير Application كنص XML و يتم تغيير المتغيرات عند حدوث التغيير فقط ..

يعني مافية أي طلبات من قاعدة البيانات ...

مثال:

عند ورود رد جديد في المنتدى رقم 1 يتم تغيير التالي:

-- تاريخ أخر تحديث للمنتدى

-- أسم و رقم أخر كاتب

-- زيادة عدد الردود او المواضيع في هذا المنتدى و في المجموع العام

=========

لمعرفه المزيد عن هذه التقنية أقرا هذا الدرس

SQL Server 2000, XML and XSL: The Ultimate Combination

http://www.devarticles.com/art/1/41

=========

أخوي عبد الرحمن:

ASP تعدم ال XML دعما لابأس به و يفي بالغرض ...

Microsoft.XMLDOM في النسخة القديمة النسخة الحالية MsXML2.DomDocument في برنكستر النسخة 3

و مع متصفحات IE 5.5 و النسخة الجديدة 4 ....

أخوي عبد الرحمن : في ردي السابق كتبت عن تخفيف الضغط على قاعدة البيانات في الصفحة

الرئيسية ، من الفرضيات من 400 إلى 0 ....

كبداية راح أطبق هذه الفكرة : الصفحة الرئيسية للمنتدى بال XML ..

#64

أخي Mr.Asp مع إحترامي للفكرة وتشجيعي لك أيضا ولكن لا أرى أي جدوى من إستخدامها والتجربة خير برهان

السبب يكمن في الغاية والوسيلة ....

بالنسبة لمضوع الصفحة الرئيسية هل تتوقع أن أي قاعدة بيانات في العالم سوف تتأثر من إستخراج بيانات من جدول به 20 حقل أو30 حقل وهو جدول المنتديات !!

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

لنفترض أن عدد الزورا خيالي مثلا (مثل الصين حيث عدد الزوار في بعض المواقع في لحظة واحدة يصل لملايين :) )

فليس الحل في إستخدام XML بل في تقسيم السرفر

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

على ما قرأت فإن الغرض الأساسي ل XML :هو على سبي المثال إذا كنت تريد الحصول على بيانات من قاعدة بينات شركة ميكرسوفت مثلا يجب أن تعرف شكل الجداول وأسماء الحقول ولكن الأن يمكن أن تأخذ ما تريد من البيانات على شكل ملف XML ترسلها لك قاعدة البيانات ويتعامل معها البرنامج الذي أعددته او صفحة الإنترنيت يعني هي وسيلة لتبادل البيانات في المرتبة الأولى ترسل لك كمية ضخمة من البيانات ولها معنى أي أن البينات أصبحت تدل على معناها

المشكلة كانت تكمن في أن هذة البيانات وصلت كيف يتم عرضها

إذا إستقبلت البيانات ببرنامج مثلا VB أو Java هناك عدة عناصر تعرض XML

بالنسبة للمتصفح IE5 OR NC ما الحل

في البداية كانت CSS+XML تعرف عناصر XML ليمكن عرضها على شكل HTML ولكن CSS لم تقدم الكثير ل XML فبنيت لها XSL التي تساعد في عرض البيانات على شكل HTML

متى تكون XML مفيدة جدا ؟

إرسل وإستقبل البيانات اليومية أو لساعة كاملة مثلا من قاعدة بيانات السرفر وتضعها على شكل XML هذه البيانات الأفظل أن تكون للقرائة فقط مثلا أخبار اليوم فلست في حاجة أن يأتي كل زائر ويبحث في قاعدة البيانات ويستخرج فقط أخبار اليوم أو أخبار الساعة

في حالة المنتدى مثلا :_

قمت بوضع البيانات في ملف XML مثلا قام مدير المنتدى بحذف المنتدى سوف يحذف المنتدى من القاعدة ويضل في Application

سوف تقول نقوم أيضا بحذفه من Application وتنقيص عدد الردود في

وعدد المشاركات ونجعل أخر عشر مشاركات .........

أو قد تفكر سوف نأخذ البيانات من جديد ونضعها في Application

يعني أضفت على نفسك عباء لست في حاجة له

كلمة أخيرة إذا كنت تنوي خزن البيانات الصفحة الرئيسية فقط من أجل لا تحسب عدد الردود والمقالات والمسجلين لماذا لا تخزنها مباشرة في

Application("memebrNUm")=23

أعتقد أنها ستكون عمليه أكثر لأنك لن تخزن غير ثلاث بيانات

بالنسبة لتغيير الشكل يمكن أن تستخدم CSS وشيئ أخر في كود المنتدى سوف تجد ملف CSS إحذف الملف وإستعرض المنتدى مرة أخرى وشوف النتيجة :)

فصل الكود عن الHTML : إستخدام XML يفصل الكود عن HTM ويلصق الكود ب XML والبيانات :)

الفصل النهائي للكود عن HTML هو في ASP.net JSP

الفكرة من الناحية للتعلم الجديد لا بأس بها ولكنها بالنسبة للناحية العملية للأسف لن تكون ناجحة

#65

أخي عبدالرحمن الرجاء مراجعة بريدك

#66

-- بالنسبة للمتصفح IE5 OR NC ما الحل ؟

++ كلاهما يعرض ال HTML ، تقصد الخادم ، الخادم WIN NT 4 أو Win 2000 كائنات ال XML مثبتة مسبقا

-- بالنسبة لموضوع الصفحة الرئيسية هل تتوقع أن أي قاعدة بيانات في العالم سوف تتأثر ؟

++ بالنسبة للأكسس أكيد تتأثر ، بس أكيد يستخدم للتطوير فقط ، قواعد البيانات الخاصة بشركات الأستضافة

يكون لها BandWidth محدود عادة ، و عدد المستخدمين قد يكون محدد ، في ال SQL Server يستطيع

المشرف على قاعدة البيانات أن يحدد عدد المستخدمين .. الطريقة تساعد على الأقل بالتخلص من بعض

الضغط ...

-- أعتقد أن ذاكرة السرفر سوف تمتلئ بعد خزن البيانات في Application ؟

++ لا ،يمكنك حفظ كائن في متغير ال Application ، هذه أداه مفيد ، و هناك كائن خاص لهذا الغرض

و هو Msxml2.FreeThreadedDOMDocument ...

-- فصل الكود عن الHTML ..

++ يمكن عمل ذلك بال ASP عن طريقة القوالب ،و ال XML هي الأفضل لعمل هذا ...

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

مثال:

في صفحة عرض المواضيع في المنتدى رقم 1

هذي هي جملة ال SQL

Select * From Topics Join Members on Topics.PosterID=Members.ID Where forumID=1 for XML

و بعد ذلك يتم ترجمة ال XML إلى HTML عن طريق ال XSL

أو عرضها ك XML أذا المتصفح يدعمها ..

#67

على العموم التجربة خير برهان .........

إذا نجحت التجربة سوف نعمل بها بالتأكيد لما لا نحن نريد أن نكون دائما مواكبيين للتطور وقد اخبرتك من قبل أنها فكرة التطوير في المستقبل ستكون في التفكير بالعمل ب XML ولكن لن تكون على نفس الفكرة التي عرضتها على الأقل

قم بالتطبيق الفكرة لنرى مدى فعاليتها مع أني غير مقتنع بخزن جميع بيانات المنتدى في الذاكرة ..........

لدي كود كامل لمنتدى ب XML ولكن ....

بالنسبة لهذا السؤال

____________________________________________

إذا إستقبلت البيانات ببرنامج مثلا VB أو Java هناك عدة عناصر تعرض XML

بالنسبة للمتصفح IE5 OR NC ما الحل السؤال للتاكيد وليس للتسائل الإجابة في الأسفل

في البداية كانت CSS+XML تعرف عناصر XML ليمكن عرضها على شكل HTML ولكن CSS لم تقدم الكثير ل XML فبنيت لها XSL التي تساعد في عرض البيانات على شكل HTML

#68

الرجاء زيارة المنتدى ومشاهدة أخر التعديلات

شكرا لكل من زار المنتدى من قبل

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

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

http://www24.brinkster.com/kownnet/bbs/Art...25&ReID=359#359

تم إضافة البحث فقط في العنوان كبداية والبحث بدلالة المعرف

إضافة محرر نصوص

يمكن إضافة كود وإضافة بعض الإبتسمات وما إلا ذالك ......

في لوحة التحكم هناك بعض التعديلات على سلة المهملات أو المواضيع المحذوفة

الرجاء تجربة المنتدى وإخبارنا بالأخطاء التي قد تضهر لكم

هذا هو العنوان

http://www24.brinkster.com/kownnet/bbs

#69

تحية لك عبد الرحمن ..

بخصوص المنتدى اخر شكل لاحظت التالي :

الشكل الأول في العرض احسن أقصد من اليمين لليسار ..

كما أنني لاحظت أن السلم الهرمي للتابع الصفحات أقصد اللينك اللي بأعلى الموضوع الذي يدل على القسم و أسفله المنتدى و أسفله الموضوع به خطا .. اما البحث فلا مشاكل فيه الا انه اذا بحثت عن شيء او موضوع ووجدته ثم ضغطت عليه لتذهب للموضوع يرفض الانتقال بسبب عدم التسجيل ..

وشكرا..

You can fly while you can touch the sky

#70

شكرا أخي فارس على الملاحظات

أرجو أن توضح ما معنى "الشكل الأول في العرض احسن أقصد من اليمين لليسار " ؟

أرجو أن توضح أكثر الخطاء الذي ذكرت وياليت بمثال ؟

أما مشكلة البحث

بالتأكيد أن الموضوع الذي بحثت عنه موجود في منتدى غير مصرح لك بدخوله فيضهر لك هذا الخطاء

سجل بإسمك إذا كان لك صلاحية تسمح لك بزيارة المنتديات الخاصة فسوف تستطيع زيارة هذا المنتدى دون مشاكل :)

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

#71

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

You can fly while you can touch the sky

#72

مرحبا عبد الرحمن .. حاولت الدخول للمنتدى باسمي

رفض مع اني مسجل .. فكرت انك مغير قاعدة البيانات فرحت

اسجل من جديد خبر ني ان الاسم محجوز مسبقا...

ما اعرف شو اسوي ؟؟!!!! :( :(

You can fly while you can touch the sky

#73

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

أما بالنسبة لإتجاه الكتابة في المنتدى فهي من اليمين لليسار هذة المشكلة غريبة

هذة صورة المنتدى

http://mypage.ayna.com/mezab/Image1.gif

قارن بينها وبين الذي ذكرت وأخبرني هل تظهر عندك بغير هذا الشكل

#74

لقد قمت بالوصول للمنتدى .. لقد كان الاتجاه الذي اقصده صحيحا من

اليمين لليسار لا اعلم ما المشكلة سابقا .. لكن بقيت مشكلة في المحرر ..

أنا لاحظتها في اضافة لون للنص .. و بخصوص الصورة لم تظهر لي

و لا داعي فقد حلت المشكلة لكن للتنبيه ..

و شكرا

You can fly while you can touch the sky

#75

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

و لكني لاحظت انه عند دخولي المنتدى تظهر لي رساله error و لا اعرف لماذا و هل هذا لخطأ فييه ام لا ؟

و لماذا لا اجد اخر اصدار له بالابتسامات:)

و انتظر المشاركه في المزيد و لو اني معرفتي ضئيله ب asp

مع احترامي و شكري للجميع

هذا الموضوع مغلق.

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