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.5هزار بازدید
0 امتیاز
0 پاسخ 152هزار بازدید
0 امتیاز
0 پاسخ 680 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط keynet (0 امتیاز)
+1 امتیاز
2 پاسخ 1.9هزار بازدید
0 امتیاز
1 پاسخ 801 بازدید
سوال شده 11 سال قبل در برنامه نویسی توسط shamstabrizi (505 امتیاز)
0 امتیاز
0 پاسخ 613 بازدید
0 امتیاز
1 پاسخ 757 بازدید
0 امتیاز
1 پاسخ 854 بازدید
0 امتیاز
1 پاسخ 472 بازدید
...