PDA

View Full Version : سوال در مورد چند خط جی کوئری



بیتا حکمت
جمعه 01 اسفند 1393, 00:48 صبح
سلام . دوستی محبت کردند و یک مثال از جی کوئری برای اضافه کردن فیلد برام نوشتند . که چند خطش برام سوال هست
_






<script type="text/javascript">
function submit_form(table)
{
var sname = $("#sname").val();
var sfamily = $("#sfamily").val();
if(sname != "" && sfamily != "")
{
$.post("add_record.php",
{
ajax_sname:sname ,ajax_sfamily:sfamily},
function(data)
{
alert(data);
$("#sname").val("");
$("#sfamily").val("");
});
}
}
</script>





خط دوم می دونم تابع شده Submit_form یک تابع هست سوالم اینکه ایا این یک تابع جی کوئری هست و حتما" باید آرگومان ورودی این تابع کلمه Table نوشته بشه ؟
نقش function(data) چی هست ؟
و سوال اخر اینکه اگر قرار بود با کمک این کد جی کوئری رکوردی از دیتابیس حذف بشه ، کدوم روش بهیته تره ، اینکه های کدهای INSERT,Del در یک صفحه باشن یا اینکه همانند add_record.php صفحه PHP دیگری برای ارسال کوئری حذف ساخته شود.

id1385
جمعه 01 اسفند 1393, 01:09 صبح
Submit_form یک فانکشنه که یک ورودی داره بنام table که احتمالاً نام جدولی رو میگیره که قراره روش عملیاتی انجام بشه، خط 4 و 5 متغیره که محتویات دوتا المنت رو میخون و توی خط 10این متغیرها به سمت فایل php ارسال میشن، این اطلاعات از طریق get یا post توی جیکوئری به یک فایل php ارسال میشن، و شما وقتی به اون فایل چیزی رو ارسال کردید یا درخواستی فرستادید بقیه کارها توی اون فایل انجام میشه و هر جا که عملیات تموم شد خروجی رو پرینت میگیرید و توی این فانکشن با data یا هر متغیر دلخواه دیگری میگیرید و بقیشو توی همین فایل جیکوئری تفیر میکنید، اونم فرقی نمیکنه توی یه فایل چقدر شما فانکشن نوشته باشی مهم اون خروجیه هست که برمیگرده.

مثلاً یه فایلی هست که توش تمامی اکشنهای مربوط به یک صفحه درش بصورت کلاس هست و تمامی درخواستها به اون ارجاع داده میشه
این یه متدشه :

/**
* change item status, if enabled disable it and vis versa
* @return type
*/
private function ChangeItemStatus() {
if (isset($this->theAction) && in_array($this->theAction, $this->tValidActions)) {
if (isset($this->theRowId) && isset($this->thePageId)) {
$dBA = new mPDo(VWA::theConfig());
$Table = VWA::getConfigValues('tble_prefix') . $this->thePageId;
// current status
$dBA->select($Table, ['IsActive'], ['ID' => intval($this->theRowId)]);
if ($dBA->_qResult && $dBA->_recordCount > 0) {
$CurrentStatus = isset($dBA->_featch[0]['IsActive']) ? $dBA->_featch[0]['IsActive'] : "NULL";
if (is_numeric($CurrentStatus) && in_array($CurrentStatus, [0, 1])) {
$NextStatus = ($CurrentStatus ? 0 : 1);
$dBA->update($Table, ['IsActive' => $NextStatus, 'LastEditDate' => date("Y-m-d H:m:s"), 'EditedBy' => VWA::getLogeduserId()], ['ID' => intval($this->theRowId)]);
if ($dBA->_qResult && $dBA->_recordCount > 0) {
$this->genrateResult();
}
}
}
}
}
$this->ErrorValue = 'خطایی در انجام تغییر وضعیت وجود دارد';
$this->HaveError();
}



اینم متد خروجی اون کلاسه که بصورت json برمیگردونه :

private function genrateResult() {
if ($this->haveError) {
$OutPut = array("Error" => TRUE, "ErrorValue" => $this->ErrorValue, "ActionType" => $this->theAction);
die(json_encode($OutPut));
}
$OutPut = array("Error" => FALSE, "SuccessMsg" => $this->ResultMsg, "ActionType" => $this->theAction);
die(json_encode($OutPut));
}



موفق باشید

بیتا حکمت
جمعه 01 اسفند 1393, 01:40 صبح
Submit_form یک فانکشنه که یک ورودی داره بنام table که احتمالاً نام جدولی رو میگیره که قراره روش عملیاتی انجام بشه


موفق باشید

ممنونم ، اطلاعات مفیدی بود . ولی تو کدی که گذاشتم Table اسم جدول دیتابیس نیست.

id1385
جمعه 01 اسفند 1393, 01:54 صبح
اسم هرچی که هست توی فانکشن شما استفاده ای ازش نشده و بصورت خیلی ساده اومده دو تا مقدار فر ستاده و یه ورودی رو دریافت کرده:
برای درک بهتر، این سورسها رو دانلود کنید:
1 : http://barnamenevis.org/showthread.php?475713-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AB%D8%A8%D8%AA-%D8%B3%D9%81%D8%A7%D8%B1%D8%B4-%D8%A8%D8%A7-php-%D9%88-jquery-(%D9%86%D8%A7%D9%82%D8%B5)&p=2132428&viewfull=1#post2132428

2: http://barnamenevis.org/showthread.php?362762-%D9%86%D9%85%D9%88%D9%86%D9%87-%DA%A9%D8%A7%D9%85%D9%84-%D8%AB%D8%A8%D8%AA-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%D8%8C-%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D9%88-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-jquery-%D9%88-php&p=1601357&viewfull=1#post1601357


موفق باشید