0 امتیاز
قبل در برنامه نویسی توسط (0 امتیاز)
ویرایش شده قبل توسط

سلام
یه فایل php دارم که حاوی تابع ArrDep_Submit می باشد این تابع توسط فایل jquery اجرا می شود و مقادیری را وارد دیتابیس می کند و دوباره از دیتابیس مقادیر جدیدی را می خواند در برگشت این مقادیر جدید را که از دیتابیس می خوانم می خوام با استفاده از json به فایل jquery بفرستم تا تو اونجا نمایشش بدم. اما مشکل اینجاست که وقتی تابع ArrDep_Submit رو با استفاده از jquery صدا می زنم تابع اجرا می شه اما نتیجه رو که باید با json برگردونه، برنمی گردونه و مشکل داره.

فایل php:

<?php
    //ADD AJAX
    add_action('wp_ajax_ArrDep_Submit', 'ArrDep_Submit');
    add_action('wp_ajax_nopriv_ArrDep_Submit', 'ArrDep_Submit');
    
    
    //submit form
    function ArrDep_Submit() {
    	//parse data
    	parse_str($_POST['formdata']);
    	//connect ro DB
    	global $wpdb;
    	$table_name = "wp_INOUT_records";
    	//insert data
    	if($id) {
    		$result = $wpdb->update($table_name, array(
    			'IN_OUT' => $io,
    			'shortdate' => $shortdate,
    			'hrs' => $hrs,
    			'min' => $min
    		), array(
    			'IO_ID' => $id
    		));
    		if($result)
    			exit("$io شما در تاریخ $hrs:$min - $shortdate با موفقیت بروزرسانی شد!");
    		else
    			exit("خطا در بروزرسانی داده! لطفا پس از چند دقیقه دوباره امتحان کنید.");
    	} else {
    		$result = $wpdb->insert($table_name, array(
    			'user' => $user,
    			'IN_OUT' => $io,
    			'shortdate' => $shortdate,
    			'hrs' => $hrs,
    			'min' => $min
    		));
    		if($result){
    			$id = mysql_insert_id();
    			$data = array("user"=>$user, "IN_OUT"=>$io, "shortdate"=>$shortdate, "hrs"=>$hrs, "min"=>$min, "IO_ID"=>$id);
    		}
    		else{
    			$data = array('error'=>'خطا در ثبت داده! لطفا پس از چند دقیقه دوباره امتحان کنید.');
    		}
    		
    		/* Return JSON */
    		echo json_encode($data);
    
    		/* Stop Execution */
    		exit;
    	}
    }
    
    ?>

فایل JQuery:

 

    jQuery('document').ready(function($){
	var infoPanel=$('#infoPanel'); // define the infopanel 

	$('form.submit').submit(function(e){
		//serialize and store form data in a variable
		var form = $('#'+this.id);
		var formdata = ArrDep_checkForm(form, this.id);
		if(!formdata)
			return false;
		//Add a status message
		infoPanel.html('<p>پردازش...</p>');
		//Post Form with data
		$.post('http://localhost/wordpress/wp-admin/admin-ajax.php',
		{action: 'ArrDep_Submit', formdata: formdata},
		function(data){
			infoPanel.html('<p class="ajax-success" >@'+data.user+'@</p>');
		}, 'json');
		return false;			
	});

 

سوالات مشابه

0 امتیاز
2 پاسخ 4.3هزار بازدید
0 امتیاز
0 پاسخ 200 بازدید
0 امتیاز
0 پاسخ 532 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط keynet (0 امتیاز)
+1 امتیاز
2 پاسخ 1.8هزار بازدید
0 امتیاز
1 پاسخ 659 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط shamstabrizi (505 امتیاز)
0 امتیاز
0 پاسخ 524 بازدید
0 امتیاز
1 پاسخ 625 بازدید
0 امتیاز
1 پاسخ 748 بازدید
0 امتیاز
1 پاسخ 342 بازدید
...