فراخوانی مقدار یک فیلد

Cyletech

Member
سلام دوستان،

من یک function توی یک فایل دیدم که برام جالب بود تغییرش بدم! کار این کد این بود که مقدار مثلا فیلد ali که در sql وارد شده رو بهت میده!
یک مثال کامل: فیلد Name دارای مقدار Alireza هست که با اون کد می تونیم اون مقدارش رو در اسکریپتی که نوشتیم نمایش بدیم!

کد مورد نظر:

PHP:
  function getstats ($stats_name)
  {
    if (!($sql = mysql_query ('' . 'SELECT * FROM `stats` WHERE `Name` = \'' . $stats_name . '\'')))
    {
      exit ('<b>SQL ERROR:</b> 101, SQL Stats error.');
      ;
    }

    if ($row = mysql_fetch_array ($sql))
    {
      $Value = '' . $row['Value'];
      return $Value;
    }

  }

اما این کد فقط جدول stats رو می خونه و اگه تغییرش بدیم به users عمل نمی کنه! و مشکلش این هست که اعداد رو پشتیبانی می کنه فقط!

درخواست من: حالا من میخوام که یک چیزی شبیه این داشته باشم یا شما یک کدی تحویل بنده بدین که کلا با اون مقدار هر فیلد که بخوام نشون بده!

امیدوارم کامل و واح توضیح داده باشم ... :rose:
 

Cyletech

Member
شما میتونی تمام query رو به صورت array در خروجی ببری / return کنی

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

P.H.P

Member
الان میخوای چه کار کنی؟

میخوای بتونی table رو هم تغییر بدی؟


کد:
  function getstats ($table, $stats_name)
  {
    if (!($sql = mysql_query ('' . 'SELECT * FROM `".$table."` WHERE `Name` = \'' . $stats_name . '\'')))
    {
      exit ('<b>SQL ERROR:</b> 101, SQL Stats error.');
      ;
    }

    if ($row = mysql_fetch_array ($sql))
    {
      $Value = '' . $row['Value'];
      return $Value;
    }

  }
 

Cyletech

Member
دوست عزیز یک مشکلی بود که خطا میداد اونم این بود که . رو بعد .$table قرار نمیدادم! خلاصه ممنونم با کمک شما درست شد اما الان فقط TABLE رو قبول می کنه و من میخوام که Value که به درون فیلد به نام Name وارد کردم رو نمایش بدم!
 
آخرین ویرایش:

P.H.P

Member
PHP:
  function getstats ($table, $stats_name, $value)
  {
    if (!($sql = mysql_query ('SELECT * FROM `'.$table.'` WHERE `Name` = \'' . $stats_name . '\'')))
    {
      exit ('<b>SQL ERROR:</b> 101, SQL Stats error.');
      
    }

    if ($row = mysql_fetch_array ($sql))
    {
      $Value = $row[$value];
      return $Value;
    }

  }
 

Cyletech

Member
از شما دوست عزیز ممنونم خودم مشکل رو حل کردم و چارش ساخت یک function دیگه بود با تغییراتی جزئی. اما سوال من این هست که اگر بخوایم 4 تا function بسازیم خیلی زیاد میشه! نمیشه یک راه جم و جور تر برای این کار بگین؟ مثلا همه query هارو در یک array یا هرچی ...

ممنونم
 

P.H.P

Member
شما میتونی یه class کامل بنویسی و از اون استفاده کنی

یا اینکه با 1 funaction این کار رو انجام بدی

برای این کار باید مقدار هارو به تابع بدی بعد کاری کنی که تابع select table و ... انجام بده

به همین نمونه ای که گذاشتی دقت کن متوجه میشی


موفق
 
بالا