PDA

View Full Version : خوندن اطلاعات از دیتابیس و نمایش برعکس اطلاعات



hamidhassas
شنبه 17 دی 1390, 13:29 عصر
من اطلاعات رو از دیتا بیس می خونم و آنها را در یک صحفه نمایش می دم می خوام هیشه آخرین رکورد موجود ( رکوردی که جدید تر از بقیه ثبت شده) را اول نشون بده

یعنی من یک صحفه ارسال خبر تو پروژه خودم دارم میخوام همیشه جدید ترین خبر اول نمایش داده بشه و بعد به ترتیب خبر های قدیمی تر

میخوام این کار را با نمایش برعکس ID که در دیتابیس اتوماتیک شماره می گیره نشون بدم یعنی به جای اینکه رکورد 1 تا 12 رو به ترتیب نشون بده اول 12 و بعد 11 و بعد 10 و بعد 9 و همین طور الی آخر نشون بده

لطفا اگه راهنمایی می کنید جزء به جزء توضیح بدین من تازه کارم

منون

امیـرحسین
شنبه 17 دی 1390, 13:48 عصر
SELECT * FROM posts WHERE 1 ORDER BY publishDate DESC;
براساس تاریخ خبر Order By انجام بدید. DESC یعنی نزولی.
PHP MySQL Order By Keyword (http://www.w3schools.com/php/php_mysql_order_by.asp)

hamidhassas
شنبه 17 دی 1390, 13:55 عصر
SELECT * FROM posts WHERE 1 ORDER BY publishDate DESC;
براساس تاریخ خبر Order By انجام بدید. DESC یعنی نزولی.
PHP MySQL Order By Keyword (http://www.w3schools.com/php/php_mysql_order_by.asp)

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

plague
شنبه 17 دی 1390, 13:59 عصر
بر اساس id مرتب سازی کن چون اوتو هست همیشه جدید ترین مطلب بیشترین آیدی رو داره

SELECT * FROM posts ORDER BY id DESC;

hamidhassas
شنبه 17 دی 1390, 14:11 عصر
بر اساس id مرتب سازی کن چون اوتو هست همیشه جدید ترین مطلب بیشترین آیدی رو داره

SELECT * FROM posts ORDER BY id DESC;

من کد خودم رو تغییر دادم به شکل زیر ولی خطا داره چرا؟


<?php
$con=mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database");
mysql_query('SET NAMES \'utf8\'');
$read_sql= "select * from news id DESC";
$tab=mysql_query($read_sql);
$row=mysql_fetch_array($tab);
mysql_close ($con);
?>
<table width="100%" height="100%" border="0">
<tr>
<td width="30%" rowspan="3"><img src="<?php print $row[5]; ?>" width="90%" height="90%"></td><td align="right" colspan="2"><h1><?php print $row[1]; ?></h1></td>
</tr>
<tr>
<?php
while ($row=mysql_fetch_array($tab))
{
?>
<td width="30%" rowspan="3"><img src="<?php print $row[4]; ?>" width="90%" height="90%"></td><td align="right" colspan="2"><h1><?php print $row[1]; ?></h1></td>
</tr>
<?php }?>


پیغام خطا
Warning: mysql_fatch_arry() expects parameter 1 to be resource,boolean given on c:xampp\htdocs\test\news.php on line 77

که مربوط به کد


$row=mysql_fetch_array($tab);


Warning: mysql_fatch_arry() expects parameter 1 to be resource,boolean given on c:xampp\htdocs\test\news.php on line 103

که مربوط به کد


while ($row=mysql_fetch_array($tab))

morteza_naderloo
شنبه 17 دی 1390, 15:33 عصر
$read_sql= "select * from news ORDER BY id DESC";

درستش اينه !

hamidhassas
شنبه 17 دی 1390, 15:57 عصر
ممنون درست شد
فقط یک سوال چطور میتونم کاری کنم که وقتی 10 مطلب رو سایت قرار دادم در صحفه اول 6 مطلب رو نشون بده و بعد 4 مطلب بعد رو دیگه نشون نده

morteza_naderloo
شنبه 17 دی 1390, 21:32 عصر
ممنون درست شد
فقط یک سوال چطور میتونم کاری کنم که وقتی 10 مطلب رو سایت قرار دادم در صحفه اول 6 مطلب رو نشون بده و بعد 4 مطلب بعد رو دیگه نشون نده



$read_sql= "select * from news ORDER BY id DESC LIMIT 0,6";
بفرمائيد !!

hamidhassas
شنبه 17 دی 1390, 21:53 عصر
ممنون میخواستم بدونم اگه بخوام 4 تا مطلب دیگه رو در یک صحفه دیگه نشون بده باید چکار کنم مثل سایت هایی که 10 مطلب نشون میدن و پایین صفحه سایتشون تعدادی عدد میاد که هر عدد 10 تا از مطالب قبل تر رو نشون میدن باید چکار کنم

MMSHFE
یک شنبه 18 دی 1390, 09:44 صبح
درمورد صفحه بندی مطالب یا Pagination توی انجمن جستجو کنید. قبلاً درموردش بحث شده و توابع و کلاسهای آماده ای برای کاری که میخواین توسط اعضای انجمن نوشته و ارائه شده.
موفق باشید.