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

Dynamic WebSite

مغلق
بدأه المبرمج1 في 15 سبتمبر 2004 · 13 رد · 1,233 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي سؤال عن كيفية إنشاء موقع يقوم بتحديث نفسة بصورة آلية ...

لتوضيح الصورة ...

لنفرض أننا نريد أن ننشئ موقع يقوم يوميا بإعطاء حكمة اليوم

و لذلك بدلا من أن يقوم مشرف الموقع بالدخول يوميا إلي الموقع و إدراج حكمة جديدة ..

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

و بذلك يكون الموقع يتحدث بصورة يومية ... و لكن آليا ...

ما هي اللخطوات , أو التقنيات المطلوبة للقيام بإنشاء موقع مشابه ...

مع العلم أننى أتقن

Java , SQL , XML and basic web development tools

و لكم الشكر

#2

السلام عليكم

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

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

MCP

MCTS:.Net Framework 2.0: Web Applications

MCPD:Web Developer

#3

جزاك الله خير أخ عبد الله على سرعة الرد ...

لم يكن سؤالى تقنى ... إنما أردت وضع مثال لتوضيح المقصد من الموقع الديناميكي ...

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

أي هل أحتاج إلى سيرفر ... هل ال تم كات سيرفر يفي بالغرض ؟ TomCat

هل هناك حاجة لصفحات إكس إم إل ؟ XML

هل من الممكن تحقيق المطلوب من خلال الجي إس بي ؟ JSP

أم هل من الممكن الخرج بمثل هذا الموقع مستخدمين فقط الإتش إم إل و الجافا سكربت ؟

ما هو نوع قاعدة البيانات ...

إتمنى أن يكون مقصدي من السؤال واضح الآن ...

مع تكرار شكري للأخ عبد الله

#4

هل من فكرة ... ؟

... أتمنى أن يكون سؤالى سهل ... !

#5

مرحبا..

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

1- جهة المتصفح, حيث تتم معالجة معلومات الصفحة في المتصفح اي بعد ارسالها من السيرفر مثل htm java ....

2-جهة السيرفر. حيث تتم معالجة معلومات الصفحة في السيرفر بعد طلبها وقبل ارسالها لممستخدم مثل asp php ...

بالنسبة لسؤالك على فرض "حكمة اليوم"مثلاً اذا كانت كمية عدد الحكم محدود يمكنك استخدام الجافا سكريبت بحيث يمكن ارسال جميع الحكم الى المستخدم ثم يقوم كود جافا باختيار الحكمة

ام اذا كانت الحكم كثيرة ولا يمكن ارساله الى المستخدم دفعة واحدة "مثلاً 200 حكمة"

عندها اعتقد انه يجب الاعتماد على الغات البرمجة من النوع الثاني"جهة السيرفر" مثل asp, php والاستعانة بقاعدة بيانات يوجد في هذا المنتدى الكثير من الموضيع ذات علاقة

فايهما افضل تره انت

#6

شكرا على الإيضاح أخ squrban

بالنسبة لي أفضل جهة السيرفر

Server Side

و لذلك للتخلص من مسألة تحميل جميل البيانات للمستخدم الطرفي ...

كما أننى أرغب بالإستعانة بقاعدة بيانات

كما أن ذلك يجعل عملية تغير البيانات و تصحيحها أسهل -إذا إحتاج الإمر لذلك !-

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

هل من الممكن إرشادي لهذة المواضيع .. ؟

#7

بعد بناء ملف نصي محتواه كالتالي وتسميته nardien.txt

@field@
@الحكمة الأولى@
@الحكمة الثانية@
@الحكمة الثالثة@
@الحكمة الرابعة@
@الحكمة الخامسة@
الخ..

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

<html><head>
<object  id="source"   CLASSID="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83">
<param   name="DAtAURL"           value= "nardien.txt" >
<param   name="UseHeader"         value= "true"      >
<param   name="TextQualifier"     value= "@"         >
<param   name="FieldDelim"        value= "|"         >
</object>


<script language="javascript">
var x=source.recordset;
var d=new Date();


function renum(){
if(!x.EOF)   
num.innerText=x.absolutePosition; 
else { 
num.innerText="";
para.innerText="";}
}


function fw(){
if(!x.EOF){
if(d.getDate==1){ x.MoveNext(); }
if(d.getDate==2){ x.MoveNext(); }
if(d.getDate==3){ x.MoveNext(); }
..
if(d.getDate==31){ x.MoveNext(); }

}
else  x.MoveFirst();

para.innerText=me.innerText;
renum();
}

</script>
</head>
<body  onload="fw();">
<span id="me" DAtASRC="#source" DATAFLD="field"></span><br>
<marquee id="para" ></marquee>
</body>
</html>

سيمضي ركبنا العملاق لن يركع .. بإيمان لغير الحق لا يصدع

عزيزا شامخا كالمجد بل أروع .. فسجل أيها التاريخ ما تسمع :

فلسطين لنا الآمال والمطمع .. نعاهد أن نحررها وأن ترجع

ونقسم نستعيد الأرض أو نصرع .. ويبقى رمزنا الزيتون والمدفع

Palestine.gif

#8

جزاك الله خير أخ nardien28

لقد أعطيتنى صورة جميلة عن طريقة عمل الكود ...

لكن بالنسبة للكود السابق فإن الحكمة قد تختلف بالظهور من شخص لآخر , فقد يكون أحد الأشخاص قد قام بتغير إعدادات التاريخ لدية و بذلك يظهر له موضوع مختلف.

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

.. فبالنسبة لموضوع التاريخ , هل من إقتراح .....

#9

. !

هل من فكرة , أو إقتراح ..!

#10

.

#11

ما رأيك ان تغيير في الكود السابق ليعمل مع jsp (طبعا ستحتاج Tomcat) عندها لن يظهر الكود للقارئ

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

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

سيمضي ركبنا العملاق لن يركع .. بإيمان لغير الحق لا يصدع

عزيزا شامخا كالمجد بل أروع .. فسجل أيها التاريخ ما تسمع :

فلسطين لنا الآمال والمطمع .. نعاهد أن نحررها وأن ترجع

ونقسم نستعيد الأرض أو نصرع .. ويبقى رمزنا الزيتون والمدفع

Palestine.gif

#12

I think that it is a nice idea nardien28

thanks ... :)

#13

السلام عليكم ..

بصراحة لم أقرأ كل الردود الا بشكل سريع لكن الحل بسيط جدا جدا ..

كل ما عليك هو عمل دالة تقوم باختيار رقم عشوائي للسجلات ..

كيف ذلك ؟؟

الان يمكنك عمل استعلام على جدول به عدد من الحكم مثلا كالتالي :

 SQL="SELECT * FROM TBL"
 Set rs=Server.CreateObject("ADODB.RecordSet")
 rs.Open SQL,cn,3,3    // cn : connection object

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

 recordsCount=rs.RecordCount

الان تقوم باستخدام العشوائية من اجل استخراج عدد محصور ما بين الصفر و عدد السجلات ..

الفكرة : مثلا عندنا 10 سجلات .. العشوائية ستخرج مثلا في مرة من المرات رقم 7 .. نقوم بعمل حركة صغيرة و هي ان نحرك المؤشر بين السجلات مسافة 7 سجلات عن طريق rs.MoveNext كالتالي :

Randomize
 randomNumber = Rnd
 For i=0 to randomNumber     // or randomNumber-1 i don't remember..just try both
    rs.MoveNext
 Next

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

ملاحظة :

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

ربما تحتاج لعمل معادلة من اجل حصر الرقم مثل :

 randomNumber=  (99*rnd)- anynumber   // or any mathmatical equation that satisfy that.

خلاصة :

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

Response.Write rs("fieldName")
  rs.Close()
  Set rs=Nothing

إضافة :

يمكن إستخدام العشوائية في عمل نظام عرض إعلانات عشوائية أو عمل اختبار يعتمد على إظهار اسئلة عشوائية و على ما اعتقد انني كتبت مقالا كاملا عن نظام الاختبارات هنا منذ سنتين :)

بالأخير أتمنى للجميع التوفيق و تحياتي لكم ..

أخوكم/ محمد خليل أبو صلاح

قريبا : مجتمع متكامل للدوت نت سوف أقوم بإطلاقه و أتمنى أن نرى تفاعلكم به ..

You can fly while you can touch the sky

#14

جزاك الله خير أخ محمد خليل أبو صلاح

و يسعدنا أن نشاركك في مجتمع الدت نت ...

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

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