[英]image insert field in joomla 2.5 module
最近,我在joomla模塊中創建了一個學生資料數據輸入系統。 此輸入表單可以收集有關學生的數據並將其存儲到我的自定義表中。 但是這里缺少一些東西。 缺少的是學生形象。 需要添加一個圖像插入字段。 這是我的完整代碼。
<?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;
}
}
}
?>
如果這是圖像輸入字段,那將是很好,但是我對圖像形式一無所知,我在Google中找到了有關此主題的教程,但沒有任何有關此的信息,為此我在這里提出。 請有人幫我。 我想創建一個總數據輸入模塊。
您首先需要創建圖像輸入字段,用戶可以像這樣添加一個:
<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;
更新:
要顯示圖像,您只需在foreach
循環內使用以下內容:
echo '<img src="' . $row->image . '" />';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.