سلام
دوستان عزیز بنده میخواستم وقتی روی یه لینک کلیک می کنم id رو بفرستم به یه صفحه ای و اطلاعات مربوط به اون id رو گرفته (تا اینجاشو بلدم)
داخل یه دایو نمایش بدم
ممنون میشم یه sample بزارید یا راهنمایی کنید...
سلام
دوستان عزیز بنده میخواستم وقتی روی یه لینک کلیک می کنم id رو بفرستم به یه صفحه ای و اطلاعات مربوط به اون id رو گرفته (تا اینجاشو بلدم)
داخل یه دایو نمایش بدم
ممنون میشم یه sample بزارید یا راهنمایی کنید...
$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>";
}
اقااااا با جی کوری گفتم عزیز اینو که بلدم بابا
یه مثال :مثل این قسمت توی سایت که میخوای پاسخ بدی سریع پاسخ رو اضافه میکنه
<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;
ای بابا
نمایش کدهای php با جی کوری
جی کوری غلطه جی کوئری درسته
فایل ضمیمه رو بررسی کنید.
استاد عزیز MMSHFE
همه ی این کار ها رو انجام داده ام .
مشکل بنده چیز دیگری است که یه فرم مثلا به این شکل دارم/
نام:
نام خانوتدگی:
ایمیل:
سایت:
میخوام بعد از برگشت جواب بتونم مقابل این ایتم ها با توجه به ایدی ارسال شده اطلاعات مورد نظر رو در مقابل اون نمایش بدم.
$.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 اطلاعات برگشت داده شده رو هر جا خواستیم استفاده می کنیم!
JSON ( JavaScript Object Notation )
همونطور که معلومه داده های json به صورت شئ هستند خوب ما توی PHP از => برای دسترسی به فیلد ها و متد های یک شئ استفاده می کنیم توی جاواسکریپت هم از نقطه "." خوب چون ما اینجا از JSON استفاده کردیم پس باید بنویسیم:!!!Data.user_name
امیدوارم منظور رو فهمیده باشید...؟!
ببخشین در صفحه مقصد که اطلاعات به اون ارسال میشه
چجوری مقادیر رو چاپ کنیم که بشه به صورت json ازش استفاده کرد ؟
یعنی در واقع
Data.user_lastname
خوب دیتا که مقادیر بازگشتی در اون قرار داره اما user_lastname چی هست ؟
توی قسمت PHP شما می تونید یک آرایه رو به صورت JSON دربیارید! مثلا برای همین user_lastname:
$user=array('user_lastname'=>'Veteran');
echo json_encode($user);
ن متوجه نشدید و متوجه نشدم
من منظورم اینه الان این دیتا به چه چیزی اشاره داره مثلا یه متغیز php یا مقدار فیلد دیتابیس
این دیتا همون آرایه ای هست که ما توسط تابع json_encode انکودش کردیم و برای صفحه درخواست کننده فرستادیم! ;)
منظورم از صفحه درخواست کننده صفحه one.php بود یعنی اون صفحه ای که این کد های جاوااسرکیپت توش هست...!
دوست عزیز !
واقعا چی رو متوجه نشدید ؟! همه چی رو که دوستمون جناب 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 عزیز )
خیلی ممنون متوجه شدم.
خواهش میکنم !
ضمنا توجه داشته باشید json در ورژن های جی کوئری بالاتر از 1.4 عمل میکنه ! ( گمونم در ورژن ها قبل اون نیاز به تنظیمات خاص داره )
موفق باشید