سلام
من یک فرم سفارش ساختم می خواهم وقتی اطلاعات ارسال شد به کاربر یک شماره پیگیری داده بشه .
لطفا راهنمایی کنید.
البته این دستور می دونم ولی نمیدونم کجا استفاده کنم .
[PHP]select max (id) from `table`[/PHP]
Printable View
سلام
من یک فرم سفارش ساختم می خواهم وقتی اطلاعات ارسال شد به کاربر یک شماره پیگیری داده بشه .
لطفا راهنمایی کنید.
البته این دستور می دونم ولی نمیدونم کجا استفاده کنم .
[PHP]select max (id) from `table`[/PHP]
شما می تونید یک عدد رندوم (مثلا 10 رقمی) برای هر سفارش ایجاد کنید، بعد اونو توی یک فیلد تیبل مربوط به اون سفارش قرار بدین
و اونو به کاربر هم بدین
توضیح بیشتر بدین لطفا
به نظر شما اینطوری اعداد تکراری نمی شن ؟نقل قول:
این هم کد :
کد:<?php
$conn=mysql_connect("HOST","USER","PASS");
mysql_select_db("DB",$conn);
$sql=mysql_query("select * from TABLE");
$num_rows=mysql_num_rows($sql);
$num=$num_rows+1;
?>
راه درستش اینه که برایه id یدونه فیلد auto increment در نظر بگیری این نوع فیلد ها نیازی به مقدار دهی ندارن و خوشون در هر سطر یه شماره افزایش پیدا میکنن و هیچوقت تکراری نمیشن
مقدارش هم با mysql_insert_id بدست میاد
به نظر شما چقدر احتمال تکرار شدن یک عدد 10 رقمی رندوم هست؟نقل قول:
هر رقم 10 حالت (بین 0 تا 9) داره که کلا میشه 10به توان 10 حالت ممکنه برای این عدد ایجاد بشه
اینم خوبه!نقل قول:
ولی وقتی شما می خوای یک شماره پیگیری به کاربر بدی، به نظرتون وقتی تعداد ارقام کل شماره های پیگیری یکسان باشه (مثلا ده رقم) بهتره یا اینکه یکنفر شمارش 1 باشه، نفر دهم 10 باشه و همینظور تا آخر؟
ببینید، شما هر سفارشو جداگانه توی یک سطر از جدول دیتا بیستون ذخیره می کنیدنقل قول:
حالا میباید یک فیلد دیگه مثلا به اسم شماره سفارش یا شماره پیگیری به اون سطر اضافه می کنید و یک عدد رندوم 10 رقمی (برای قشنگ تر شدن) موقعی که سفارش ثبت شد به اون فیلد جدول اضافه می کنید.
و اون عدد رو به کاربر هم به عنوان شماره پیگیری نشون میدید
بعد مثلا یک فرم می سازید و کاربر شماره پیگیریشو وارد میکنه. توی جدول سرچ می کنید و هر اطلاعاتی که می خواین به اون نشون بدین رو طبق اون شماره از جدول بیرون میکشه و نشون کاربرتون میده
همین
این روش درستهنقل قول:
میشه به راحتی تایین کرد از چند شروع بشه
میشه مقدار اولین فیلد auto increment رو 999 گزاشت بقیه از 1000 شروع میشه