recyclbin

datum

Member
سلام دوستان
من با استفاده از یه فرم اطلاعاتی رو که در سطل بازیابی وجود داره توسط check box ها انتخاب می کنم و وقتی میخواهم اون ها رو حذف کنم اگه تکی تکی انتخاب کرده باشم که مشکلی نداره ولی اگه چند تایی انتخاب کنم فقط یکی رو حذف میکنه نه همه رو در ضمن من با استفاده از دستور split اون ها رو از هم جدا کردم و یکی یکی حذفشون میکنم اما فقط اولین رکوردی رو که پیدا میکنه حذف میکنه نه بقیه رو من فایل رو میزارم لطفا بگید کجاش مشکل داره , تقریبا میخواستم یه چیزی مثله حذف ایمیل ها در یاهو بسازم
چه طور میتونم به هر کدوم از کاربران که عضو سایت میشن یه ID بدم ( این شماره ای که میدم باید ترتیبی باشه نه random ) که اگر هم اون کاربر حذف شد ID اون دیگه رزرو نشه , منظورم اینه که اگر آخرین کاربر حذف شد و بعد از اون کاربر دیگه ای خواست عضو بشه شماره آخرین کاربر رو نگیره بلکه شماره بعد از اون رو بگیره
 

پیوست ها

  • recyclebin.rar
    1.7 کیلوبایت · بازدیدها: 5

leg_big

Member
کمی فکر کن !!!! راته !!!! ببین می تونیم بحت بگم که مقدار داخل هر چک باکس رو با ID پر کن . بعدش پایگاه رو باز کن یک حلقه درستکن بعد فیلد ID رو با دریافتی چک باکست مقایسه کن و حذف کن خیلی راحت !!!
اگر خواستی سوالات رو به ایمیل من ارسال کن :[email protected]
 

datum

Member
felfel nabin che rize

leg_big گفت:
کمی فکر کن !!!! راته !!!! ببین می تونیم بحت بگم که مقدار داخل هر چک باکس رو با ID پر کن . بعدش پایگاه رو باز کن یک حلقه درستکن بعد فیلد ID رو با دریافتی چک باکست مقایسه کن و حذف کن خیلی راحت !!!
اگر خواستی سوالات رو به ایمیل من ارسال کن :[email protected]

سلام دوست عزیز از پاسخت ممنون
ولی فکر کنم شما متوجه سوال من نشدی , بله در راحت بودنش که شکی نیست
من در صفحه فرم در قسمت value مربوط به check box , آی دی رو قرار دادم پس میبینید که همون کاری رو که شما گفتید انجام دادم خوب وقتی چند تا از check box ها رو تیک بزنی مسلما موقع ارسال به صفحه حذف به صورت مثلا : 10,20,30,40 ارسال میشه حالا تو صفحه حذف میای با دستور split اون ها رو از هم جدا میکنی و یکی یکی حذفشون میکنی طبق همون چیزی که من در فایل ارسالیم نشون دادم به نظر باید جواب بده نه؟ ولی فقط برای یه check box درسته نه بیشتر
حالا دوست عزیز کمکم کن و بگو باید چکار کنم
اگه امکان داره سوال دوم رو هم جواب بده
متشکرم
 

desiran

Member
عزیر اصلا نیازی به split nist راحت تر از این حرف هاست

با استفاده از دستور
HTML:
objrs.open "select * from [B]YuorTbl[/B] where ID [B]IN [/B]("&[B]Request.Form("ID")[/B]&")"

دیگه نیازی به جدا کردن ID ها نیست

همین دکورد ها رو با این دستور انتخاب می کنی و بعد delete می کنی
 

desiran

Member
عزیر اصلا نیازی به split nist راحت تر از این حرف هاست:)

با استفاده از دستور
HTML:
objrs.open "select * from [B]YuorTbl[/B] where ID [B]IN [/B]("&[B]Request.Form("ID")[/B]&")"

دیگه نیازی به جدا کردن ID ها نیست

همین دکورد ها رو با این دستور انتخاب می کنی و بعد delete می کنی
 

datum

Member
سلام
دوست عزیز desirsn , روش شما رو رو برنامه بکار بردم ولی روش شما هم فقط برای وقتی که یکی از check box ها رو انتخاب میکنی درسته نه وقتی چند تا رو تیک میزنی من از این کد ها استفاده کردم :

set objrs=server.createobject("adodb.recordset")
strsql="select * from recyclebin where ID IN ('"&Request.QueryString("ID")&"')"
objrs.open strsql, objc

دوستان دوباره میگم من value مربوط به check box ها رو به این صورت در فرم قرار دادم :

id=objrs("id")
<input type="checkbox" name="id" value="& id &" id='list '>

اگه امکان داره سوال دوم من رو هم جواب بدید
از شما متشکرم
 

desiran

Member
دوست عزیز من هم از این کد استفاده می کنم و کار می کنه . چندا تا رو هم انتخاب می نکنم .
شما باید توجه داشته باشید که است checkbox ها یکی باشه
و این چه جوریه؟!
شما باید این طوری بنویسید .

HTML:
<input type="checkbox" name="ID" value="<%Response.Write Objrs.Fields("ID")%>">

و برای پاک کردن
HTML:
set objconnection=server.createobject("adodb.connection")
strconnection="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("yourDB")
objconnection.open strconnection
set objrs=server.createobject("adodb.recordset")
objrs.open "select * from YourTbl where ID IN ("&Request.Form("ID")&")",objconnection,3,3
while not objrs.eof 
objrs.delete
objrs.movenext
wend

من از این کد استفاده می کنم و جواب میده باز هم اگه مشکلی بود بگید تا اساسی حل کنیم :)

موفق باشید
 
آخرین ویرایش:

datum

Member
سلام دوستان از راهنمایی هاتون واقعا ممنونم

دوست عزیز desiran من دقیقا خطوط کد هایی رو که شما دادید رو برنامه گذاشتم اما از خط objrs.open ایراد کرفت بعد اومدم یه تک کوتیشن به داخل پرانتز ها اضافه کردم اما فقط برای یک check box جواب میده و در غیر این صورت صفحه سفید نمایش میده :
objrs.open "Select * From recyclebin where id in ('"&request.Form("id")&"')", objconn,3,3
این همون خطه , نمیدونم شاید اشکال تایپی داره که جواب صحیح نمیده راستش روش شما خیلی خوبه و نمی خواهم بگم روشتون نادرسته ولی نمیدونم چرا جواب درست نمیده

دوست عزیز amirlol به نظر من روش شما کامل ترینه , من از همین روش استفاده کردم و الان هم رو هاسته ولی میخوام روش desiran رو هم یاد بگیرم

باز هم ممنون
 

desiran

Member
نه دوست عزیز نیازی به کوتیشن نیست . اگر از objrs.open اشکال می گیره شما دیتا بیس رو میسرشو مشخص کردید ؟!

بااین کد

HTML:
strconnection="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("yourDB")
 
آخرین ویرایش:

datum

Member
...

سلام
دوست عزیز فکر میکنم پیغام قبلی من رو کامل نخوندی
درسته که کمن گفتم از کد هاتون استفاده کردم ولی تو برنامه از روش خودم رفتم و فقط select ش رو تغییر دادم
آخه اگه دیتابیس رو درست مسیردهی نکرده باشم چه طور واسه یکی جواب میده ولی برا چند تا نه
خوب فکر میکنم اگه صفحات رو برات بفرستم بهتر باشه خودت اشکال کارم رو بگیر اگه زحمتی نیست
متشکرم
 

پیوست ها

  • New Folder.rar
    11.5 کیلوبایت · بازدیدها: 1

desiran

Member
حل مشکل

سلام دوسته عزیز
من کد شما رو اصلاح کردم
مشکل شما مربوط به دیتا بیستون می شد . شما برای کار کردن باید همیشه یه ستون به نام ID داشته باشید که نوع آن AutoNumber و Primary Key داشته باشه . در این ستون ID ها بصورت خودکار تولید میشه و هیچ عدد تکراری هم در این تولید نمی شود.
و هم چنین در کد نوشتن خیلی خودتونو اذیت می کنید . خیلی داده تر از این حرف ها هم میشه نوشت.و در مورد کد های صفحه ی delete2.asp نیاری به تغیر آن ها نیست فقط این طوری خیلی راحت تره . بهتر ه آسان ترین راه ها رو برای کد نویسی انتخاب کنید و از نوشتن بیخود پرهیز کنیم . چون حجم فایل ها مون بالا میره .
اگه باز هم مشکلی بود حل می کنیم
 

پیوست ها

  • New Folder.rar
    14.7 کیلوبایت · بازدیدها: 1

datum

Member
سلام
دوست عزیز desira از اینکه حوصله به خرج دادی و پاسخگوی سوالات من بودی کمال تشکر رو دارم
باید بگم مطلبی رو که در مورد دیتابیس گفتید میدونم و دلیل اینکه من از این روش استفاده نکردم اینه که باید id هر کاربر دو رقمی باشه تا آخر یعنی از 10 تا آخر باشه که این مسله هم یه دلیل منطقی داره وگرنه من خودم رو این همه اذیت نمیکردم
این id مربوط به مشخصات کاربر میشه و چون idstr گاهی اوقات تکراری هست id هم باید در کنارش به عنوان کد قرار بگیره البته با این توضیحات کاملی که دادید یه جرقه تو کلم زد
متشکرم در واقع شما هر دو سوال منو جواب دادی
 

leg_big

Member
سلام دوستان اینم کد کاملا سالم .
هرکی که می خواد یاد بگیره ، دریافت کنه ! احتیاج به تشکر نیست ؟!!!!1 :d
 

پیوست ها

  • MAIN.zip
    10.1 کیلوبایت · بازدیدها: 2

leg_big

Member
راستی اگه خواستی فیلد id رو از حالت شماره دهی خودکار خارج کنید ، و یا اینکه رندمش کنید .
 

leg_big

Member
ولی می گم بچه ها همه از دم برنامه نویس هستن ها ؟! !!!!!
همشون سوالت رو نفهمیدن >؟!!! البته خودت هم سوالت رو نفهمیدی ، اگه به من ایمیل نمی زدی منم نمی فهمیدم. حالا در هر صورت براتون فایل کامل رو گذاشتم . بدون مشکل هم هست ، فقط آدرس فایل پایگاه اطلاعاتی رو روی سیستم خودتون تغییر دهید . تا با مشکلات عجیب مواجه نشید .!!!
 

desiran

Member
مشکلی نیست به جای این که تایپ ID رو Text به زارید اونو Number قرار دهید باز هم مشکلی ندارید
 

desiran

Member
یه سوال دیگه هم داشتم
این که این کار ها یعنی recyclbin برای چیه ؟
 

datum

Member
leg_big فکر میکنم شما از دنیا خیلی عقب تشریف داری یا هنوز خوابی مشکل حل شده رفته پی کارش اونوقت تازه از خواب پاشدی میگی کی منظور کی رو نفهمیده ؟
قبل از اینکه نظر بدی تاپیک رو کامل بخون بد نیست ازت مالیات هم نمیگیرن و اینطوری به دوستان اهانت نمیکنی
روش شما متین اما قبل از انجامش یه سری باید ویرایش هم بشه , شما که ادا میکنی تر تمیز کد نویسی میکنی بهتره قبل از attach کردن یه نگاه به کد نویسیت بندازی
شما که منظور منو از خودم بهتر فهمیدی خوب لابد باید این رو هم فهمیده باشی که من نمی خوام از auto استفاده کنم و اصلا این فیلد میبایست text باشه نه number اگه پیغام های قبلی رو میخوندی من این موضوع رو در همین page توضیح دادم و نیازی به زحمت کشیدن و عرق ریختن شما و کشف منظور من نبود
دوست عزیز desiran همون طور که گفتم من باید این فیلد رو به صورت text تعریف کنم برای این کارم هم دلیل خاصی دارم اما شما با توضیحاتی که دادی روش رو خودم کشف کردم
جا داره همین جا از دوست عزیز amirlol تشکر کنم که همون اول جواب درست رو داد
از شما دو دوست عزیز هم متشکرم
در ضمن leg_big اگه میخوای دوا کنی بهتره توحیناتت رو به خودم میل کنی و اینطوری به دیگران احانت نکن
 
بالا