http://www.dzbatna.com/images/icons/iconrote.gif ط¯ط±ظˆط³ طھط¹ط§ظ…ظ„ ظ…ط¹ ط¥ط·ط§ط± ط§ظ„ط¹ظ…ظ„ CodeIgniter ط§ظ„ط¯ط±ط³ ط§ظ„ط±ط§ط¨ط¹
http://upload.dzbatna.net/upfiles/JRg54051.png
السلام عليكم ورحمة الله وبركاته
اليوم راح نشرح طريقة التعامل مع كلاس في models قاعدة البيانات وعرضها لزائر مع كم مثال
http://upload.dzbatna.net/upfiles/J6Z54823.png
ندخل ملف models ونعمل ملف PHP ونعطيه اي أسم انا سميته dbmsg
http://www.dzbatna.com/attachments/7...80189642-1.jpg
نعمل كلاس تابع لكلاس الاطار
رمز PHP:
class Dbmsg extends CI_Model{
function msg(){
# طريقة get
# تعمل لك SELECT * FROM
//$query = $this->db->get('lastpost');
########################################
## هذه طريقة الثانية
$query = $this->db->query('SELECT * FROM `lastpost`');
## تحقق اذا كان في ناتج يرجع القيم
if ($query->num_rows() > 0)
{
##return $query->result_array();
## يرجعها لك مثال
## $row['title'];
###############################
## اما
## result();
## يرجعها لك
## $row->title;
## وعندنا
##row()
## يرجعلك أول ناتج فقط
return $query->result();
}
#########################################
# فنكشن مساعد
/*
هذه ترجعها لك على طريقة
-> object
$row = $query->first_row()
$row = $query->last_row()
$row = $query->next_row()
$row = $query->previous_row()
تريدها ترجعلك على على مصفوفة
('array')
$row = $query->first_row('array')
$row = $query->last_row('array')
$row = $query->next_row('array')
$row = $query->previous_row('array')
###################################
عدد الصفوف
$query->num_rows()
عدد الخانات
$query->num_fields()
تحرير الذاكرة
$query->free_result()
*/
}## نهاية الفنكشن
}## نهاية الكلاس
Database Quick Start : CodeIgniter User Guide
http://upload.dzbatna.net/upfiles/J6Z54823.png
الان ماذاه عملنا
عملنا كلاس وداخل هذه الكلاس فنكشن يرجع لنا مصفوفه من قاعدة البيانات
الان وضع معلومات الاتصال
ندخل على ملف \config ودخل هذه الملف تجد database.php
http://www.dzbatna.com/attachments/7...80189648-2.jpg
http://upload.dzbatna.net/upfiles/J6Z54823.png
الان نروح ملف config مره ثانية وندخل على ملف autoload.php
نحمل مكتبة قاعدة البيانات
http://www.dzbatna.com/attachments/7...80190586-3.jpg
http://upload.dzbatna.net/upfiles/J6Z54823.png
أحين نروح على ملف controllers
رمز PHP:
## تحميل موديل قاعدة البيانات
$this->load->model('dbmsg');
وبعد ماحملنا الي عملنا نشغل الفنكشن الي عملنا كمان
رمز PHP:
//هذه المصفوفة من قاعدة البيانات
$data['news'] = $this->dbmsg->msg();
هذه الكود code كامل مع الدروس القديمة
رمز PHP:
## هذه السطر خاص للحماية
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
// بداء الكلاس
class Test extends CI_Controller {
## بداء الفنكشن
public function index()
{
## تحميل موديل قاعدة البيانات
$this->load->model('dbmsg');
// هذه المصفوفه الدرس مفصل الثاني
## $testdata['title'];
$data['testdata'] = array(
'title' => 'My Title',
'heading' => 'My Heading',
'message' => 'My Message'
);
//هذه المصفوفة من قاعدة البيانات
$data['news'] = $this->dbmsg->msg();
## نحمل صفحة الفيو الي عملناها
$this->load->view('head',$data);
$this->load->view('body',$data);
$this->load->view('footer');
}
## صفحة معلومات عنا
public function about()
{ ## وضع المتغيرات في مصفوفه
$data = array(
'title' => 'My Title',
'heading' => 'My Heading',
'message' => 'My Message'
);
## نحمل صفحة الفيو الي عملناها
$this->load->view('head',$data);
$this->load->view('about');
$this->load->view('footer');
}
## صفحة الاتصا بنا
public function contact()
{ ## وضع المتغيرات في مصفوفه
$data = array(
'title' => 'My Title',
'heading' => 'My Heading',
'message' => 'My Message'
);
## نحمل صفحة الفيو الي عملناها
$this->load->view('head',$data);
$this->load->view('contact');
$this->load->view('footer');
}
}## نهاية الكلاس
http://upload.dzbatna.net/upfiles/J6Z54823.png
أيش باقي نعرضها في ملف الفيو
هي مصفوفه المفروض تعرف كيف تعرضها
اعطيك مثال
رمز PHP:
if(!$news){echo "
للاسف لا توجد نتائج
";}
foreach ($news as $news_item): ?>
endforeach ?>
كود code كامل مع الدروس القديمة
رمز PHP:
أهلا وسهلاً بكم في :: TRAIDNT FORUM :: .
ذا كانت هذه الزيارة الأولى أو لديك الرغبة بالانضمام لأعضاء معهد ديزاد باتنة فيجب الاطلاع على خصوصية ديزاد باتنة فربما بقائك زائر افضل لك من الانضمام بحيث أن قوانين ديزاد باتنة لا تتناسب مع اهتماماتك .
التسجيل في مجتمع ديزاد باتنة بشكل مباشر - التفاصيل
if(!$news){echo "للاسف لا توجد نتائج
";}
foreach ($news as $news_item): ?>
endforeach ?>
http://www.dzbatna.com/attachments/7...80190820-4.jpg
http://upload.dzbatna.net/upfiles/J6Z54823.png
وهذه القاعدة البيانات الي انا عملت عليها المثال
رمز PHP:
-- phpMyAdmin SQL Dump
-- version 4.0.4.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Sep 26, 2014 at 12:21 PM
-- Server version: 5.6.11
-- PHP Version: 5.5.3
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `test`
--
CREATE DATABASE IF NOT EXISTS `test` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `test`;
DELIMITER $$
--
-- Procedures
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `test_multi_sets`()
DETERMINISTIC
begin
select user() as first_col;
select user() as first_col, now() as second_col;
select user() as first_col, now() as second_col, now() as third_col;
end$$
DELIMITER ;
-- --------------------------------------------------------
--
-- Table structure for table `lastpost`
--
CREATE TABLE IF NOT EXISTS `lastpost` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL,
`msg` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
--
-- Dumping data for table `lastpost`
--
INSERT INTO `lastpost` (`id`, `title`, `msg`) VALUES
(1, 'رونالدو يصعد للمركز الخامس في قائمة أفضل الهدافين بتاريخ الريال', '\nأكد رئيس نادي ريال مدريد الإسباني فلورنتينو بيريز اليوم الأحد في الجمعية العمومية الاعتيادية للنادي أنه لا يوجد أحد في مجلس الإدارة يؤثر في قرارات المدير الفني الإيطالي كارلو أنشيلوتي خاصة فيما يتعلق بمن يتوجب عليه حراسة عرين الفريق.\n\nوقال فلورنتينو ردا على مداخلات أحد الأعضاء الذي تحدث عن وجود "أيادي خفية" تلعب ضد الحارس إيكر كاسياس قائد الفريق "لا أحد يحق له اخبار مدرب بمن يجب أن يلعب ومن لا، خاصة في حالة كاسياس الذي يمتلك حب كل الادارة والجماهير، بالنسبة لي هو أفضل حارس في العالم".\n\nوأضاف المسئول "أرغب في تبديد كل الشكوك، لم يتحدث أحد في ريال مدريد مع المدرب بخصوص هذا الموضوع، نحن سعداء بكاسيا'),
(2, 'أكد رئيس نادي ريال مدريد الإسباني فلورنتينو بيريز اليوم ا', '\nأكد رئيس نادي ريال مدريد الإسباني فلورنتينو بيريز اليوم الأحد في الجمعية العمومية الاعتيادية للنادي أنه لا يوجد أحد في مجلس الإدارة يؤثر في قرارات المدير الفني الإيطالي كارلو أنشيلوتي خاصة فيما يتعلق بمن يتوجب عليه حراسة عرين الفريق.\n\nوقال فلورنتينو ردا على مداخلات أحد الأعضاء الذي تحدث عن وجود "أيادي خفية" تلعب ضد الحارس إيكر كاسياس قائد الفريق "لا أحد يحق له اخبار مدرب بمن يجب أن يلعب ومن لا، خاصة في حالة كاسياس الذي يمتلك حب كل الادارة والجماهير، بالنسبة لي هو أفضل حارس في العالم".\n\nوأضاف المسئول "أرغب في تبديد كل الشكوك، لم يتحدث أحد في ريال مدريد مع المدرب بخصوص هذا الموضوع، نحن سعداء بكاسيا'),
(3, 'رئيس ريال مدريد: لا أحد يؤثر على قرارات أنشيلوتي', '\nأكد رئيس نادي ريال مدريد الإسباني فلورنتينو بيريز اليوم الأحد في الجمعية العمومية الاعتيادية للنادي أنه لا يوجد أحد في مجلس الإدارة يؤثر في قرارات المدير الفني الإيطالي كارلو أنشيلوتي خاصة فيما يتعلق بمن يتوجب عليه حراسة عرين الفريق.\n\nوقال فلورنتينو ردا على مداخلات أحد الأعضاء الذي تحدث عن وجود "أيادي خفية" تلعب ضد الحارس إيكر كاسياس قائد الفريق "لا أحد يحق له اخبار مدرب بمن يجب أن يلعب ومن لا، خاصة في حالة كاسياس الذي يمتلك حب كل الادارة والجماهير، بالنسبة لي هو أفضل حارس في العالم".\n\nوأضاف المسئول "أرغب في تبديد كل الشكوك، لم يتحدث أحد في ريال مدريد مع المدرب بخصوص هذا الموضوع، نحن سعداء بكاسيا');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
http://upload.dzbatna.net/upfiles/J6Z54823.png
الان الناتج العرض من قاعدة البيانات
http://www.dzbatna.com/attachments/7...80191014-5.jpg
اذا كنت تعرف أساسيات الاستعلام راح تفهم بعض الاكواد الي تساعدك
Database Quick Start : CodeIgniter User Guide
http://upload.dzbatna.net/upfiles/mA854984.png
الملفات المرفقة [TR]
http://www.traidnt.net/vb/images/attach/zip.gif test.zip (1.5 كيلوبايت, عدد مرات المشاهدة 7 مرة) [/TR]
https://fbcdn-sphotos-d-a.akamaihd.n...93518507_n.png
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©