نمایش نتایج 1 تا 7 از 7

نام تاپیک: ایجاد کلاس دیتابیس

  1. #1
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کرمان
    پست
    222

    ایجاد کلاس دیتابیس

    سلام
    من دارم یه کلاس می نویسم که میخوام این کلاس طوری باشه که وقتی که مثلا خواستم یه مقداری رو به دیتابیس اضافه کنم فقط یه تابع رو صدا بزنم و نام دیتابیس؛ نام ستون های دیتابیس و مقادیر ورودی رو بفرستم حالا تابعی که وجود داره با pdo این مقدار رو به دیتابیس اضافه کنه
    مثلا:
    در صفحه insert:
    include("class.php");
    $con = new database;
    $con->connection();
    $con->insert("users",array("username","password","name" ,"email"),array("mohamad","123","mo","no"));

    و در صفحه کلاس:
    class database{
    function connection(){
    $host="localhost";
    $connect=new PDO("mysql:host=".$host.";dbname=pdo","root","");
    $connect-> exec("SET NAMES utf8");
    return $connect;
    }
    function insert($dbname,$arrayCN,$arrayVN){
    $result5=$this->connection();

    $i=0;
    $sql="insert into '$dbname' ())values(:?)";

    $result5->prepare($sql);

    $result5->execute(

    while($i){
    array(
    $arrayCN[$i]=>$arrayVN[$i];
    if($arrayVN[$i+1])
    break;
    $i=$i+1;
    }
    ));


    }
    }


    البته این کلاس درست نیست فقط میخواستم سوال رو براتون توضیح بدم
    حالا
    1- آیا این کار؛ کار درستی است؟ یعنی بیام pdo رو با شی گرا قاطی کنم؟
    2- آیا شما ایده ای برای این کار دارید؟ در واقع من این کار رو بخاطر این میخوام انجام بدم که از نوشتن کد های PDO در جاهای مختلف برنامه جلوگیری بشه و فقط توی یه خط کد و با فراخونی یه تابع و دادن ستون های دیتابیس مقادیر ورودی این کار انجام بشه.

  2. #2

    نقل قول: ایجاد کلاس دیتابیس

    البته فکر میکنم توی سؤالتون منظور از دیتابیس، همون جدول بوده چون دیتابیس که قاعدتاً ثابته. بهرحال چنین کدی میتونه کاری که میخواین رو انجام بده:
    class DB {
    private $pdo;

    public function __construct()
    {
    // initialize the $this->pdo here to connect to DB
    }

    public function Insert($table, $fields)
    {
    $query = "INSERT INTO `{$table}` ";
    // add field names
    $fieldNames = array_keys($fields);
    $query .= '(`' . implode('`,`', $fieldNames) . '`) ';
    // add field values
    $values = array_keys($fields);
    $query .= 'VALUES (\'' . implode('\',\'', $values) . '\');';
    $pdo->exec($query);
    }
    }

    // usage:
    $db = new DB;
    $db->Insert('students', array('name'=>'alireza', 'family'=>'hoseini', 'average'=>15.5));

    درصورت نیاز میتونید منطق کار رو تغییر بدین تا مواردی مثل Escape کردن و... رو بهش اضافه کنید.

  3. #3
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: ایجاد کلاس دیتابیس

    البته ربطی به سوال شما نداره به شکل مستقیم
    ولی از یک آرایه استفاده کنی جالب تره برای کلید ها ومقادیر بجای اینکه 2 تا آرایه بفرستی

    من نمونش رو خیلی وقت پیش نوشته بودم .... یادم رفت جایی هم معرفیش کنم !
    https://github.com/maxxxir/php-crud

  4. #4
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کرمان
    پست
    222

    نقل قول: ایجاد کلاس دیتابیس

    سلام چند وقت پیش این تایپیک رو ایجاد کردم ولی وقت نشد روی این کلاس کار کنم تمام عملیات رو میتونم انجام بدم ولی مشکل اینجاست وقتی که اطلاعات رو از جدول select کردم چه جوری اون ها رو از کلاس بازگشت بدم ؟

  5. #5
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کرمان
    پست
    222

    نقل قول: ایجاد کلاس دیتابیس

    کسی نظری نداره؟

  6. #6
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کرمان
    پست
    222

    نقل قول: ایجاد کلاس دیتابیس

    !!!!!!!!!!!!!!!!!!!!up

  7. #7
    کاربر دائمی آواتار hamedarian2009
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    گرگان
    پست
    1,691

    نقل قول: ایجاد کلاس دیتابیس

    نقل قول نوشته شده توسط mohamadali1374 مشاهده تاپیک
    سلام چند وقت پیش این تایپیک رو ایجاد کردم ولی وقت نشد روی این کلاس کار کنم تمام عملیات رو میتونم انجام بدم ولی مشکل اینجاست وقتی که اطلاعات رو از جدول select کردم چه جوری اون ها رو از کلاس بازگشت بدم ؟
    خب اطلاعات رو fetch کردی به صورت یک آرایه هست return میکنی و ازش استفاده میکنی

تاپیک های مشابه

  1. ایجاد کلاس کانکشن برای دیتابیس sql
    نوشته شده توسط mahdieh5 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 17 شهریور 1390, 07:47 صبح
  2. ایجاد کلاس جدید.
    نوشته شده توسط danyansari در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: شنبه 11 فروردین 1386, 23:25 عصر
  3. ایجاد کلاس از Crystal Report
    نوشته شده توسط ar_monti@ در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: یک شنبه 01 بهمن 1385, 16:58 عصر
  4. ایجاد کلاس
    نوشته شده توسط hassan_RK در بخش طراحی وب (Web Design)
    پاسخ: 6
    آخرین پست: شنبه 19 فروردین 1385, 14:36 عصر
  5. راهنمایی در مورد ایجاد یک دیتابیس چند قسمتی
    نوشته شده توسط babak869 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 12
    آخرین پست: جمعه 08 مهر 1384, 22:59 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •