PDA

View Full Version : نمایش اطلاعات دیتابیس بصورت جدول در PHP



hoom
پنج شنبه 25 فروردین 1384, 23:02 عصر
با سلام

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

Warning: key(): Passed variable is not an array or object in FXXX.php on line 50

Warning: implode(): Bad arguments. in XXX.php on line 57


اینم کدیه که من استفاده میکنم



$sql = "SELECT * FROM klausuren";


$result = mysql_query($sql, $connection);
if($result)
{
$row = mysql_fetch_array($result, MYSQL_ASSOC);

while ($field = key($row))
{
echo "<td>" . ucwords($field) . "</td>";
next($row);
}

echo "</tr>\n<tr><td>";
echo implode("</td><td> ", $row);
echo "</td></tr>";

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<tr><td> " . implode("</td><td> ", $row) . "</td></tr>\n";
}
}

mysql_close($connection);


خیلی ممنون اگر اساتید PHP کمک کنن. متشکر

houtanal
پنج شنبه 25 فروردین 1384, 23:12 عصر
از تابع
mysql_num_rows
برای تشخیص رکورد های بازگشتی استفاده کن به این صورت که :


if(mysql_num_rows($result)>1){
به این ترتیب در صورتیکه چیزی بر نگردد دستورات بعدی اجرا نمی شود
دلیل خطا ها هم همینه که یک مقدار null رو می خوای در یک آرایه هندل کنی

hoom
پنج شنبه 25 فروردین 1384, 23:36 عصر
خیلی ممنون. یه مشکل اساسی ام حل شد. فقط یه مشکل کوچولوش اینه که اگر بانک خالی باشه هیچی چاپ نمیکنه. راهی به نظرت نمیرسه که بتونم یه جدول خالی با فیلدها نمایش بدم. کاری که اگر جدول یه رکورد داشته باشه توی اون قسمت

while ($field = key($row))
{
echo "<td>" . ucwords($field) . "</td>";
next($row);
}
انجام میشه؟ بازم ممنون

houtanal
پنج شنبه 25 فروردین 1384, 23:43 عصر
هر چند متجه نشدم چی میگی ولی تابع
mysql_field_name
نام فیلد های یک جدول رو برات در میاره.

hoom
جمعه 26 فروردین 1384, 15:44 عصر
خیلی ممنونم ازت. کارم راه افتاد