Gå til innhold

Thomas.

Medlemmer
  • Innlegg

    1 497
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Thomas.

  1. Du kunne jo laget et MVC-basert når du først er i gang :D

    Veldig enkelt og videreutvikle systemet da, legge til nye sider med få tastetrykk.

     

    Kan poste litt utdrag fra systemet mitt:

     

    Index:

    <?php
    header('Content-type: text/html; charset=ISO-8859-15');
    
    /**
    * Definerer nødvendig info
    */
    require('www/system/config/config.define.php');
    
    
    /**
    * Inkluderer og konfigurer nettsiden slik at den fungerer
    * som den skal
    */
    require('www/system/includes/systemStart.php');
    
    /**
    * Lager en ny instance av hoved-controlleren 
    */
    $index = SystemKontroll::gtInstance();
    
    
    /**
    * Setter aktuell controller og action
    */
    $index->route();
    
    
    /**
    * Printer ut HTML
    */
    echo $index->gtBody();

     

    Del av systemstart.php

    if(!in_array(__GET_SL, Includesystem::$gyldige))
    $fil = __PT_SYSTEM . '/modules/system/error404/controller/error404Controller.php';
    else
    $fil = __PT_SYSTEM . '/modules/' . $cnf_atl_vars[0] . '/' . $cnf_atl_vars[2] . '' . ucfirst(__GET_SL) . '/controller/' . __GET_SL . 'Controller.php';

     

     

    <?php
    
    class Includesystem {
    
    private $sti;
    
    public static $gyldige = array( 'index');
    
    public static $gyldige_index = array('index', 'registrer', 'glemtpassord');
    
    public function __construct($var, $var3) {
    	$this->sti = trim($var);
    	$this->sti = str_replace('\\', '/', $this->sti);
    	$this->gyldige = array_merge($this->gyldige, $var3);
    	return $this;
    }
    
    public function filter() {
    	if(!strpos($this->sti, '.') && !strpos($this->sti, '/')) {
    		if(in_array($this->sti, $this->gyldige)) {
    			return true;
    		}
    		else {
    			return false;
    		}
    	}
    	else {
    		return false;
    	}
    }
    
    public function incxFil() {
    	if($this->filter()) {
    		if(APP_DIR . APP_ROOT . 'controller/' . $this->sti) {
    			if(!strpos($this->sti, '/') && !strpos($this->sti, '  ) && !strpos($this->sti, "'") && !strpos($this->sti, chr(0)) && !strpos($this->sti, '.')) {
    				return true;
    			}
    			else {
    				return false;
    			}
    		}
    		else {
    			return false;
    		}
    	}
    	else {
    		return false;
    	}
    }
    
    }

     

    Layout og settes utifra om brukeren er logget inn eller ei:

       /**
    	* @__destruct: Setter layout som skal brukes
    	* @return Systemkontroller -> settLayoutFil
    	*/
    public function __destruct() {
    	if(!is_null($this->innhold)) {
    		$this->view->innhold = $this->innhold;
    		if(Bruker::isInnlogget()) {
    			$res = $this->view->fetch(__PT_HOVED . '/html/layout/index.phtml');
    		}
    		else {
    			switch(__GET_SL) {
    				case 'registrer':	$res = $this->view->fetch(__PT_HOVED . '/html/layout/Registrer/index.phtml'); break;
    				case 'glemtpassord': $res = $this->view->fetch(__PT_HOVED . '/html/layout/Registrer/index.phtml'); break;
    				default:              $res = $this->view->fetch(__PT_HOVED . '/html/layout/LoggInn/index.phtml');
    			}
    		}
    		$i = SystemKontroll::gtInstance();
    		$i->settLayoutFil($res);
    	}
    }

     

    F.eks en side ser slik ut:

    <?php
    
    class indexController extends FasKontroll implements iMa {
    
    public function __construct() {
    	parent::__construct();
    }
    
    public function index() {
    	$tpl = new View;
    	$tpl->setTemplateDir(__PT_SYSTEM . '/modules/root/RootIndex/views');
    	$this->view->tittel = 'Logg Inn'; /** Setter tittel på siden **/
    	$this->innhold = $tpl->fetch('index.phtml');
    }
    
    }
    
    ?>

     

    Så inneholder da index.phtml php og htmlkode for denne siden ($_GET['sl'] == index (navnet på funksjonen)/default).

    • Liker 1
  2. Er det noen som har erfaringer/tips fra intensivkurs for billappen? Har tenkt til å melde meg på.

     

    Lurer litt på hvordan det funker.

    Blir alt det obligatoriske gått igjennom i løpet av kurset? Glattkjøring, langkjøring, veilidningstimer o.l? Slik at man kun mangler oppkjøring/teori når man er ferdig med kurset?

  3. Forklarer litt kort:

     

    1a) Du har allerede et skjema på oppgavearket. Koble 230V på en transformator, legg den ene fasen med likespenning til bryter og den andre forbi og inn på ringeklokka. Fra bryteren legger du fas og på ringeklokka (litt vanskelig og forklare, men du skjønner når du ser på tegningen på oppgavearket).

    1b) RLPP (ringekabel), ringeklokke, trykknapp, trafo, spiker for feste av RLPP, PR for tilførsel.

    1c) Når du trykker S1 gir du spenning på den andre siden av spolen som gjør at magnetspolen trekker til seg ankeret og hammeren slår inni klokkeskålen og lager en plinge-lyd.

    1d) Spenningløst? Får spolen spenning? Platefjæra ryki?

     

    2) Husker ikke så mye om antenneanlegg.

     

    3b) Legge egen internettkabel til leiligheten.

     

     

    Har du drevet med noe praktisk kobling i det hele tatt før, tegnet skjemaer o.l?

  4. Så i dette eksempelet, så burde scriptet kunne printe ut disse punktene:

    ARTOR 58.334420 10.148983
    AAL   57.103719 9.995578
    RADIS 56.541667 9.995000
    LUTUS 56.100833 9.994445
    ABINO 55.968334 9.994445
    RIDSI 55.591667 9.994167
    ASBIL 55.371945 9.993889
    ALS   54.905414 9.993378

     

    Du må jo nesten ha noe som sier hvor den skal starte og slutte å søke. Har du det?

     

    En måte du kunne gjort det på da er noe slikt:

    Lagre alt i en array, finne indekser og hente ut ønskede verdier.

     

    <?php
    
    mysql_connect('localhost', 'root', '');
    mysql_select_db('test');
    
    $start = 'AAL';
    $slutt = 'ABINO';
    $i = 0;
    
    $sql = mysql_query('SELECT * FROM tabell');
    
    while($row = mysql_fetch_array($sql)) {
    $array[$i] = $row['tekst'];
    $i++;
    }
    
    $s1 = array_search($start, $array);
    $s2 = array_search($slutt, $array);
    
    for($y = $s1; $y <= $s2; $y++) 
    $arrayf[$y] = $array[$y];
    
    // Hentet ut rader fra AAL til ABINO
    var_dump($arrayf);
    
    ?>

     

    --
    -- Tabellstruktur for tabell `tabell`
    --
    
    CREATE TABLE IF NOT EXISTS `tabell` (
     `tekst` varchar(255) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    
    --
    -- Dataark for tabell `tabell`
    --
    
    INSERT INTO `tabell` (`tekst`) VALUES
    ('ARTOR'),
    ('AAL'),
    ('RADIS'),
    ('LUTUS'),
    ('ABINO'),
    ('RIDSI'),
    ('ASBIL'),
    ('ALS');

  5. Det vi trenger hjelp med er å hente først og fremst TOR fra 'airac'. Og så må vi finne alle punktene på UP615 imellom TOR og ARTOR (UP615 finner man da i 'airway' i 'airac'), til slutt ARTOR. I dette tilfellet så finnes disse punktene på UP615 i databasen: UTH KVB TONDI OSVIG ATLAP TOR ARTOR ALASA TUGDU EKERN LBE XERES ASMAR VABEM BIMBO, så her er det egentlig ingen punkter imellom.

     

    Hmm, kanskje du kan bruke raden "number" til å hente ut radene mellom to punkter . Det vil fungere så lenge alt først og fremst har blitt lagt inn i riktig rekkefølge fra før.

    Hvis du skal gjøre alt det i en spørring må du mest sansynlig til med objekter og joins, noe som ikke er så lett for nybegynnere :p

     

    Hadde kanskje vært bedre og splittet opp å gjort ting steg for steg.

     

    Spørring -> behandle med php -> ny spørring -> behandle med php -> resultat

  6. Vil tro ett "T"- stykke, 2 tilbakeslagsventiler og en til trykknapp-ventil, alt koblet inn på motsatt side av hovedventilen sammenlignet med den originale trykknapp-ventilen vil løse oppgaven.

     

    Tilbakeslagsventilene for at lufta ikke skal gå feil vei og ut til friluft.

     

    EDIT: Tror du i tillegg trenger en endebryter som kutter kretsen til den klemsikrings-funksjonen når døra er lukket helt og trykket bygger seg naturlig opp.

     

    Hmm. Skjønner ikke hva du ville gjøre med tilbakeslagsventilene.

     

    Altså, den ene knappen må åpne sylinderen. Men samtidig før endebryteren blir aktivert sender 3/2 ventilen sylinderen tilbake?

    Kunne du ha tegnet et skjema eventuelt forklart funksjonen? Tror dette er alle komponentene som trenges (muligens jeg må ha noen logiske porter og?).

    post-143342-0-02694300-1319921300_thumb.png

  7. Det er det jeg var ute etter!!

     

    Ser at jeg trengte bare en + før =

    Bruker ikke javascript så ofte, mest php

     

    Det er det samme i php (+=) :)

    http://php.net/manua....assignment.php

    Beklager å gå helt off-topic, men det blir ikke helt riktig:

    Som det står i dokumentasjonen du linker til gjøres det slik i PHP:

    $str = 'Hello';
    $str .= ' world!';
    

     

    += brukes på tall:

    $a = 3;
    $a += 5;
    

     

    Jeg har ikke sagt hva det spesifikk kan brukes til. Sa bare at funksjonen finnes i PHP og.

×
×
  • Opprett ny...