نمايش اطلاعات ديتابيس در صفحات html

Aftabgardan-cc

Active Member
سلام؛

دوستاني كه مي‌تونن لطفا كمك كنن:
ببينيد، من مي‌خوام مثلا آخرين اخبار سايت رو در يك صفحه كاملا HTML نشون بدم!
يكي از راه‌ها اينه كه از Frame استفاده كنم، اين رو مي‌دونم...

اما مثلا سايت iritn گفته اگه اين كد رو بزاريد در سايتتون، آخرين اخبار ما نمايش داده مي‌شه:
کد:
<!-- BEGIN IRITN Free Latest News Service -->
<script src=http://www.iritn.com/latestnews/iritnnews.js></script>
<!-- END IRITN Free Latest News Service -->

قضيه اين js. چيه؟:oops:
من چطور مي‌تونم اين كار رو انجام بدم كه از Frame استفاده نشه؟

اونوقت اگه من از اين تكنيك استفاده كنم، وقتي اخبار به روز بشه، اونجايي كه اين كد نوشته شده هم در همون لحظه به روز مي‌شه يا ممكنه طول بكشه؟
چون من وقتي كدهاي اين سايت:
http://del.icio.us/aftabgardan
كه دقيقا شبيه همون بالايي هست، رو مي‌ذاشتم داخل سايت، وقتي يه لينك اضافه مي‌كردم، تا وقتي CTRL+F5 رو نمي‌زدي، آخرين لينك اضافه شده نمايش داده نمي‌شد!
 

SME

Banned
یک راه راحت که خیلی وقتها هم قابل استفاده هستش بررسی سورس مورد نظر هستش.
این فایل رو بگیر و یه بررسی بکن. به نتایج خیلی جالبی میرسی.
البته استفاده از RSS هم یکی دیگه از راهها برای این جور کارها هستش.
 

iman_ebru

Active Member
براری تحلیلگر فرقی نداره که چطوری کدنویسی کنی! مرورگر فقط کدهای HTML رو کامپایل و اجرا میکنه. چه با جاوااسکریپت و چه با PHP و چه با فریم ها و امکانات خود زبان HTML.

کاری که جاوا اسکریپت انجام میده اینه که اطلاعات رو توسط یک سرویس سمت سرور از بانک اطلاعاتی دریافت و توسط تابع document.write چاپ میکنه. این تابع رو مرورگر میشناسه و هر چی که داخل این تابع باشه همونو چاپ میکنه. (متوجه شدی؟)

و اما راه های کدنویسی با PHP یا هر زبان سمت سرور:

برای این کار چند تا راه داری. اولین و ساده ترین راه اینه که به بانک اطلاعاتی دسترسی داشته باشی و خودت بصورت دستی به بانک اطلاعاتی متصل، خبرها و مطالب رو با هر چینشی که دوست داری انتخاب و چاپ کنی.

اما در صورتی که چنین دسترسی به پایگاه داده نداری مجبوری از خروجی هایی که خود منبع در اختیارت میزاره استفاده کنی. مثل RSS feed

ایمان
 

Aftabgardan-cc

Active Member
سلام؛
SMEجان، ممنون،
اون فايل فايل سورس نيست :(
يعني وقتي باز كني، مي‌بيني دستوران چاپ ده خبر آخر رو نوشته و اطلاعات اصلي نيست!
مثل اينكه شما يه صفحه PHP‌رو نمي‌تونيد به سورس اصليش دسترسي داشته باشيد :wink:

ببين iman_ebru جان،
من يه كم توضيح بدم:
ببين، من مي‌خوام يه سيستمي درست كنم كه كاربر يه اطلاعاتي به ما بده و ما بر اساس اون اطلاعات، يه نوشته‌اي بديم كه در سايتش قرار بده، اين نوشته هم مثلا هر لحظه با توجه به اطلاعات ديتابيس ما،‌ تغيير مي‌كنه!

مثلا ببينيد،
من مي‌خوام ده خبر آخر رو در سايت خودم نمايش بدم، خوب اين مشكل نيست، با دستور SELECT ديتابيس رو انتخاب مي‌كنم و متصل مي‌شم و آخرين اخبار رو چاپ مي‌كنم!
حالا اگه بخوام توي سايت يه نفر ديگه نمايش بدم چي؟
يكي از راه‌ها اينه كه توي سايت خودم و در يك صفحه سفيد نمايش بدم و به اون كد iframe بدم كه اون صفحه رو در سايتش با فريم نمايش بده!
و يك راهش هميني هست كه سايت iritn كرده!
در اين روش هم آخرين اخبار نمايش داده مي‌شن، اما از iframe استفاده نشده!
من نمي‌تونم كه مثلا يه فايل بدم به كار كه به ديتابيس من وصل بشه، چون رمز و نام كاربري و ... لو مي‌ره!

اين روش رو مي‌خوام بدونم چه روشي هست كه از فريم استفاده نشده، اما كار فريم انجام شده!

در اين فايل iritnnews.js چه كدهايي نوشته شده؟

توي اين فايل، با دستور document.write چطوري وصل شده به ديتابيس؟
 

ranjbar_2

Member
خوب عزيزم اون فايل رو دانلود كن ببين توش چي نوشته ولي يه فايل اي اس پي يا پي اچ پي داره اين فايل جي اس رو مي نويسه البته به صورت روزانه ( شايدم يه آدم بيكار مثل من و تو و ... داره دستي هر روز آبديتش مي كنه )

البته نوشتن چنين كدهايي سخت نيست ولي جدا يه آدم بيكار بايد اطلاعات رو وارد بانك كنه تا بشه ازش استفاده كرد .

در ضمن يه توضيح كوچيك درباره فايل هاي جي اس كه مخفف جاوا اسكريپت هستش كه مي توني اين فايل رو توي تمام فايل هاي ديگه وارد كرد و از توابع اون استفاده كرد مثل include كردن فايل هاي اي اس پي .

موفق باشيد
خدانگهدار
 

Aftabgardan-cc

Active Member
ranjbar_2 جان،
اين جواب من نيست :(

من هنوز نفهميدم بايد چطور در فايل js. كدنويسي كرد!

خواهش مي‌كنم دوستان راهنمايي كنن...
 

mohsenshahbazi

Active Member
یه روش مبتدیانه !
ممکنه فایل js تولید شده فقط یه فایل متنی باشه !
مثال :
شما میتونی 10 خبر اخر رو از دیتابیس بگیری .
حالا اونا رو میتونی با استفاده از PHP داخل یه فایل تکس با پسوند txt ذخیره کنی .
به جای این کار به هر خط یه document.write اضافه کن و تو یه فایل .js ذخیره کن !

البته این فایل همیشه بعد از ارسال اخرین خبر باید به روز رسانی بشه تا امکان نمایش اخرین اخبار رو داشته باشه .
 

Aftabgardan-cc

Active Member
یه روش مبتدیانه !
ممکنه فایل js تولید شده فقط یه فایل متنی باشه !
مثال :
شما میتونی 10 خبر اخر رو از دیتابیس بگیری .
حالا اونا رو میتونی با استفاده از PHP داخل یه فایل تکس با پسوند txt ذخیره کنی .
به جای این کار به هر خط یه document.write اضافه کن و تو یه فایل .js ذخیره کن !

البته این فایل همیشه بعد از ارسال اخرین خبر باید به روز رسانی بشه تا امکان نمایش اخرین اخبار رو داشته باشه .

تو رو خدا يه راه منطقي ارائه بديد!
وقتي مي‌شه با برنامه‌نويسي اين كار رو كرد، مگه من بيكارم بيام هر لحظه اخبار رو توي اون فايل وارد كنم:cry:

ضمنا، من اصلا براي بخش اخبار نمي‌خوام كه!
يه چيز ديگه‌ست، منظورم اين بود كه شبيه اخبار ممكنه هر لحظه آپديت بشه...:wink:
 

mohsenshahbazi

Active Member
آخه جاوا اسکریپت (Js) یه زبان سمت کلاینت هست ! ممکنه با استفاده از جاوا بشه که یه کم سخته !
 

SME

Banned
میتونی یک فایل پی اچ پی بزاری که توش فقط تیتر خبرها وارد بشه (به صورت اتوماتیک از دیتابیس خونده بشه) بعد هم توسط دستور زیر فایل از فایل هر جایی که خواستی استفاده کنی!

کد:
<script type="text/javascript" 
src="http://www.yoursite.com/titr/khabar.php">
</script>

البته میتونی از کد زیر هم استفاده کنی:

کد:
<?PHP
print "document.write('<a href=http://www.site.com/titr/khabar.php target=_blank>".$_SERVER['REMOTE_ADDR']."</a>');";
?>
 

Aftabgardan-cc

Active Member
SME جان،
در مورد كد اول، فكر نمي‌كنم بشه از پسوند php. در تگ <script> استفاده كرد! فكر مي‌كنم بايد با پسوند js. باشه...
با اين وجود، من امتحان كردم، هيچ چيزي نشون داده نشد! :(

كد دوم هم كه اون چيزي كه من منظورم هست، نيست! :(

به هر حال، ممنون؛
 

Aftabgardan-cc

Active Member
ضمنا، من اين كدها رو پيدا كردم، اما نمي‌دونم منظور از ADODB همون ديتابيس خودمونه يا ديتابيس فايلي؟

کد:
<script type="text/javascript">
var objConnect = new ActiveXObject("ADODB.Connection");
var objRecord = new ActiveXObject("ADODB.Recordset");
objConnect.open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\folderList\\databaseName.mdb;");
objConnect.execute("SELECT * FROM tblStudents;");
objRecord.Open("SELECT * FROM tblStudents;",objConnect)
document.write("<table border='1'>");
document.write("<tr>");
for(i=0;i<7;i++)
{
	document.write("<th>" + objRecord.Fields(i).Name + "</th>");
}
document.write("</tr>");
while(!objRecord.EOF)
{
	document.write("<tr>");
	for(i=0;i<7;i++)
	{
		document.write("<td>" + objRecord.Fields(i).Value + "</td>");
	}
	objRecord.MoveNext();
	document.write("</tr>");
}
document.write("<tfoot>");
document.write("<tr><th colspan='7' align='center'>End of File</th></tr>");
document.write("</tfoot>");
document.write("</table>");
</script>
 

bahy_my

Active Member
استفاده از سايت هاي ديگر

سلام
براي اينكه از سايت ديگه اين اطلاعات رو بگيري مي توني اونم فايل رو باز كني و بخونيش... البته من با Php مي گم.
PHP:
$filepointer=fopen("http://www.site.com/file.html","r");
$read=fread($filepointer,100000000000000000);
print $read;
fclose($filepointer);
اميد وارم مفيد بوده باشه.
 

mohsenshahbazi

Active Member
SME جان،
در مورد كد اول، فكر نمي‌كنم بشه از پسوند php. در تگ <script> استفاده كرد! فكر مي‌كنم بايد با پسوند js. باشه...
با اين وجود، من امتحان كردم، هيچ چيزي نشون داده نشد! :(

كد دوم هم كه اون چيزي كه من منظورم هست، نيست! :(

به هر حال، ممنون؛

امکان گذاشتن پسوند php هم هست . فقط کاری که باید انجام بدی اینه که خروجی که توسط php داده میشه به زبان Javascript باشه !

من فکر میکردم حتما مخوای Js باشه .گرنه با php زیاد سخت نیست !
 

Aftabgardan-cc

Active Member
مثل اينكه داريم به يه جاهايي مي رسيم! :)

محسن جان،
ممكنه يه مثال كوچيك بزني؟

ممنون مي‌شم...
 

جدیدترین ارسال ها

بالا