PDA

View Full Version : آموزش: درج شماره بلیط



zare_a87
جمعه 25 مهر 1393, 14:22 عصر
سلام
چه جوری می تونم در تصویر پیوستی در دیتابیس mysql هم شماره ردیف و هم شماره بلیط به صورت اتومات شماره گذاری کنم
باتشکر124616

bagherok
جمعه 25 مهر 1393, 15:44 عصر
هم تو بخش mysql مطرح کردید هم اینجا!!!



SET @Max = (SELECT MAX(`ID`) + 12000 FROM `table`);
INSERT INTO `table` (`id`, ` Ticket_id`, `other_field`)
VALUES (NULL, @Max , 'value')


یه راهشم استفاده از triger هست

zare_a87
چهارشنبه 30 مهر 1393, 18:01 عصر
سلام
میشه واضحتر با یک مثال توضیح بدید

nazanin_asadi_1
چهارشنبه 30 مهر 1393, 18:16 عصر
اگه شماره بلیط قراره به صورت افزایشی باشه و مسلما کلید هم هستش یعنی شماره بلیط تکراری قرار نیست داشته باشی
خب پس بیا این فیلد رو به عنوان کلید در نظر بگیرش و چون می خوای شماره بلیط ها از یه عدد خاصی شروع بشه می تونی با دستور زیر مقدار اولیه بهش بدی

ALTER TABLE Tablename AUTO_INCREMENT = 120000;


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

اگه زمانی خواستید به صورت لیست هم داشته باشید که توش شماره ردیف هم نیاز داشتین می تونید هنگام چاپ از یه متغیر افزایشی براش استفاده کنید

zare_a87
چهارشنبه 30 مهر 1393, 22:38 عصر
سلام
این روش به دردم نمی خوره
چون می خوام ردیف همه داشته باشم
بعدش اگه چند تا مسیر سفر مختلف باشه
چه جوری من می تونم مسافرین اون سفر رو طوری گزارشگیری کنم که ردیف از یک عدد 1 شروع و به تعداد مسافرین ردیف داشته باشم
با تشکر

nazanin_asadi_1
پنج شنبه 01 آبان 1393, 09:04 صبح
سلام
این روش به دردم نمی خوره
چون می خوام ردیف همه داشته باشم
بعدش اگه چند تا مسیر سفر مختلف باشه
چه جوری من می تونم مسافرین اون سفر رو طوری گزارشگیری کنم که ردیف از یک عدد 1 شروع و به تعداد مسافرین ردیف داشته باشم
با تشکر
با این توصیفی که کردین معلومه تجزیه تحلیلتون از این مسئله یه خرده ضعف داره

اگه این بلیط برای مسافرها باشه خب چندین روش (بهترین و بدترین ها ) برای حل این مسئله میتونید داشته باشین

گفتین برای هر مسیر چطوری گزارشگیری کنید اونم از عدد یک شروع بشه

من زیاد از پروژه و تجزیه و تحلیلهای انجام شده درباره این مسئله اطلاع ندارم

ولی در ساده ترین حالت هر اتوبوس (برای مثال ) یه تعداد صندلی داره و هر بار یه مسیری رو میخواد بره
خب یه جدول برای اتوبوس انتخاب میکنیم و مشخصات اتوبوس رو نگه میداریم
یه جدول واسه مشخصات راننده و کمک راننده و ... ( هر اتوبوس ممکنه هر بار با یک راننده حرکت کنه و باید جوری باشه که با انتخاب اتوبوس بشه فهمید چه راننده هایی چه مسیرهایی رو با این اتوبوس رفتن و برعکس و....)
یه جدول واسه لیست صندلی های این اتوبوس لازمه
یه جدول هم واسه بلیط ها که مشخص کنه این بلیط مربوط به کدوم اتوبوس و کدوم شماره صندلی هستش

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

kabootar_y
پنج شنبه 01 آبان 1393, 10:32 صبح
به نظر من می تونید هر بار که می خواهید یک بلیط جدید ثبت کنید شماره آخرین بلیط را بگیرید و به اضافه یک کنید و بعد به عنوان شماره بلیط جدید ثبت کنید.

بر فرض اینکه اسم جدول بلیط هاتون tickets باشه و اسم ستون شماره بلیطهاتون ticket_num باشه کدهاتون میشه این طوری:






$sql = "SELECT ticket_num FROM tickets ORDER BY ticket_num DESC LIMIT 0,1";
$query = mysql_query($sql, $connection);
$last_ticket = mysql_fetch_array($query);


$new_tiket_num = $last_ticket['tiket_num'] + 1;




$new_sql = "INSERT INTO tickets (id, ticket_num, first_name, last_name, father_name) VALUES ('', $new_ticket_num, $first_name, $last_name, $father_name)";