PDA

View Full Version : جستجو و ذخیره در دیتابیس



tehro0n
یک شنبه 21 تیر 1394, 18:34 عصر
سلام

من اگر بخوام جستجوی دسته ای انجام بدم تابعی هست؟
برای مثال من اعداد 1,2,3,4,5,6 را در دیتابیس دارم
حال می خوام اعداد 1,4,8 رو بررسی کنم که آیا در دیتابیس وجود دارد یا نه، و اگر نبود آن دسته از اعداد رو اضافه کنم

اینجوری فقط دو کوئری زده خواهد شد، اما هرکاری می کنم عملی نمیشه..



$query = $mysqli->query("SELECT `id` FROM `users` WHERE `id` IN ('".implode("','",$ids)."')");


با این کوئری من می تونم متوجه بشم که اعداد 1,4 در دیتابیس وجود داره اما چیزی که من می خوام جواب 8 هست یعنی اونایی که وجود نداره
همچنین تو فکر اینکه جواب هارو بریزم تو آرایه جدید و با تابع array_diff بیام مقایسه کنم هم افتادم که چون هم تعداد بالاس و هم موقعی که آرایه یک مقدار دارد به مشکل می خوره

H:Shojaei
یک شنبه 21 تیر 1394, 20:06 عصر
خوب من که نمیدونم کاری که میخواید انجام بدین چیه ولی میتونید اون فیلد اعداد رو unique قرار بدین و به راحتی از تکرار جلوگیری کنید اگر منظور همینه...

Unique
یک شنبه 21 تیر 1394, 21:54 عصر
منم نمیدونم شما دقیقا میخواین چیکار کنین. توی این سناریو ها عموما برنامه نویس داره اشتباه میکنه و یک مفهومی را نادیده میگیره.


همچنین تو فکر اینکه جواب هارو بریزم تو آرایه جدید و با تابع array_diff بیام مقایسه کنم هم افتادم که چون هم تعداد بالاس و هم موقعی که آرایه یک مقدار دارد به مشکل می خوره
اتفاقا این درسته و میشه این کار را کرد فقط باید فیلد مورد نظر index باشه و تعداد ID هم عموما کم خواهد بود (مگه اینکه واقعا همون مشکل مفهوم باشه) آرایه ۱ مورد یا n مورد هم فرق نمیکنه و باید درست کنه.