PDA

View Full Version : سوال: گرفتن یک قیمت از بین دو قیمت



soroush.r70
شنبه 24 اسفند 1392, 21:16 عصر
دوستان به چه صورت می تونم یه قیمت مثلا 245 میلیون تومان رو وقتی از لیست منو به صورت " از 150 میلیون تا 300 میلیون تومان " بگیرم از جدول وقتی روی دکمه زدم نمایش بدم وقتی قیمت بین این رنج بود مرسی

us1234
شنبه 24 اسفند 1392, 22:50 عصر
مشکلت دقیقا چیه ؟ توی کوئری نوشتن مشکل دارید یا کلا کاری که میخای انجام بدی را بلد نیستی ؟

کوئری یه همچین چیزی میشه :



SELECT * FROM `tbl` WHERE `price` BETWEEN `150000000` AND `300000000`

soroush.r70
شنبه 24 اسفند 1392, 23:37 عصر
مشکل اینجاست اطلاعات به این صورت در فیلد ذخیره میشه
150 میلیون تومان

us1234
یک شنبه 25 اسفند 1392, 09:33 صبح
مشکل اینجاست اطلاعات به این صورت در فیلد ذخیره میشه
150 میلیون تومان


اینم میشه .



SET GLOBAL log_bin_trust_function_creators=1;
DROP FUNCTION IF EXISTS digits;
DELIMITER |
CREATE FUNCTION digits( str CHAR(32) ) RETURNS CHAR(32)
BEGIN
DECLARE i, len SMALLINT DEFAULT 1;
DECLARE ret CHAR(32) DEFAULT '';
DECLARE c CHAR(1);


IF str IS NULL
THEN
RETURN "";
END IF;


SET len = CHAR_LENGTH( str );
REPEAT
BEGIN
SET c = MID( str, i, 1 );
IF c BETWEEN '0' AND '9' THEN
SET ret=CONCAT(ret,c);
END IF;
SET i = i + 1;
END;
UNTIL i > len END REPEAT;
RETURN ret;
END |
DELIMITER ;
SELECT * FROM tbl WHERE digits(tbl.price) as intprice BETWEEN `150000000` AND `300000000`

soroush.r70
یک شنبه 25 اسفند 1392, 10:09 صبح
مرسی دوست عزیز می تونی یه توضیح در مورد کد بالا نحوه ی کارایی و نحوه ی استفادش بگی ...؟

us1234
یک شنبه 25 اسفند 1392, 11:52 صبح
مرسی دوست عزیز می تونی یه توضیح در مورد کد بالا نحوه ی کارایی و نحوه ی استفادش بگی ...؟

یک تابع به نام digits است که بین رشته های اعداد را جدا میکند . نحوه استفاده اش هم تابع را اول در myPhpAdmin اجرا کنید و دفعات بعد فقط از اون تابع استفاده میکنید .

در پی اچ پی این کوئری را به کار ببرید :




SELECT *,digits(tbl.price) as intprice FROM tbl WHERE intprice BETWEEN 150 AND 300



موفق باشید در خصوص امور مالی هر سوالی بود در خدمتم