2013-12-01 3 views
0

Недавно я создал систему ввода данных профиля ученика в модуле joomla. эта форма ввода может собирать данные об ученике и хранить в моей пользовательской таблице. но здесь чего-то не хватает. отсутствует изображение ученика. необходимо добавить поле вставки изображения. вот мой полный код.Поле ввода изображения в модуле joomla 2.5

<?php 

class modHelloWorldHelper 
{ 

public static function getHello($params) 
{ 
/** post form to db module **/ 
$input = new JInput; 
$post = $input->getArray($_POST); 
$name = $post["name"]; 
$father_name = $post["father_name"]; 
$mother_name = $post["mother_name"]; 
$roll = $post["roll"]; 
$class = $post["class"]; 
$subject = $post["subject"]; 
$phone = $post["phone"]; 
$address = $post["address"]; 
$email_id = $post["email_id"]; 
//--END POST YOUR FORM DATA---| 

//--build the form------------> 
?> 
<form name="names" id="names" action="<?php echo JURI::current(); ?>" method="post"> 
<p><input type="text" name="name" id="name" value="" /></p> 
<p><input type="text" name="father_name" id="father_name" value="" /></p> 
<p><input type="text" name="mother_name" id="mother_name" value="" /></p> 
<p><input type="text" name="roll" id="roll" value="" /></p> 
<p><input type="text" name="class" id="class" value="" /></p> 
<p><input type="text" name="subject" id="subject" value="" /></p> 
<p><input type="text" name="phone" id="phone" value="" /></p> 
<p><input type="text" name="address" id="address" value="" /></p> 
<p><input type="text" name="email_id" id="email_id" value="" /></p> 
<p><input id="submit" name="submit" type="submit" value="Submit Names" /></p> 
</form> 
<!--END BUILD THE FORM--> 
<? 

//first name or last name set, continue--> 
$data =new stdClass(); 
$data->id = NULL; 
$data->name = $name; 
$data->father_name = $father_name; 
$data->mother_name = $mother_name; 
$data->roll = $roll; 
$data->class= $class; 
$data->subject = $subject; 
$data->address = $address; 
$data->email_id = $email_id; 

$db = JFactory::getDBO(); 
$db->insertObject('#__my_student', $data, id); 

/* 
$db = JFactory::getDBO(); 
$query = "CREATE TABLE IF NOT EXISTS `#__my_student` ( 
`id` int(10)NOT NULL AUTO_INCREMENT, 
`name` varchar(50) NOT NULL, 
`father_name` varchar(40) NOT NULL, 
`mother_name` varchar(40) NOT NULL, 
`roll` int(4) NOT NULL, 
`class` int(2) NOT NULL, 
`subject` varchar(40) NOT NULL, 
`phone` int(14) NOT NULL, 
`address` varchar(40) NOT NULL, 
`email_id` varchar(40) NOT NULL, 
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;"; 
$db->setQuery($query); 
$result = $db->query(); 
$db->query(); 
*/ 

} 

public static function getdb($params) 
{ 
// Get a database object 
$db = JFactory::getDbo(); 

$query = $db->getQuery(true); 
$query->select('*'); 
$query->from('#__helloworld'); 

// sets up a database query for later execution 
$db->setQuery($query); 

// fetch result as an object list 
$result = $db->loadObjectList(); 
foreach ($result as $row){ 
echo $row->name; 
} 
} 
} 
?> 

если здесь есть поле ввода изображения, то это будет хорошо, но я понятия не имею, о форме изображения, я найти информацию об этой теме урока в гугле, но не получил никакой информации о том, что для этого я спросить Вот. PLS кто-то мне помогает. Я хочу создать общий модуль ввода данных.

+0

возможно дубликат [JOOMLA 2,5 модульно, как вставить изображение в базу данных?] (HTTP: //stackoverflow.com/questions/20312472/joomla-2-5-module-how-to-insert-image-into-database) – Lodder

+0

Да, сэр, это то же самое. Я понятия не имею о поле вставки изображения. Так что я могу сделать? Pls дает мне некоторую инструкцию, где я получу некоторую информацию об этом. – Masum

ответ

3

Вам сначала нужно создать поле ввода изображения, чтобы пользователь может добавить один вот так:

<p><input type="file" id="image" name="image" /></p> 

Затем вам нужно будет получить изображение, которое было добавлено и загрузить его следующим образом:

jimport('joomla.filesystem.file'); 

$fileInput = new JInput($_FILES); 
$file = $fileInput->get('image', null, 'array'); 

if(isset($file) && !empty($file['name'])) { 
    $filename = JFile::makeSafe($file['name']); 
    $src = $file['tmp_name']; 
    $data['image']=$filename; 

    $dest = JPATH_SITE . '/modules/mod_helloworld/images/' . $filename; 

    JFile::upload($src, $dest); 

    $image = JUri::root() . 'modules/mod_helloworld/images/' . $filename; 

} 

Затем добавить его в базу данных, вы должны просто загрузить путь + имя изображения, как так:

$data->image = $image; 

Update:

Чтобы отобразить изображение, вы можете просто использовать следующие внутри foreach цикла:

echo '<img src="' . $row->image . '" />'; 
+0

tnx sir, теперь я узнал новый метод. после сохранения изображения в пользовательскую таблицу, которую я пытаюсь показать на первой странице с помощью цикла foreach. foreach ($ result as $ row) { echo "$ row-> images.
"; } но изображение не отображается. просто покажите путь, как http: //localhost/joom/modules/mod_entry/images/100_1251.JPG сэр, возможно ли отображать изображение из базы данных? oh мой стол - изображения longblob NOT NULL sir table is right? – Masum

+0

см. Мой обновленный ответ – Lodder

+0

in foreach loop i put this code echo ' Masum

Смежные вопросы