簡體   English   中英

joomla 2.5模塊中的圖像插入字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM