PDA

View Full Version : نمایش کدهای php با جی کوئری



boysilent
پنج شنبه 01 فروردین 1392, 14:06 عصر
سلام
دوستان عزیز بنده میخواستم وقتی روی یه لینک کلیک می کنم id رو بفرستم به یه صفحه ای و اطلاعات مربوط به اون id رو گرفته (تا اینجاشو بلدم)
داخل یه دایو نمایش بدم
ممنون میشم یه sample بزارید یا راهنمایی کنید...

engmmrj
پنج شنبه 01 فروردین 1392, 18:17 عصر
$query=mysql_query('select * from table');
while($i=mysql_fetch_array($query)){
echo"<a href='page.php?id=$i[id]'>$i[name]</a>";
}

$query=mysql_query("select * from table where id='$_GET[id]'");
while($i=mysql_fetch_array($query)){
echo"<div id='div'>.....</div>";
}

boysilent
پنج شنبه 01 فروردین 1392, 18:52 عصر
اقااااا:لبخند: با جی کوری گفتم عزیز اینو که بلدم بابا
یه مثال :مثل این قسمت توی سایت که میخوای پاسخ بدی سریع پاسخ رو اضافه میکنه :چشمک:

engmmrj
پنج شنبه 01 فروردین 1392, 19:11 عصر
<script language="javascript">
function post(){
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXobject('microsoft.XMLHTTP');
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200 ){
document.getElementById('div').innerHTML=xmlhttp.r esponseText;
}
}
param = 'text='+document.getElementById('text').value;
xmlhttp.open('POST','include.php',true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send(param);

}
</script>
<input type="text" id='text' onkeyup="post();" />


$DB=new PDO('mysql:host=localhost;dbname=ajax;','root','') ;
$array=array('post'=>$_POST['text']);
$query=$DB->prepare("select * from ajax where name like :post");
$query->execute($array);
if($query->rowCount()==1){
print"این نام قبلا ثبت شده";
}else{
print'این نام آزاد است';

}
$DB=NULL;

boysilent
پنج شنبه 01 فروردین 1392, 20:25 عصر
ای بابا
نمایش کدهای php با جی کوری

engmmrj
جمعه 02 فروردین 1392, 03:18 صبح
جی کوری غلطه جی کوئری درسته:لبخند:

MMSHFE
جمعه 02 فروردین 1392, 08:46 صبح
فایل ضمیمه رو بررسی کنید.

boysilent
دوشنبه 05 فروردین 1392, 15:48 عصر
جی کوری غلطه جی کوئری درسته:لبخند:
دنبال اون دکمه نگشتم دیگه :لبخند:

boysilent
دوشنبه 05 فروردین 1392, 15:54 عصر
استاد عزیز MMSHFE (http://barnamenevis.org/member.php?55504-MMSHFE)
همه ی این کار ها رو انجام داده ام .
مشکل بنده چیز دیگری است که یه فرم مثلا به این شکل دارم/
نام:
نام خانوتدگی:
ایمیل:
سایت:
میخوام بعد از برگشت جواب بتونم مقابل این ایتم ها با توجه به ایدی ارسال شده اطلاعات مورد نظر رو در مقابل اون نمایش بدم.

2undercover
دوشنبه 05 فروردین 1392, 16:11 عصر
$.post('info,php',{id: user_id},function(Data){
$('#Name').text(Data.user_name);
$('#LastName').text(Data.user_lastname);
$('#Email') .text(Data.email);
},'JSON');


اینجوری id به صفحه info.php فرستاده میشه و توی اون صفحه اطلاعات به صورت JSON برگردونده میشه به صفحه اصلی و اونجا هم توی تابع callback اطلاعات برگشت داده شده رو هر جا خواستیم استفاده می کنیم!

boysilent
دوشنبه 05 فروردین 1392, 18:42 عصر
$.post('info,php',{id: user_id},function(Data){
$('#Name').text(Data.user_name);
$('#LastName').text(Data.user_lastname);
$('#Email') .text(Data.email);
},'JSON');


اینجوری id به صفحه info.php فرستاده میشه و توی اون صفحه اطلاعات به صورت JSON برگردونده میشه به صفحه اصلی و اونجا هم توی تابع callback اطلاعات برگشت داده شده رو هر جا خواستیم استفاده می کنیم!
احسنت .
حالا من میخوام بدونم این قسمت
(Data.user_nameقسمت
.user_nameچه کاری رو انجام میده

2undercover
دوشنبه 05 فروردین 1392, 19:06 عصر
JSON ( JavaScript Object Notation )

همونطور که معلومه داده های json به صورت شئ هستند خوب ما توی PHP از => برای دسترسی به فیلد ها و متد های یک شئ استفاده می کنیم توی جاواسکریپت هم از نقطه "." خوب چون ما اینجا از JSON استفاده کردیم پس باید بنویسیم: !!!Data.user_name

امیدوارم منظور رو فهمیده باشید...؟!

Veteran
دوشنبه 05 فروردین 1392, 19:10 عصر
ببخشین در صفحه مقصد که اطلاعات به اون ارسال میشه
چجوری مقادیر رو چاپ کنیم که بشه به صورت json ازش استفاده کرد ؟
یعنی در واقع
Data.user_lastname
خوب دیتا که مقادیر بازگشتی در اون قرار داره اما user_lastname چی هست ؟

2undercover
دوشنبه 05 فروردین 1392, 19:19 عصر
توی قسمت PHP شما می تونید یک آرایه رو به صورت JSON دربیارید! مثلا برای همین user_lastname:



$user=array('user_lastname'=>'Veteran');
echo json_encode($user);

boysilent
دوشنبه 05 فروردین 1392, 19:49 عصر
ن متوجه نشدید و متوجه نشدم
من منظورم اینه الان این دیتا به چه چیزی اشاره داره مثلا یه متغیز php یا مقدار فیلد دیتابیس:متعجب:

2undercover
دوشنبه 05 فروردین 1392, 20:39 عصر
این دیتا همون آرایه ای هست که ما توسط تابع json_encode انکودش کردیم و برای صفحه درخواست کننده فرستادیم! ;)

boysilent
سه شنبه 06 فروردین 1392, 09:44 صبح
این دیتا همون آرایه ای هست که ما توسط تابع json_encode انکودش کردیم و برای صفحه درخواست کننده فرستادیم! ;)
عذر خواهم ولی ما فقط یه ایدی فرستادیم؟؟؟

2undercover
سه شنبه 06 فروردین 1392, 12:21 عصر
منظورم از صفحه درخواست کننده صفحه one.php بود یعنی اون صفحه ای که این کد های جاوااسرکیپت توش هست...!

boysilent
چهارشنبه 07 فروردین 1392, 09:23 صبح
منظورم از صفحه درخواست کننده صفحه one.php بود یعنی اون صفحه ای که این کد های جاوااسرکیپت توش هست...!
دوست عزیز ممنون از لطفت :ولی؟
ما فقط یک ایدی میفرستیم و وقتی ایدی رفت توی یه کوئری یه سری اطلاعات از دیتابیس میگیره که میخوام اون اطلاعات رو نشون بده:چشمک:

siavashsay
چهارشنبه 07 فروردین 1392, 10:38 صبح
دوست عزیز !
واقعا چی رو متوجه نشدید ؟! همه چی رو که دوستمون جناب 2undercover به راحتی توضحی دادن !
ببینید شما در این خط کد :

$.post('info,php',{id: user_id},function(Data){
یک متغیر POST با نام id و با مقدار user_id رو میفرستید به صفحه info.php !
توی صفحه info.php به راحتی مقدار POST رو دریافت میکنید :

$user_id=$_POST['id'];
حالا از این متغیر برای دریافت مقادیر از دیتابیس استفاده میکنید :

// db connect
$sql=mysql_query("SELECT * FROM `tb_name` WHERE `id`='$user_id'");
$obj=mysql_fetch_object($sql);
$email=$obj->email;
$name=$obj->name;
$account=$obj->account;
//others
حالا که مقادیر رو از دیتابیس گرفتید باید اونها رو به صورت یک آرایه به تابع json_encode بدید تا اونها رو به صورت یک رشته به تابع callback جی کوئری شما برگردونه :


$info=array('Email'=>$email,'Name'=>$name,'Account'=>$account);
echo json_encode($info);
و در نهایت با استفاده از اون تابع callback جی کوئری دیتا رو میگیرید !

$.post('info,php',{id: user_id},function(Data){
$('#Email').text(Data.Email);
$('#Name').text(Data.Name);
$('#Account') .text(Data.Account);
},'JSON');
مقادیر توسط تابع text() در جی کوئری به سلکتورهای مشخص شده داده و درون اونها چاپ میشه !
موفق باشید !
( با تشکر از جناب 2undercover عزیز )

boysilent
چهارشنبه 07 فروردین 1392, 10:46 صبح
خیلی ممنون متوجه شدم.

siavashsay
چهارشنبه 07 فروردین 1392, 12:05 عصر
خواهش میکنم !
ضمنا توجه داشته باشید json در ورژن های جی کوئری بالاتر از 1.4 عمل میکنه ! ( گمونم در ورژن ها قبل اون نیاز به تنظیمات خاص داره )
موفق باشید