سلام
خسته نباشید
کسی میتونه یه توضیح نسبتا کاملی در مورد تابع های زیر بده توی نتگشتم ولی چیزی که بدردم بخوره پیدا نکردم
cmysql_fetch_array
mysql_fetch_assoc
سلام
خسته نباشید
کسی میتونه یه توضیح نسبتا کاملی در مورد تابع های زیر بده توی نتگشتم ولی چیزی که بدردم بخوره پیدا نکردم
cmysql_fetch_array
mysql_fetch_assoc
اینا مقدار برگشتیشون یک آرایه هست که نام هر خانه آرایه نام همان فیلد جدول شما است. fetch_array شامل اندیس های عدد و نام فیلد می باشد در حالیکه fetch_assoc آرایه انجمنی هست, یعنی فقط حاوی نام فیلد است.
<?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
$conn = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$conn) {
echo "Unable to connect to DB: " . mysql_error();
exit;
}
if (!mysql_select_db("mydbname")) {
echo "Unable to select mydbname: " . mysql_error();
exit;
}
$sql = "SELECT id as userid, fullname, userstatus
FROM sometable
WHERE userstatus = 1";
$result = mysql_query($sql);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
// then create $userid, $fullname, and $userstatus
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
mysql_free_result($result);
?>
ممنون
توضیح کاملی بود
ولی یکم دیگه مشکل دارم
فرض کنید ما یه جدول داریم
=============
| user | pass |
=============
| mojtaba |12345|
=============
ali | 25412 |
=============
|mahdi |...... |
=============
حالا میخواستم اگه مشکلی نیست یه توضیحی برام بدید
ما با دستور fetch_array این جدول رو داخل یک آرایه میریزیم درسته؟
بعد من گیج شدم سر اینکه حلقه while چطوری داخل این ارایه میچرخه و عملیات رو انجام میده
چون من با این حلقه یکم مشکل دارم اگه میشه یکم توضیح بدید
و اینکه این کار رو میشه با حلقه for انجام داد؟
ممنون میشم
وقتی کوئری زدی حاصل رو توی یک متغیر میریزی .ازتابع mysql_num_array() با پارامتر همون متغیر قبلی فراخوانی کن حالا یک حلقه به تعداد برگشتی از این تابع داشته باش و هربار حاصل تابعmysql_fetch_array با مقدار برگشتی کوئری توی یک متغیردیگه که در اصل یک آرایه است بریز حالا مقادیر مربوطه با حفظ ترتیب توی دیتابیس در اندیس های آرایه هستن(اندیس ها از 0 شروع میشن).
موفق باشی
با توجه به چیزی که من گفتم از for استفاده میشه(فرقی نمیکنه از چه حلقه ای).
$query="کوئری مربوط به کاری که میخوا انجام بدی'";
$result=ExecuteQuery($query);
$num=mysql_num_rows($result);
for($i=1;$i<=$num;$i++){
$row = mysql_fetch_array($result);
}
امیدوارم متوجه حرف همدیگه شده باشیم.
موفق باشی
حالا توی متغیر rowاگه اندیس را برابر 0 یا user (اگه کوئری توی جدول اول انجام شده باشه و همه مقادیر را select کرده باشی)قرار بدی مقادیر داده ها موجود در user توی دیتابیس را بهت نشون میده.
موفق باشی