PDA

View Full Version : query در mysql و php



HRezaei
چهارشنبه 18 بهمن 1385, 19:14 عصر
فرض کنید از دیتابیس یک کوئری شبیه این بگیریم :
select * from table1
حالا می خوایم جواب این کوئری رو تو یه جدول نمایش بدیم اما عنوان ستونها را نمی دونیم.(مثلاً می خوایم ازین راه چند تا جدول مختلف با تعداد ستون ها و نام های مختلف رو نمایش بدیم)
چه جوری میشه عنوان هر ستون رو بدست آورد ؟
خیلی تو انجمن گشتم ولی چیزی در این مورد پیدا نکردم.اگه هست لینک شو بزارید.

(ضمناً این مشکل فارسی نویسی که تقریباً نصف حجم مطالب انجمن رو گرفته ، مشکل ما هم هست .
database collation و جدول ها و ستون ها را با utf8_persian_ci یا utf-8_unicode_ci ساخته ام و phpmyadmin دیتاهای فارسی رو درست نشون میده اما تو صفحات خودم که charset شون رو با unicode(utf-8) یا windows1256 و چیزای دیگه امتحان کردم ، متن های استاتیک و ثابت فارسی بدرستی به نمایش در میاد ولی دیتاهایی که از دیتابیس خارج شده اند به صورت علامت سوال نمایش داده می شوند؟ یکی از دوستان گفته بود که تنظیمات زبان ویندوز تو چهار جای مختلف رو باید به فارسی تغییر بدید.زبان مورد استفاده برای برنامه های non unicode را فارسی کردم.زبان استاندارد خود ویندوز(regional and language option) رو هم فارسی کردم.
از wamp server5 استفاده می کنم .
خسته شدید از خوندن این سوالای طولانی و تکراری . نه؟)

tabib_m
پنج شنبه 19 بهمن 1385, 16:48 عصر
$query=mysql_query("select * from `table1`");

while($row=mysql_fetch_assoc($query)){
print_r($row); // Array ([Name]=>'Mohsen' , [Family]=>'Haeri' , [Age]=>'19')
}

I,Nobody
پنج شنبه 19 بهمن 1385, 18:40 عصر
از تابع mysql_field_name استفاده کن

mermaid
دوشنبه 23 بهمن 1385, 08:45 صبح
عنوان ستونها رو اگر می خوای باید از تابع mysql_list_fields استفاده کنی ، این هم مثالی که توی خود Help مربوطه نوشته شده ... امیدوارم به دردت بخوره



<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

$fields = mysql_list_fields("database1", "table1", $link);
$columns = mysql_num_fields($fields);

for ($i = 0; $i < $columns; $i++) {
echo mysql_field_name($fields, $i) . "\n";
}
?>