ورود

نسخه کامل مشاهده نسخه کامل : استخراج اطلاعات به صورت معكوس



hboy
15-10-2009, 14:06
با سلام :
چطور ميشه اطلاعات يك بانك اطلاعاتي mysql را از طريق php به صورت معكوس استخراج كرد؟
براي مثال فرض كه ما اطلاعاتي را از طريق ورودي يك فرم گرفته و داخل جدولي ذخيره مي كنيم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دوستان! كدهاي بالا را خلاصه نوشتم و اگه اشباه هست براي اينه كه اينجا درام با عجله مي نويسم يعني مشكل من درست ننوشتن كد نيست و كد بالا درست عمل ميكنه!
حالا فرض كه صفحه اي داريم كه با رفتن به اين صفحه تمامي اطلاعات جدول بالا قابل مشاهده است:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
كد بالا هم اگه اينجا درست نوشته باشم براي من درست عمل ميكنه!
اما مشكل اينه كه اگه يك نام تازه و ايميل و نظر تازه وارد بشه و آن وقت بخواهيم تمام اطلاعات را ببينيم، تازه ترين اطلاعات داده شده آخر از همه به نمايش در مي آيند. آيا تابعي يا راه ساده اي براي نمايش اطلاعات يك جدول به صورت معكوس وجود دارد؟ يعني اينكه تازه ترين اطلاعات اول از همه نمايش داده شوند!
با تشكر از توجه شما

MAXXX
15-10-2009, 14:38
یه فیلد میزاری به اسم id
بعد براساس اون با ORDER BY مرتب میکنی

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC

hboy
15-10-2009, 18:52
ممنون از جوابتون
من اين كد رو قبلا امتحان كردم اما نميدونم چرا جواب نگرفتم .براي مثال اگه در دستور اوليه ترتيب خروجي:
a
n
i
وقتي از DESC يا ASC استفاده ميكنم نتايج درهم ريخته ميده و اصلا معكوس نيست! براي مثال ترتيب ميشه:
n
i
a
ويا
i
a
n
منظورم اينه كه بجاي داشتن خروجي به ترتيب:
i
n
a
دو خروجي بالا رو ميده و يه چيز ديگه هم اينكه وقتي از دستور فوق استفاده كردم براي خواندن از جدول، وقتي كارم تموم شد و خواستم
يه مقدار تازه به جدول اضافه كنم به آخر اضافه نمي كنه و وسط يا يه جاي ديگه اضافه ميشه! چرا؟
آيا آموزشي خوب براي اين مطلب هست يا جايي هست كه بيشتر مطلع بشم

hboy
15-10-2009, 19:01
راستي اين آدرسي كه داده بودين رو دانلود كردم ... شرمنده من بيسواتم
اين فايل مربوط به چيه و با چي باز ميشه

MAXXX
15-10-2009, 22:20
راستي اين آدرسي كه داده بودين رو دانلود كردم ... شرمنده من بيسواتم
اين فايل مربوط به چيه و با چي باز ميشه
:31: اون لینک ماله امضایه منه برای دانلود شما نیست

شما برایه اینکه جواب بگیرید باید یه فیلد از نوع عددی داشته باشید تا جواب بده
یه فیلد ب جدولت اضافه کن به اسم آیدی و نوعشو در موقع ساخت auto increment و integer بزار تا خودش خودبخود مقدار دهی بشه

hboy
16-10-2009, 18:24
دمت گرم كه حقته چون اساسا مشكل منو درك كردي و زدي تو خال!
مرسي
راستي يه سوال ديگه:
براي تعيين اينكه يك جدول چندتا خط از اطلاعات رو برگردونده استفاده از كد زير هست:


.
.
$Query=mysql_query("SELECT * FROM `tablename`");
$Num=mysql_num_rows($Query);
.
.

سوالم اينه كه آيا ميشه بدون خواندن محتوي جدول و به صورت سريعتر به تعداد رديفهايي كه در جدول وجود داره دسترسي داشت ؟
=================
تشكر

MAXXX
16-10-2009, 23:15
روش های دیگه هم هست بر اساس همون فیلد id ولی امکان اشتباه وجود داره
مثلا این جدولته با 2 فیلد

id .... value

1.... m

2.... n

3 .... o

id سطر آخر 3 هستش و تعداد سطر های کل جدول هم 3 هستش
اشتباه هم اینطور پیش میاد که شما مثلا سطر 2 رو پاک کنید
اینطوری شماره آخرین id همون 3 میمونه ولی سطر های جدول 2 تا میشه

کلا باید دید میخای چیکار کنی و جوانب کار رو در نظر بگیری تایه راه حل زیر آبی براش پیدا کنی

hboy
23-10-2009, 14:27
ممنون از جوابتون