• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ارسال 2 ورودی و دریافت 2 خروجی
#1
سلام

کد پی‌اچ‌پی:
<input  name='jobran_date[]'  onchange='job_wh(this,<?PHP intval($row['id'])?>)' /> 

من میخوام وقتی روی textbox کلیک میکنم تابع زیر فراخوانی بشه

تابعی هست که مقادیرو (تاریخ و آی.دی یوزر)میگیره و پست میکنه به صفحه ای که ای که کوئری میزنه


کد پی‌اچ‌پی:
function job_wh(jjdate,uid)
        {
        
dval=$(jjdate).attr('value');
        
        $.
post('../modules/user/convert-date.php',{'c_date':dval,'id':uid},function(day)
        { 

تابع بالا همون تابعی هست که مقادیرو (تاریخ و آی.دی یوزر)میگیره و پست میکنه به صفحه ای که ای که کوئری میزنه


این هم کد صفحه ای هست که مقادیر بهش پست میشه
میبنید که تاریخ رو به 10 رقمی تبدیل کردم و ریختتم توی متغیر jday
و در انتها هم یک کوئری زدم

کد پی‌اچ‌پی:
$uid=trim($_POST['id']);
if(isset(
$_POST['c_date']))
{
    
$tjob_time=explode('/',$_POST['c_date']);
                
                 
$td=$tjob_time[0];
                 
$tm=$tjob_time[1];
                 
$ty=$tjob_time[2];
                 
$job_time2=jmktime(0,0,0,$tm,$td,$ty);
                
                
$jday=jdate('w',$job_time2)+1;
                
    echo 
$sql="select count(id) as cid from hist where user_id=".$uid." and joran="$jday ;
    
$res_sql=mysql_query($sql) or exit('erorr in 2 joran in one day');
    
$row_sql=mysql_fetch_array($res_sql);
        
$cnt=$row_sql['cid']; 


حالا میخوام علاوه بر تبدیل تاریخ به عدد 10 رقمی نتیجه یک کوئری رو هم برام بفرسته
مشکل اینجاست که نمیدونم 2تا جواب رو چطوری توی 2تا متغیر دریافت کنم که قابل استفاده باشه
  پاسخ
تشکر شده توسط :
#2
اگه با جی کوئری می خای کار کنی که به this دسترسی داری
لازم نیست ارسالش کنی
جاوا اسکریپت هم مثل php کار می کنه توی توابع:

کد پی‌اچ‌پی:
function test(a,b){
        
console.log(a);
        
console.log(b);
    } 
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : saeidhp
#3
لطفا بیشتر راهنمایی کنید
من الان میخوام تاریخی که انتخاب میشه + id یوزر رو کوئری بزنم و 2تا خروجی هم نیاز دارم یکی عدد 10 رقمی تاریخ و یکی هم نتیجه کوئری که زدم که توی دوتا متغیر جداگانه بهم بده

اگه ممکنه رو کد بالا بگید چطور 2تا خروجی رو دریافت کنم توی 2تا متغیر؟
  پاسخ
تشکر شده توسط :
#4
آخه الان سوال رو توی بخش جاوااسکریپت پرسیدی
با جاوا اسکریپت میخای اینکارو بکنی یا با php؟
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#5
میخوام با جاوا بفرستم تویه یک صفحه دیگه اونجا کوئری زده بشه جواب رو بده چون نمیخوام کل صفحه رفرش بشه
من بالا 3 قطعه کد رو از هم جدا کردم
اولی اینپوتی هست که روش کلیک کنم و تاریخ رو انتخاب کنم تابع فراخوانه میشه

قطعه کد دوم تابعی هست که مقادیرو میگیره و پست میکنه به صفحه ای که ای که کوئری میزنه

قطعه کد سوم هم همین صفحه ثانویه هست که محاسبات رو انجام میده و برمیگردونه

اگه 2 تا متغیر نمیخواستم کافی بود این کار میکردم

کد پی‌اچ‌پی:
echo $jday 
با این کار عدد 10 رقمی رو بر میگردونه به تابع و برنامه درست کار میکنه
حالا من میخوام علاوه بر این عدد 10 رقمی نتیجه کوئری رو هم داشته باشم.
  پاسخ
تشکر شده توسط :
#6
خب برای اینکار باید از ajax استفاده کنی
آشنایی داری باهاش؟
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#7
اگه همین برنامه منو ببینید احتمالا فقط با یک خط کد میشه درستش کرد فقط چون تا حالا انجام ندادمش نمودنم باید به چه سبکی بنویسم

شما اگه با هر زبونی (ایجکس ، جاوا ، جی کوئری)کد بالا رو بنویسید من مشکلمو متوجه میشم
  پاسخ
تشکر شده توسط :
#8
راستش اصلن نمی فهمم که می خوای چیکار کنی که بخام کمک کنم :/
پس اول رو تغییر بده و توضیحات کامل بده
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#9
(۱۳۹۳ بهمن ۱۲, ۱۲:۳۵ ب.ظ)molana نوشته: راستش اصلن نمی فهمم که می خوای چیکار کنی که بخام کمک کنم :/
پس اول رو تغییر بده و توضیحات کامل بده

پست اول رو ویرایش کردم
  پاسخ
تشکر شده توسط :
#10
اول اینکه چرا اینجا اکو می کنی؟
کد پی‌اچ‌پی:
echo $sql="select count(id) as cid from hist where user_id=".$uid." and joran="$jday 

دوم یه آرایه بساز :

کد پی‌اچ‌پی:
<?php 
...
$row_sql=mysql_fetch_array($res_sql);
$cnt=$row_sql['cid'];
$result = array(
        
'cnt' => $cnt,
        
'test' => 'test message'
    
);

$result json_encode($result);
return 
$result;

 
?>
json_encode آرایه رو به json تبدیل می کنه.

حالا توی فانکشن جاوا اسکریپت اینجا:
کد پی‌اچ‌پی:
$.post('../modules/user/convert-date.php',{'c_date':dval,'id':uid},function(day
day میشه همون ریزالتی که بر می گردونی.
پس با jquery ریزالت رو پارس می کنی و هر متغیری رو که میخواستی چاپ کن:

کد پی‌اچ‌پی:
$.post('../modules/user/convert-date.php',{'c_date':dval,'id':uid},function(day){
        var 
result = $.parseJSON(day);
        
alert(result.cnt);
        
alert(result.test);
    }); 
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : saeidhp


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان