2016-05-23 6 views
0

Ich muss den zuletzt eingefügten Image-Namen aus der Datenbank übernehmen und an eine Controller-Funktion übergeben.Wie übergebe ich eine Datenbankvariable an eine Controller-Funktion

Modell

function getimage() 
    { 

    $maxid = $this->db->query('SELECT MAX(id) AS `maxid` FROM `brain`')->row()->maxid; 
    $this->db->select("image"); 
    $this->db->from('brain'); 
    $this->db->where('id =', $maxid); 
    $query = $this->db->get(); 
    return $query->result(); 
    } 

-Controller

public function matlabcall() { 


     $command = "matlab -sd " . getcwd() . " -r MedianFiltering_denoising('" . IMAGENAME . "')"; 
     exec($command); 


    } 

Ich brauche die Bildnamen, an der Stelle des 'Imagenamen' zu ersetzen.

SQL-Tabelle

id image 

1 images/pic1.png 
2 images/pic2.png 

hier ‚Bilder‘ bezieht sich der folder.I benötigen Sie den Ordnernamen entfernen und den Namen des Bildes separat erhalten und müssen es die Controller-Funktion übergeben. bitte helfen Sie mir, dies zu tun.

Antwort

0

In der Regel verwendet ein Controller ein Modell, um Daten abzurufen und dann auf die Rückgabe des Modells zu reagieren. In diesem Fall wird die Rückgabe des Modells an matlabcall() gesendet, was einfach eine weitere Funktion des Controllers ist.

Sie zeigen nicht die Controller-Definition, also habe ich eine gemacht.

Controller-Datei:

class Brain_controller extends CI_Controller 
{ 
    public function __construct() 
    { 
    parent::__construct(); 
    $this->load->model('brain_images'); 
    } 

    public function newest_brain_image() 
    { 
    $image = $this->brain_images->get_image(); 
    $this->matlabcall($image); 
    } 

    public function matlabcall($image_name) 
    { 
    $cwd = getcwd(); 
    $command = "matlab -sd $cwd -r MedianFiltering_denoising('$image_name')"; 
    exec($command); 
    } 

} 

Es gibt keinen Punkt in mit Query Builder-Syntax zu erstellen, was eine wirklich einfache Abfrage ist. Dieser Code wird viel effizienter, leichter zu lesen und wahrscheinlich messbar schneller sein.

Modell-Datei:

class Brain_images extends CI_Model 
{ 
    function get_image() 
    { 
    $sql = "select image from brain where id = (select MAX(id) from brain)"; 
    $query = $this->db->query($sql); 
    return $query->row()->image; 
    } 

} 

hoffe, ich habe das richtig verstanden Ihre Notwendigkeit und dass dies hilft.

+0

Vielen Dank, Sie haben es so einfach gemacht. Es funktioniert gut – temp

Verwandte Themen