PDA

View Full Version : سوال: دادن مقدار به جی کوئری



sadegh.te
جمعه 14 آذر 1393, 10:04 صبح
سلام اساتید محترم من یه سری داده به یه بخش از فایل جی کوئری دادم و با داده های دستی خوب کار میکنه حالا میخوام که اطلاعاتمو از بانک بخونم میشه راهنمایی کنید ؟؟؟ اینم کدی که اطلاعاتو دستی بهش دادم.


var maxColumn = 4; // max cells in a row
var range = 3; // range of num links to show
// end user setings

var rowsPerPage = 0;
var currentpage = 0;
var maxPrice = 0;
var minPrice = 0;
var sortBy = '';
var sortOrder = 0;

// the products information array
var products = [
{ "id": "1", "category": "Apple", "price": 2860, "image": "images/sample5.jpg", "title": "Apple iPhone 4" }
, { "id": "2", "category": "BlackBerry", "price": 450, "image": "images/BlackBerry-9780-Bold.gif", "title": "BlackBerry 9780 Bold" }
, { "id": "12", "category": "BlackBerry", "price": 520, "image": "images/BlackBerry-Torch-9800.gif", "title": "BlackBerry Torch 9800" }
, { "id": "26", "category": "HTC", "price": 1850, "image": "images/HTC-Desire-S.gif", "title": "HTC Desire S" }
, { "id": "50", "category": "HTC", "price": 600, "image": "images/HTC-HD7.gif", "title": "HTC HD7" }
, { "id": "21", "category": "HTC", "price": 2400, "image": "images/HTC-Incredible-S.gif", "title": "HTC Incredible S" }
, { "id": "11", "category": "HTC", "price": 2500, "image": "images/HTC-Sensation.gif", "title": "HTC Sensation" }
, { "id": "3", "category": "HTC", "price": 100, "image": "images/HTC-Wildfire.gif", "title": "HTC Wildfire" }
, { "id": "6", "category": "Motorola", "price": 2460, "image": "images/Motorola-Atrix-4G.gif", "title": "Motorola Atrix 4G" }
, { "id": "14", "category": "Motorola", "price": 100, "image": "images/Motorola-DEFY.gif", "title": "Motorola DEFY" }
, { "id": "15", "category": "Nokia", "price": 1200, "image": "images/Nokia-C7.gif", "title": "Nokia C7" }
, { "id": "60", "category": "Nokia", "price": 1700, "image": "images/Nokia-N8.gif", "title": "Nokia N8" }
, { "id": "70", "category": "Nokia", "price": 2000, "image": "images/Nokia-X6.gif", "title": "Nokia X6" }
, { "id": "45", "category": "Samsung", "price": 1800, "image": "images/Samsung-I9000-Galaxy-S.gif", "title": "Samsung I9000 Galaxy S" }
, { "id": "23", "category": "Samsung", "price": 2900, "image": "images/samsung-I9100-galaxy-S2.gif", "title": "samsung I9100 galaxy S2" }
, { "id": "17", "category": "Samsung", "price": 1300, "image": "images/Samsung-S5830-Galaxy-Ace.gif", "title": "Samsung S5830 Galaxy Ace" }
, { "id": "99", "category": "Sony-Ericsson", "price": 1400, "image": "images/Sony-Ericsson-XPERIA-X10.gif", "title": "Sony Ericsson XPERIA X10" }
];


function setProducts() {
sortBy = sortBy ? sortBy : $('#product_sort').val();
rowsPerPage = rowsPerPage ? rowsPerPage : $('.product_pages button:first').html();
desc = sortOrder > 0 ? true : false;
currentpage = currentpage > 0 ? currentpage : 1; // if current page is less than first page...
var totalLoop = rowsPerPage;
var loop = 0;
var countCellData = 0;
var offset = 0;

$('#product_show').html(' ');

$('#product_order').val(sortOrder);
$('#product_sort').val(sortBy);

var filterdProducts = []; // displayed products array
var key = 0;

if (!minPrice && !maxPrice) {
filterdProducts = products;
} else {
$.each(products, function (i, object) {
var curentPrice = parseFloat(object.price);
var priceMinOk = true;
var priceMaxOk = true;

if (maxPrice || minPrice) {
if (maxPrice && maxPrice < curentPrice) {
priceMaxOk = false;
}
if (minPrice && minPrice > curentPrice) {
priceMinOk = false;
}
}

if (priceMinOk && priceMaxOk) {
filterdProducts[key] = object;
key++;

}

});
}


var totalResults = filterdProducts.length;
if (totalResults > 0) {

filterdProducts.sort(function (a, b) {
var a1 = a[sortBy], b1 = b[sortBy];
if (a1 == b1) { return 0; }
if (desc) {
return (a1 > b1) ? -1 : (a1 < b1) ? 1 : 0;
} else {
return a1 > b1 ? 1 : -1;
}
});
}

$('.product_results').html(totalResults);
/****** start build pagination links ******/
var totalpages = Math.ceil(totalResults / rowsPerPage); // calculate the total pages

if (totalpages > 1) {

if (currentpage > totalpages) {

currentpage = totalpages;
}

offset = (currentpage - 1) * rowsPerPage;

var pagination = '';
var lastPage = 0;

var minPage = parseFloat(currentpage) - parseFloat(range);
minPage = minPage > 0 ? minPage : 1;

if (currentpage > 1) {

pagination += '<button type="button" name="' + (currentpage - 1) + '" class="product_button" title="◄Previous" >◄Previous<\/button>';
)
if (minPage > 1) {
pagination += '<button type="button" name="1" class="product_button" title="1" >1<\/button>';
}
}


for (var x = minPage; x <= (currentpage + range) ; x++) {

if (x <= totalpages) {
lastPage = x;

if (x == currentpage) {
pagination += '<button type="button" name="0" class="product_button_selected" title="' + x + '" >' + x + '<\/button>';
} else {
pagination += '<button type="button" name="' + x + '" class="product_button" title="' + x + '" >' + x + '<\/button>';
}
}
}


if (currentpage != totalpages) {

var nextPage = parseFloat(currentpage) + 1;
if (lastPage < totalpages) {
)
pagination += '<button type="button" name="' + totalpages + '" class="product_button" title="' + totalpages + '" >' + totalpages + '<\/button>';
}
pagination += '<button type="button" name="' + nextPage + '" class="product_button" title="Next►" >Next►<\/button>';
}

$('.product_pagination').html(pagination);
} else {

$('.product_pagination').html('<button type="button" name="0" class="product_button_selected" title="1" >1<\/button>');
}
var offsetEnd = parseFloat(rowsPerPage) + parseFloat(offset);



var cell = '<table border="0" cellpadding="2" cellspacing="0" width="100%" id="product_table">';
cell = '<section class="main-content col-lg-9 col-md-9 col-sm-9">';
cell = '<div class="row">';
cell += '<tr>';


var pageProducts = filterdProducts.slice(offset, offsetEnd);

$.each(pageProducts, function (i, object) {

setPriceRange(parseFloat(object.price));
countCellData++; // flug to know if there is content



cell += '<div class="col-lg-4-right col-md-4-right col-sm-4 product">';
cell += '<div class="product-image"><img src="' + object.image + '" alt="' + object.title + '" title="' + object.title + '" longdesc="' + object.id + '" border="0" ><\/div>';
cell += '<div class="product-info"><h5>' + object.title + '<\/h5><span class="price">' + object.price + '<\/span><\/div>';
cell += '<div class="product-actions">';
cell += '<span class="add-to-compare">';
cell += '<span class="action-wrapper">';
cell += '<i class="icons icon-docs">';
cell += '<\/i>';
cell += '<span class="action-name">مقایسه<\/span>';
cell += '<\/span>';
cell += '<\/span>';
cell += '<\/div>';
cell += '<\/div>';


//cell += '<div><img src="'+object.image+'" alt="'+object.title+'" title="'+object.title+'" longdesc="'+object.id+'" border="0" ><\/div>';
//cell += '<div>'+object.title+'<\/div>';
//cell += '<div>'+object.price+'<\/div>';
//cell += '<div>'+object.category+'<\/div>';


totalLoop--;
loop++;


if (!totalLoop && loop) {
for (var i = 0; i < (maxColumn - loop) ; i++) {

cell += '<td>&nbsp;<\/td>';
}
}


if (loop == maxColumn) {
cell += '<\/tr>';
loop = 0;
if (totalLoop) {
cell += '<tr>';
}
}
});
cell += '<\/tr>';
cell += '<\/div>';
cell += '<\/section>';
cell += '<\/table>';
if (countCellData > 0) {
// if exist content
$('#product_show').html(cell);
// set image onclick event
$('#product_show img').click(function () {
alert('Product ID = ' + $(this).attr('longdesc'));
});

}
setPagination();
}

مهرداد سیف زاده
جمعه 14 آذر 1393, 23:03 عصر
این طور که من دیدم اطلاعات شما در متغییر products‌هست و اگر شما این مقدارهارو رو از بانک بگیرید و بدید یه این متغیر بقیش حله و راه میفته.
اول این که زبان سمت سرور شما چیه و همچنین کدهای js رو از فایل اصلی جدا کردید(یعنی در فایل دیگری بصورت main.js هست و این فایل رو از طریق تگ scrtipt src="main.js" فراخوانی کردید یا در درون فایل اصلی هست.
البته من فرض میکنم زیان شما سمت سرور php هست و همچنین کدهای js در همون فایل هستن و جدا نکردید:


<?php
$sql = "SELECT * FROM `products` ";
$query = auery_to_database($sql);
$products=json_encode($query);
?>


<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">


var products=<?php echo $products ?>;


</script>
</body>
</html>

ashkufaraz
جمعه 14 آذر 1393, 23:20 عصر
بابا مهرداد دمت گرم
تو دیگه کی هستی اینقدر وقت گذاشتی کدها رو خوندی و کد جدید نوشتی
بابا ایوالا

sadegh.te
جمعه 14 آذر 1393, 23:58 عصر
تشکر بابت وقتی که گذاشتین ولی زبان سمت سرور #C هستش و asp.net و در رابطه با سوال دومتون بله کدهای js من جدا هستن و از طریق تگ script فراخوانی کردم .

بله اطلاعات در product اگه بتونم اطلاعاتو از دیتابیس به داخل product بخونم درست میشه . اگه میشه به زبان asp.net توضیح بدین ممنون.

مهرداد سیف زاده
شنبه 15 آذر 1393, 08:08 صبح
در asp.net با چه روشی به بانک کتصل میشید؟ ado یا ling یا entity؟ اصلا به بانک متصل شدید؟ اگر هم متصل شدید روش اتصال و کدهای نمونه رو بزارید تا ادامشو واستون بنویسم.

sadegh.te
شنبه 15 آذر 1393, 09:03 صبح
من با ado به بانک وصل میشم. کانکشن استرینگ من هم به شکل زیر هستش


SqlConnection strConnString = new SqlConnection(@"Server=.;Database=product;Integrated Security=True");

مهرداد سیف زاده
شنبه 15 آذر 1393, 10:33 صبح
به راهنمای زیر نگاهی بندازید. شما باید روی دیتابیس کوئری بزنید و داده های از DataTable به json تبدیل بشه
http://stackoverflow.com/questions/17398019/how-to-convert-datatable-to-json-in-c-sharp

sadegh.te
شنبه 15 آذر 1393, 11:47 صبح
مهرداد جان تشکر از پاسختون ولی اگه برات ممکنه میتونی سورسش رو بنویسی و توی همین تاپیک بزاری؟؟ باور کن من خیلی وقته دارم تلاش میکنم اینو درستش کنم ولی بلد نیستم کل پروژمم لنگ همینه اگه برات مقدوره انجامش بده ممنون؟
اگه خود پروژه رو هم لازم داری بگو که برات بزارم رو همون انجامش بده؟

مهرداد سیف زاده
شنبه 15 آذر 1393, 14:15 عصر
اگر امکان داره همین قسمت از پروژه رو جدا کنید (دقیقا همین قسمتی که داده رو میگره و دستی نشون میده) و همچنین اسکریپت دیتابیستون رو هم ضمیمش کنید تا کدشو براتون بنویسم

sadegh.te
شنبه 15 آذر 1393, 14:38 عصر
اینم آدرس فایل اون قسمتو جدا کردم تو پیج دیفالت هستش خیلی ممنون واقعا دارین زحمت میکشن تشکر.
http://s5.picofile.com/file/8155620500/product.rar.html

مهرداد سیف زاده
شنبه 15 آذر 1393, 15:13 عصر
ویژوال استادیوی من ۲۰۱۰ هست اگر امکان داره پروژه رو با ۲۰۱۰ ذخیره کنید. و دوباره ارسال کنید

مهرداد سیف زاده
شنبه 15 آذر 1393, 16:35 عصر
تغییرات رو انجام دادم از لینک زیر دانلود کنید
https://www.dropbox.com/s/fy51qb1p12cfjwf/prj.zip?dl=0


اینم آدرس فایل اون قسمتو جدا کردم تو پیج دیفالت هستش خیلی ممنون واقعا دارین زحمت میکشن تشکر.
http://s5.picofile.com/file/8155620500/product.rar.html

sadegh.te
شنبه 15 آذر 1393, 18:28 عصر
واقعا ازتون ممنونم تشکر

sadegh.te
شنبه 15 آذر 1393, 21:18 عصر
مهرداد جان میشه بگی که چه چیزایی به این پروژه اضافه کردی؟

آیا product.csproj.user و product.csproj خودت بهش اضافه کردی؟

مهرداد سیف زاده
شنبه 15 آذر 1393, 21:46 عصر
من اضافه نکردم
حالا کار میکنه؟
تونستی دیتابیسش رو راه بندازی؟

مهرداد جان میشه بگی که چه چیزایی به این پروژه اضافه کردی؟

آیا product.csproj.user و product.csproj خودت بهش اضافه کردی؟

sadegh.te
شنبه 15 آذر 1393, 22:41 عصر
آره تو همون پروژه که خودت درستش کردی خوب کار میکنه ولی وقتی همون کد هارو به پروژه اصلی انتقال میدم هیچ محصولی رو نمایش نمیده مشکلش چیه بنظرتون؟

مهرداد سیف زاده
یک شنبه 16 آذر 1393, 08:02 صبح
توی کدهای پروژه خوب دقت کن
من یک input box hidden گذاشتم که دیتا رو از دیتابیس میگیرم و توی اون ذخیره میکنم و بعد با jquery مقدار این input box رو میگیرم و میدم به برنامه شما

sadegh.te
یک شنبه 16 آذر 1393, 09:29 صبح
شما یه <asp:HiddenField ID="productData" runat="server" /> گذاشتین بنظرتون مشکل از اون نیست؟

sadegh.te
یک شنبه 16 آذر 1393, 10:03 صبح
مهرداد اینم پروژه ای که الان درستش کردم دقیقا همون کد ها رو کپی کردم ولی کار نمیکنه ولی پروژه ای که تو درستش کردی خوب کار میکنه دستت درد نکنه ببین مشکل پروژه من چیه؟؟

http://s5.picofile.com/file/8155752092/product_2.rar.html

sadegh.te
یک شنبه 16 آذر 1393, 13:39 عصر
مهرداد جان مشکلم حل شد باید script رو داخل تگ body میزاشتم.

ولی من الان دارم از مسترپیج استفاده میکنم ولی وقتی اسکریپت رو داخل مسترپیج میزارم اجرا نمیشه ؟