موضوع الاسئلة العام للاخوان الي مايقدرو يضيفو موضوع جديد لحداثة عضوياتهم
#1
Posted 18 April 2011 - 06:18 AM
عام إلى جميع الاخوان هذا موضوع للنقاشات والاستفسارات بشكل عام بخصوص اطار العملYii
فالرجاء المشاركة من الجميع لمن ليس لديهم امكانية اضافة موضوع جديد
--------------------------
اخوكم/ مؤيد المحمدي
#2
Posted 18 April 2011 - 08:28 AM
أريد أن أقوم بإظهار خمسة تسجيلات في كل ثانية. فمثلا إن كان الجدول في قاعدة البيانات يحتوي على 20 تسجيلات أريد أن أقوم بإضهار 5 تسجيلات في كل ثانية.
وهذا هو الكود الحالي الذي يظهر جميع التسجيلات.
<? php $ Company = Company:: model () -> findAll (); foreach ($ companies as $ company) { ?> <tr style="text-align:center;"> <td style="font-size:small; font-weight: bolder; white-space: nowrap;"> <? php echo $ company-> name;?> </ td> </ tr> <? php}?>أتمنى أن تساعدوني إن أمكن والله ولي التوفيق
#3
Posted 18 April 2011 - 09:56 AM
حقيقة ماني قادر افهم الفايدة لاكن اكيد انت عندك اسبابك
بدايتاالكود الي انت حطيتة فقط يقوم بعرض النتايج (ولاأعتقد انه شغال لوجود خطأ فيه) ولاكن هذا الكود فين موجود بالضبط ؟
هل هو بالكنترولر ولا الفيو ؟؟ لاني شايفك دامج الاثنين بخطوة وحدة وهذا الشي
يخالف مفهوم اطار العمل اساسا
--------------
الموضوع الثاني يالغالي هو انه طلبك يمكن تحقيقة بالاجاكسAjaxاو مثلا كود جافاسكربت بسيط ويكون موجود بجزء الفيو بحيث انه يستدعي سجلات اخرى كل
فترة زمنية معينة بالاجاكس وثم يعرضها مباشرة
او
يستم استدعاء كامل السجلات العشرين وثم عن طريق الجافاسكربت اوjQuery
يتم عرض 5 كل فترة زمنية معينه
--------------------
هذا والله اعلم
بالتوفيق اخوي
#4
Posted 21 April 2011 - 05:50 PM
الحمد لله استطعت أن أحل المشكلة, لكن بقي لي أن أضيف الصورة في الجدول حتى تظهر في الفيو
لدي جدول يسمى الشركات التي تحتوي على الحقول التالية : اسم ، الشعار
في الصفحة المخصصة لإضافة شركة جديدة أود أن أسجل صورة الشعار وذالك بتحميلها من الجهاز.
السؤال المطروح هو
أريد أن أعرف إذا كان ذلك ممكنا مع هذا الأسلوب لإضافة مسار صورة الشعار أو يجب إنشاء جدول جديد لإضافة الشعار في الصور وأيضا إنشاء controller logo and model...)؟
#5
Posted 21 April 2011 - 07:18 PM
الطريقة صحيحة ولايجب عليك فصل الشعار بجدول مستقل .. بل اني اراى فصل الشعار بجدول مستقل خطأ
اما طريقة رفع الصورة فلديك خيارين
اولا رفع الصورة على السيرفر ثم حفظ رابط او اسم الصورة في جدول الشركات بداخل حقل الشعار
ثانيا رفع الصورة وحفظ نفس الصورة في قاعده البيانات مباشرة في جدول الشركات بداخل حقل الشعار
تستطيع اخوي الاستزادة من هذه الروابط المفيدة جدا لمثل طلبك
How to upload a file using a model
Saving files to a blob field in the database
واي شي ثاني انا جاهز
بالتوفيق اخوي
#6
Posted 22 April 2011 - 06:22 AM
Muaid, on 21 April 2011 - 07:18 PM, said:
الطريقة صحيحة ولايجب عليك فصل الشعار بجدول مستقل .. بل اني اراى فصل الشعار بجدول مستقل خطأ
اما طريقة رفع الصورة فلديك خيارين
اولا رفع الصورة على السيرفر ثم حفظ رابط او اسم الصورة في جدول الشركات بداخل حقل الشعار
ثانيا رفع الصورة وحفظ نفس الصورة في قاعده البيانات مباشرة في جدول الشركات بداخل حقل الشعار
تستطيع اخوي الاستزادة من هذه الروابط المفيدة جدا لمثل طلبك
How to upload a file using a model
Saving files to a blob field in the database
واي شي ثاني انا جاهز
بالتوفيق اخوي
السلام عليكم ورحمة الله.
قمت بدمج الصورة في نفس كونترول وموديل الجدول سوسييتي إلا أنني لم أنجح في ذالك. بحيث لم أستطع تسجيل شركة جديدة.
الكود هو
Code in Model :
public function rules(){
return array(
array('Nom', 'required'),
array('Nom', 'length', 'max'=>75),
array('Logo', 'file', 'types'=>'jpg, gif, png'),
); }Code in Controller :
public function actionCreate() {
$this->layout="main";
$model=new Societes;
if(isset($_POST['Societes'])){
$model->attributes=$_POST['Societes'];
$model->Logo=CUploadedFile::getInstance($model,'Logo');
if($model->save())
$model->Logo->saveAs('path/images');
$this->redirect(array('view','id'=>$model->Id)); }
$this->render('create',array(
'model'=>$model,
)); }Can you help me friend , Thanks
#7
Posted 22 April 2011 - 10:09 AM
انت ذكرت انك لم تستطيع تسجيل شركة جديدة لاكن لم تذكر ماهو الخطأ ولا نوع الخطأ الي يظهر لك
وايضا ماذا عرفت حقل اللوجو في قاعده البيانات ؟
ولاكن مبدأيا عندي ملاحظات على الكود الي انت وضعته
في السطر
$this->redirect(array('view','id'=>$model->Id));هل يوجد حقل بقاعده البيانات للـ
Id
؟
لاني لم ارى هذا الحقل في الـ
Model rules
الذي وضعته في الاعلى
النقطة الاخرى هي انه يجب وضع عملية التوجية لصفحة اخرى بنفس امر الشرط الخاص بحفظ الصورة بمعنى ان يكون الكود كالتالي
if($model->save()){
$model->Logo->saveAs('path/images');
$this->redirect(array('view','id'=>$model->Id));
}بدلا من
if($model->save())
$model->Logo->saveAs('path/images');
$this->redirect(array('view','id'=>$model->Id));اما النقطة الاهم اخوي فهي في هذا السطر
$model->Logo->saveAs('path/images');هل المجلد
path
موجود فعلا على السيرفر ؟ وهل يوجد بداخلة فعلا مجلد
images
؟؟؟
لاأعتقد انه موجود ولاكن بقولك كيف تسوية
على الرووت الاساسي لإطار العمل .. اي بجانب مجلد
css
و
assets
قم بإنشاء مجلد جديد وسمية مثلا
images
واعطية صلاحيات الكتابة اذا كنت تستخدم لينكس او يونكس او ماك
chmod 777 images
وبعد ذلك قم بتغير السطر ليصبح
$model->Logo->saveAs(Yii::app()->basePath . '/../images/' . $model->image);
كذا ان شاء الله مشكلتك تنحل بإذن الله
وعشان تعرض الصور في الفيو تقدر تستخدم
<?php echo CHtml::image( check the manual i don't remember what is go here ); ?>
بالتوفيق اخوي
#8
Posted 22 April 2011 - 11:27 AM
In controller (creat) :
$model=new Societes;
if(isset($_POST['Societes']))
{
$model->attributes=$_POST['Societes'];
$model->logo=CUploadedFile::getInstance($model,'Logo');
if($model->save())
$model->Logo->saveAs(Yii::app()->basePath . '/images/' . $model->Logo);
// $model->logo->saveAs('path/images');
$this->redirect(array('view','id'=>$model->Id));
}
$this->render('create',array(
'model'=>$model,
));code of Model :
public function rules()
{
return array(
array('Nom', 'required'),
array('Nom', 'length', 'max'=>75),
array('Logo', 'file', 'types'=>'jpg, gif, png'),
array('Id, Nom, Logo', 'safe', 'on'=>'search'),
);
}and the code of _form for add a new company with the pecture of logo :
<div>
<?php echo $form->labelEx($model,'Nom'); ?>
<?php echo $form->textField($model,'Nom',array('size'=>40,'maxlength'=>45)); ?>
<?php echo $form->error($model,'Nom'); ?>
</div>
<div>
<?php echo CHtml::form('','post',array('enctype'=>'multipart/form-data')); ?>
<?php echo CHtml::activeFileField($model, 'Logo'); ?>
<?php echo CHtml::endForm(); ?>
</div>I need to your help Thanks friend
#9
Posted 22 April 2011 - 02:01 PM
لاني لاحظت اخطاء كثير بالكود وغير مطابقة للدرس وغير مطابقة ايضا للرد الي كتبتة لك فوق
وايضا اقترح عليك دائما تستخدم الحروف السمول بدل الكابيتال في قواعد البيانات لتجنب مشاكل التوافقية مع قواعد البيانات الاخرى مستقبلا
ولاكن تبشر انا سويت لك المثال وطبقتة لك وجربتة بجهازي واشتغل عندي تمام التمام
ورفعته لك مع المرفقات .. بالتوفيق اخوي
Attached File(s)
-
image upload.zip (5.74K)
Number of downloads: 3
#10
Posted 22 April 2011 - 02:21 PM
Muaid, on 22 April 2011 - 02:01 PM, said:
لاني لاحظت اخطاء كثير بالكود وغير مطابقة للدرس وغير مطابقة ايضا للرد الي كتبتة لك فوق
وايضا اقترح عليك دائما تستخدم الحروف السمول بدل الكابيتال في قواعد البيانات لتجنب مشاكل التوافقية مع قواعد البيانات الاخرى مستقبلا
ولاكن تبشر انا سويت لك المثال وطبقتة لك وجربتة بجهازي واشتغل عندي تمام التمام
ورفعته لك مع المرفقات .. بالتوفيق اخوي
ياأخي الكريم وجدت الملف فارغ من الكود يحتوي فقط على ملفات
controllers, models, view
but are empty
#11
Posted 22 April 2011 - 06:30 PM
---------------------------------
DB Schema:
CREATE TABLE IF NOT EXISTS `societes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nom` varchar(75) NOT NULL, `logo` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Model :
class Societes extends CActiveRecord
{
public $logo;
...
...
public function rules()
{
return array(
array('nom', 'required'),
array('nom', 'length', 'max'=>75),
array('logo', 'file', 'types'=>'jpg, gif, png'),
array('id, nom, logo', 'safe', 'on'=>'search'),
);
}
.....
.....
}Controller (create):
class SocietesController extends Controller
{
.....
.....
public function actionCreate()
{
$model=new Societes;
if (isset($_POST['Societes'])) {
$model->attributes = $_POST['Societes'];
$model->logo = CUploadedFile::getInstance($model, 'logo');
if ($model->save()){
$model->logo->saveAs(Yii::app()->basePath . '/../images/' . $model->logo);
$this->redirect(array('view', 'id' => $model->id));
}
}
$this->render('create', array(
'model' => $model,
));
}
.....
.....
}views/societes/_form.php :
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'societes-form',
'method' => 'post',
'htmlOptions' => array('enctype' => 'multipart/form-data'),
'enableAjaxValidation'=>false,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'nom'); ?>
<?php echo $form->textField($model,'nom',array('size'=>60,'maxlength'=>75)); ?>
<?php echo $form->error($model,'nom'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'logo'); ?>
<?php echo $form->fileField($model,'logo'); ?>
<?php echo $form->error($model,'logo'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->views/societes/view.php :
<h1>View Societes #<?php echo $model->id; ?></h1>
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'id',
'nom',
array(
'name' => 'logo',
'type' => 'image',
'value' => Yii::app()->baseUrl . '/images/' . $model->logo,
),
),
)); ?>وضعت لك المهم من الكود والي راح تحتاجة ..
حاول تتبعه بدقة وان شاء الله ان مشكلتك بتنحل لان الكود جربتة بنفسي واشتغل معاي بدون مشاكل
وحاول تنزل الملف مرة ثانية وان شاء الله يشتغل معاك
موفق خير ان شاء الله
Attached File(s)
-
image upload.zip (5.46K)
Number of downloads: 6
#13
Posted 24 April 2011 - 01:23 PM
nice to hear that freeyii (
#14
Posted 01 May 2011 - 06:43 AM
لدي مشكلة في الشعار. في القواعد لم أختار الشعار مطلوب ولكن عندما أقوم بحفظ التسجيلات ان كان الشعار فارغ لا تفعل الحفظ أو التحديث.
لذلك يجب أن يكون الشعار ليس فارغا لحفظ تسجيل جديد أو تحديثه ولكن أنا لم أختره مطلوبا في القواعد!
حقا أنا لم أفهم لماذا يجب أن يكون الشعار ليس فارغا حتى أقوم بحفظ تسجيلات جديدة.
public $logo;
public function rules(){
return array(
array('nom, active', 'required'),
array('nom', 'length', 'max'=>75),
array('description', 'length', 'max'=>120),
array('logo', 'file', 'types'=>'jpg, gif, png'), array('active','length','max'=>10),
array('id, nom, description, logo, active', 'safe', 'on'=>'search'), );
}
#15
Posted 01 May 2011 - 12:04 PM
قم بتعديل السطر التالي
array('logo', 'file', 'types'=>'jpg, gif, png'),إلى
array('logo', 'file', 'types'=>'jpg, gif, png', 'allowEmpty'=>true),بإذن الله ان التعديل السابق راح يحل مشكلتك
#16
Posted 02 May 2011 - 07:36 AM
we all RTL languages should ask the forum leader to active RTL feature. if u agree signal me plz
thx
#18
Posted 29 July 2012 - 02:15 PM
مجهود جميل أخ مؤيد
مشكور جدا عليه
عندي تسؤلات كثيرة
لأني كنت باقوم بالبرمجة عن طريق كود ايجنايتر
ويمكن سهولته ووضوحه خلاني ما اقدرش اغير البرمجة بيه لفترة كبيرة
لكن للأسف المميزات الكتيرة اللي موجودة في
Yii
اجبرتني على الدخول إليه
لكن للأسف عندي بعض المشاكل إن شاء الله هابقى اعرضها عليك لمساعدتي في حلها
وبصراحة الأهم من المشاكل إن عندي نقاط كتير مش فاهمها
اسف على الإطالة وأشكرك على المجهود اللي في المنتدى
#19
Posted 01 September 2012 - 04:25 PM
ربما نحتاج الى التعريف بهذا الاطار في منتدياتنا و مدوناتنا و نعطيه اهتمام اكبر
هل هناك مشكلة في العالم العربي مع
yii ??

Help














