PDA

View Full Version : سوال: مشکل در بازیابی (select) از جدول



sajad prm
شنبه 18 آذر 1391, 04:19 صبح
با سلام
من در سیستم انتخاب واحد می خوام جمع تعداد واحد های درس را بگیرم و با یک if ان را کنترل کنم که اگر از یک حد عبور کرد به کاربر پیام بدهد من مشکلم این است که query من تعداد واحد ها را جمع نمی کنه مقادیر درس ها را هم با چک باکس و متد post می گیرم و نام چک باکس ها را هم به صورت آرایه تعریف کردم
از کد زیر برای جمع تعداد واحد استفاده می کنم ولی جواب نمیده لطفا راهنمایی کنید بد جور گیرم ممنون
(که در آن tvc تعداد واحد های درسی واز جدول course است
و متغیر cdars مقادیر چک باکس است که با متد post گرفتم)

pary_daryayi
شنبه 18 آذر 1391, 07:52 صبح
ccrs چیه ؟ اسم درس ؟
باید بگید سلکت کن تمام واحدهایی که متعلق به این شماره دانشجویی ( در این ترم و این سال تحصیلی ) هستند .

sajad prm
شنبه 18 آذر 1391, 22:22 عصر
مرسی از راهنماییت ولی شما سوال من رو متوجه نشدید
من معدل دانشجو در ترم قبل را دارم و برطبق آن می خواهم جمع واحد هایی دانشجو در ترم جدید انتخاب می کنه بیشتر از محدوده خاصی نباشه مشکل من اینه که $q_sum فقط برای یک درس انجام می شه

pary_daryayi
یک شنبه 19 آذر 1391, 08:03 صبح
متوجه شدم .
چک باکس رو که حتما بصورت آرایه تعریف کردید دیگه . درسته ؟


<input type="checkbox" name="cdars[]" value="<?php echo $row['dars_id'];?>" />


اینطوری دریافت کنید و این کوئری رو امتحان کنید.


$DarsID = $_POST['cdars']; // arraye az checkbox
$where = '';
foreach($DarsID as $id){
$where .= " dars_id={$id} OR";
}
//$query = 'select sum(dars_id) from course WHERE' . rtrim($where, ' OR');


البته اسم متغیر ها و فیلدها رو بر اساس جدول خودتون درست کنید.

pary_daryayi
یک شنبه 19 آذر 1391, 11:53 صبح
البته دوستان هم راهنمایی کنند .
کوئری شما بنظرم از لحاظ منطقی درسته . ولی اگر or die بزارید میبینید که از نحوه ی نوشتن کوئری تون ایراد میگیره .
از لحاظ سینتکس چطور باید این کوئری رو نوشت دوستان ؟
متغییر درون کوئری رو ، داخل "" هم گذاشتم جواب نمیده ولی راه خودم که همون منطق رو داره جواب میده.

sajad prm
پنج شنبه 23 آذر 1391, 01:46 صبح
درسته دوست من جواب می ده ولی تعداد واحد ها رو دو برابر نشان می ده لطفا راهنمایی کن دعات می کنم بد گیرم

sajad prm
یک شنبه 26 آذر 1391, 05:38 صبح
pary_daryai عزیز ممنون از راهنمایی خوبت کار من انجام شد موفق باشی

siavashsay
یک شنبه 26 آذر 1391, 10:23 صبح
این دستور رو چک کنید و مطابق با نام جدول های خودتون عنوان گذاری کنید !
این دستور مربوط به جمع قیمت محصولات مشابه می باشد !
ببینید به دردتون میخوره :


$query = "SELECT `type`, SUM(price) FROM `products` GROUP BY `type` WHERE `type`='$type'";