PDA

View Full Version : طریقه صحیح خواندن اطلاعات از دیتابیس



ahmadbadpey
چهارشنبه 04 دی 1387, 15:51 عصر
با سلام خدمت دوستان
من تا به حال برای خواندن اطلاعات از داخل دیتابیس ابتدا با اجرای یک query روی برای نمایش حاصل خروجی مثلا این جوری عمل می کردم :

For ($i=0;$i!=mysql_num_rows($query);$i++){
Print ("<b>".@mysql_result($query, $i,6)." ".@mysql_result($query, $i,2)." ".@mysql_result($query, $i,3)." </b>خوش آمدید !<br>آخرین بازدید شما : <font color=\"#00FF00\">".monthes(@mysql_result($query, $i,11),@mysql_result($query, $i,10))."<font color=\"#FFFFFF\"> در ساعت </font>".@mysql_result($query, $i,12)."</font><br>پیغام های خصوصی شما : <b>".mysql_num_rows($q)."</b> خوانده نشده از <b>".mysql_num_rows($query2)."</b>");
}


البته این یه مثال بود می خوام بگم که برای نمایش اطلاعات فیلد رکوردهای انتخابی ابتدا از یه حلقه for و از تابع mysql_result() استفاده می کنم که از شماره فیلد ها استفاده می کنه . اما می دونم یه جور دیگه با استفاده از mysql_fetch_array میشه این کار رو کرد که با نام فیلد ها به جای شماره شون کار می کنه اما درست استفاده از اون رو بلد نیستم . حالا اگه کسی برام روشن کنه ممنون می شم .

اعظم
چهارشنبه 04 دی 1387, 16:11 عصر
mysql_result($query, $i,'Field_Name')

ahmadbadpey
چهارشنبه 04 دی 1387, 16:57 عصر
mysql_result($query, $i,'Field_Name')


دوست عزیز با تشکر
اما با استفاده از fetch _array و آرایه چه جوری میشه این کار رو کرد
اصلا خودت باشی چی کار می کنی؟

barnamejoo
چهارشنبه 04 دی 1387, 17:31 عصر
$res=mysql_query($query);

while($row=mysql_fetch_array($res)) {

echo "Field 1: ".$row['feild1name']." Field2: ".$row[2];

{

اعظم
چهارشنبه 04 دی 1387, 17:36 عصر
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf("ID: %s Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>







<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("ID: %s Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>




<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("ID: %s Name: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>




تفاوت سه مثال بالا در دستور mysql_fetch_array($result, MYSQL_NUM)
رو دقت کن .
MYSQL_NUM: فیلدها با عدد فراخوانی می شوند $row[1]
MYSQL_ASSOC: فیلدها با نامشون فراخوانی می شوند $row["name"]
MYSQL_BOTH: فیلدها هم با عدد و هم با نامشون می تونن فراخوانی شوند $row[1] $row["name"]

من خودم از mysql_result بیشتر استفاده می کنم ولی دلیل خاصی براش ندارم