PDA

View Full Version : سوال: آپديت جدول نتيجه mysql بدون رفرش كردن صفحه؟



vatansever
چهارشنبه 22 آبان 1392, 11:23 صبح
سلام دوستان
من دارم يه وب سايت اجتماعي درست ميكنم .ميخوام مطالبي كه دوستانم تو پروفايل خودشان مينويسن تو پروفايل خودم بدون رفرش كردن صفحه ببينم.
ممنون

MMSHFE
چهارشنبه 22 آبان 1392, 12:32 عصر
باید از AJAX استفاده کنید.

wallfa
چهارشنبه 22 آبان 1392, 14:42 عصر
با تشکر از مهندس ، بهترین متد همین چیزی که مهندس فرمودند ولی باید در نظر داشت ، می بایست وب سرور به انجینیکس عوض نمائید .

SlowCode
چهارشنبه 22 آبان 1392, 15:01 عصر
با تشکر از مهندس ، بهترین متد همین چیزی که مهندس فرمودند ولی باید در نظر داشت ، می بایست وب سرور به انجینیکس عوض نمائید .
میشه در این مورد توضیح بدید؟ چرا وب سرور باید عوض بشه؟:متفکر:

shahriyar3
چهارشنبه 22 آبان 1392, 15:46 عصر
ajax روی apache هم کار میکنه روی nginx هم کار میکنه. هیچ الزامی برای تغییر وب سرور وجود نداره.
فقط شاید تو بعضی مواقع performance اجراش یکمی فرق داشته باشه .

shahriyar3
چهارشنبه 22 آبان 1392, 15:54 عصر
بهترین web server برای ajax به گفته این مقاله (http://blog.smartbear.com/performance/picking-the-right-web-server-for-the-right-job/) lighttpd هست



Lighttpd, its makers claim, also uses an “event-driven architecture” and is “optimized for a large number of parallel connections (keep-alive) which is important for high performance Ajax applications.” Thus, Lighthttpd is ideal for Web sites that use the Ajax Web application design model.

vatansever
چهارشنبه 22 آبان 1392, 22:54 عصر
ممنون دوستان
ميتونين كدشو(با مثال) واسم بنويسين؟ با آژاكس هم اشنايي كمي دارم .من هر چي تو گوگل گشتم نتونستم چيزي پيدا كنم
ممنون.:لبخندساده:

SilverLearn
چهارشنبه 22 آبان 1392, 23:35 عصر
اول اینکه هیچ الزامی به تغییر وب سرور وجود نداره ....

دوم اینکه کلاس های زیادی برای کار آجاکس با mysql نوشته شده که با کمی جستجو می تونید پیدا کنید و ازشون استفاده کنید ...

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

http://www.phpclasses.org/package/6446-PHP-Manipulate-MySQL-records-with-an-AJAX-interface.html

vatansever
پنج شنبه 23 آبان 1392, 00:16 صبح
خوب جطور ميتونم ازش استفاده كنم ؟
من حرفه اي نيستم ببخشيد:گریه:

SilverLearn
پنج شنبه 23 آبان 1392, 00:24 صبح
فایل رو دانلود کنید خودش مثال زده براتون....

از همون مثال استفاده کنید...

vatansever
پنج شنبه 23 آبان 1392, 00:36 صبح
Download .zip .tar.gz همينه

SilverLearn
پنج شنبه 23 آبان 1392, 00:37 صبح
بله دیگه یکیش رو دانلود کنید و استفاده کنید ....

vatansever
پنج شنبه 23 آبان 1392, 00:43 صبح
ممنون دوست عزيز:قلب:

SilverLearn
پنج شنبه 23 آبان 1392, 00:45 صبح
خواهش می کنم ...

فقط از این به بعد برای تشکر فقط از روش معمول استفاده کنید و نیازی به زدن پست نیست
چون تازه کار هستید گفتم ....

Veteran
پنج شنبه 23 آبان 1392, 08:55 صبح
البته بهینه نیست !
یعنی شما دائما بابد دیتابیس رو چک کنید ببینید پست جدید اومده یا نه که با بالا رفتن کاربران سایت مشکلاتی رو هم به دنبال داره

vatansever
پنج شنبه 23 آبان 1392, 14:09 عصر
منظورتون اينه كه فقط لينك تشكر كردن رو كليك كنم؟

SilverLearn
پنج شنبه 23 آبان 1392, 14:17 عصر
بله همین کفایت می کنه .... :چشمک:

SilverLearn
پنج شنبه 23 آبان 1392, 17:02 عصر
فایل رو که خواسته بودین براتون ضمیمه کردم که بدون مشکل دانلود کنید ...

vatansever
پنج شنبه 23 آبان 1392, 23:52 عصر
خيلي ممنون
مطالب خوبي داشت
ولي اون چيزي كه من ميخواستم نبود
وقتي تو جدولايي كه ايجاد شدن سطري اضافه ميكنم و منتظر ميشم تا سطرها اپديت بشن هيچ اتفاقي نميفته:ناراحت:
هر دو مثالم امتحان كردم

SilverLearn
جمعه 24 آبان 1392, 00:01 صبح
خوب برای آموزش فیلم های آموزشی این سایت رو بهتون معرفی می کنم ...

http://www.daneshjooyar.com

قسمت آجاکس رو هم از طریق لینک زیر می تونید دنبال کنید

http://www.daneshjooyar.com/category/webdesign/ajax/

vatansever
چهارشنبه 29 آبان 1392, 21:25 عصر
تو رو خدا كمكم كنيد سه روزه تو گوگل دنبال يه نمونه كد مي گردم .ولي چيزي نتونستم پيدا كنم.
مطالبي رو پيدا كردم ولي به دردم نخورد .
من ميخوام مثل فيس بوك فقط اطلاعات جديد اضافه بشه يعني كل داده ها دوباره لود نشه.

Veteran
چهارشنبه 29 آبان 1392, 21:29 عصر
اینجا.....
(http://barnamenevis.org/showthread.php?301779-Comet-%DA%86%DB%8C%D8%B3%D8%AA-%D8%A8%D9%87-%DA%86%D9%87-%D8%AF%D8%B1%D8%AF%DB%8C-%D9%85%DB%8C%D8%AE%D9%88%D8%B1%D9%87!-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D9%85%DB%8C%D8%B4%D9%88%D8%AF.)

saeidpsl
پنج شنبه 30 آبان 1392, 03:20 صبح
بفرما (http://upir.ir/files/update-show_ed96e.rar):چشمک:
برای این که بگی رکورد جدیده قسمت see رو بزار 0
مثل عکس


http://8pic.ir/images/38571322478286405793.gif

vatansever
جمعه 01 آذر 1392, 11:07 صبح
اینجا.....
(http://barnamenevis.org/showthread.php?301779-Comet-%DA%86%DB%8C%D8%B3%D8%AA-%D8%A8%D9%87-%DA%86%D9%87-%D8%AF%D8%B1%D8%AF%DB%8C-%D9%85%DB%8C%D8%AE%D9%88%D8%B1%D9%87!-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D9%85%DB%8C%D8%B4%D9%88%D8%AF.)

خيلي ممنون مطالبش عالي بود .
فقط من ميخواستم اين كار رو با mysql انجام بدم يعني هر وقت كاربر سطري رو اضافه كرد نشون بده.
من اين كد رو نوشتم ولي با افزودن سطر حلقه بينهايت ايجاد ميشه.
ممنون ميشم اگه كد رو ويرايش كنيد و بفرستيد.



<?php

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: private, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0");
header('Pragma: private');
header("Pragma: no-cache");

header('Content-Type: text/html; charset=utf-8');

$msg_file='msg.txt';

$con=mysql_connect("localhost","root","");
mysql_select_db("databasename",$con);


$sql=mysql_query("SELECT name FROM posts ORDER BY id DESC");
$num=mysql_num_rows($sql);
$ms=mysql_fetch_array($sql,MYSQL_BOTH);

clearstatcache();
while($num == 1) {
usleep(500000);
clearstatcache();

}



$msg=$ms['name'];
mysql_close($con);
echo '_-_', $msg;

?>

marys_farahani
شنبه 02 آذر 1392, 12:29 عصر
خودشون هم گذاشتن داخل حلقه از همین استفاده کن . من امتحان کردم مشکلی نداشت .



foreach($sth->fetchAll() as $row) {

$id = $row["id"];
$name = $row["name"];
$post = $row["post"];

echo '<script> $(function(){myFunction("post_'.$id.'")})</script><span class="successbox" id="post_'.$id.'"><b>'.$name.' : &nbsp;&nbsp;<b01>'.$post.'</b01></span><br><br>';

$q = $conn->prepare("UPDATE $table SET see=:see WHERE id=:id ");
$q->execute(array(':id'=>$id,':see'=>1));
}