Gå til innhold

Danjaco

Medlemmer
  • Innlegg

    205
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Danjaco

  1. Her er en handelvogn klasse jeg har laget for en liten stund siden, den er ikke optimal og det er mye av løsningen osm ikke synes utifra å se på denne klassen, men du kan ihvertfall se en mulig løsning på hvordan man kan legge til en vare i en handelkurv og eventuelt oppdatere den (f.eks hvis noen allerede har 5 av vare x i handelvognen og kjøper 9 til)

     

    <?php
    
    class cart {
    
    private $sql;
    private $qc;
    public $owner;
    
      public function __construct($mysqli_link = "", $query_counter = "") {
       	$this->sql = $mysqli_link;
       	$this->qc = $query_counter;
       	if(!is_array($_SESSION['cart_items'])) { $_SESSION['cart_items'] = array(); }
       }
    
    public function addItem($item, $amount, $single_value, $single_weight){
    	if($this->itemIsInCart($item)){
    		$this->changeItemAmount($item,$amount,$single_value, $single_weight);
    	} else {
    		$temp = array("item_id" => $item, "item_amount" => $amount, "item_value" => $single_value, "item_weight" => $single_weight);
    		$array = $_SESSION['cart_items'];
    		$array[] = $temp;
    		$_SESSION['cart_items'] = $array;
    	}
    }
    
    public function removeItem($product, $amount = 0){
    	$i = 0;
    	foreach($_SESSION['cart_items'] as $item){
    		if($item['item_id'] == $product){	
    			if($product[1] == $amount){
    				$part1 = array_slice($_SESSION['cart_items'],0,$i);
    				$part2 = array_slice($_SESSION['cart_items'],$i+1,count($_SESSION['cart_items']));
    				$combined = array_merge($part1, $part2);
    				$_SESSION['cart_items'] = $combined;
    			} else {
    				if($this->itemIsInCart($product)){
    					$this->changeItemAmount($product, ($amount-($amount*2)));							   
    				}
    			}
    			return;
    		}
    		$i++;
    	}
    }
    
    private function itemIsInCart($needle){
    	foreach($_SESSION['cart_items'] as $item){
    		if($item['item_id'] == $needle){
    			return true;
    		}
    	}	
    	return false;
    }
    
    private function changeItemAmount($product, $new_amount, $item_value, $item_weight){
    	foreach($_SESSION['cart_items'] as $item){
    		if($item['item_id'] == $product){
    			$this->removeItem($product);
    			$this->addItem($product, ($item['item_amount']+$new_amount), $item_value, $item_weight);
    			return;
    		}
    	}	
    }
    
    public function getCartSize(){
    	$items = 0;
    	foreach($_SESSION['cart_items'] as $item){
    		$items = $items + $item['item_amount'];
    	}	
    	return $items;
    }
    
    public function getCartValue(){
    	$value = 0;
    	foreach($_SESSION['cart_items'] as $item){
    		$value = $value + ($item['item_amount'] * $item['item_value']);
    	}	
    	return $value;
    }
    
    public function getCartWeight(){
    	$value = 0;
    	foreach($_SESSION['cart_items'] as $item){
    		$value = $value + ($item['item_amount'] * $item['item_weight']);
    	}	
    	return $value;
    }
    
    public function deleteCart(){
    	unset($_SESSION['cart_items']);	
    }
    
    public function getCart(){
    	return $_SESSION['cart_items'];
    }
    
    public function getCartOwner(){
    	return $_SESSION['cart_owner'];
    }
    
    }
    ?>
    

     

    for da å se alt som ligger i handlevogen

     

    foreach($cartClass->getCart() as cartItems){

    echo cartItem['item_id']

    }

     

    hvor item_id er den id'en som produktet er lagret med i databasen.

    item_value er prisen på varen.

     

    Og skal du slette alle av en vare på spesifikt ha det som parameter

    Eksempel har vi 15x produkt 19912

    vil $cartClass->removeItem(19919,14); redusere antall i handlekurv til 1

    mens

    $cartClass->removeItem(19919,15); slette produktet helt fra handlekurven.

  2. Hentet min i dag og fått brukt den noen timer nå, mine erfaringer så langt er veldig gode.

     

    + Veldig god skjerm (lys, farger, berøringen er repsonsiv og presis)

    + Liker htc widget's som er installert, logge inn med google og facebook så hadde jeg full kontaktliste, kalender med mer, rett å slett herlig =)

    + Veldig rask

    +++++++

     

    - Optiske muse greie ser jeg ikke den helt store nytten med enda.

     

    Bruker følgende program: Spotify, Dictionary, Gule Sider, Socer Live Score, NetCounter, Google Translate (kun til jobb men grei) + pre installerte widgets.

     

    Er rett og slett vanskelig å legge den fra seg.

  3. En ting angående posten, pannordic og "treige" pakker. I dag når jeg våknet sjekket jeg sporingen på pannordic.com, der sto det at en av de to pakkene jeg ventet på var ved omlastningsterminal 7007 TRD (siste stopp før mix butikken jeg henter pakken), Den andre pakken hadde allerde kommet og sto som annkommet Mix 7014. Ok tenker jeg, får bare vente til mandag, Men når jeg skal ned i butikken å handle går jeg innom postkassen og der ligger hentelapp for begge pakkene. På pannordic sine sider står en pakke fortsatt som "omlastningsterminal". Tingen er vel da bare om pannordic er treige, posten ikke ville "si ifra" eller om dette er et engangstilfelle.

  4. Har forrige versjon av boka og den var veldig grei til å komme igang med java. Brukte den i faget OO Programmering (tdt4100 ved ntnu), så den og manualen burde være nok til å komme et godt stykke på vei. Første del av boka går igjennom basic så går det over til OO så videre til gui og feilhåndtering samt litt mer avanserte ting i de siste kapitlene som rekrusjon, tråder, nettverk, avansert gui med mer.

  5. Har selv 3810, og den kjører eclipse (programmering), adobe dreamweaver, winamp, spotify, firefox ,ftp og mail klient uten problemer med win 7 pro. Herlig tastatur har den også =). Altså skal du ikke spille er den ihvertfall helt grei. Du kan jo få mye bedre cpu og gpu til 6000 men det vil gå utover batteritid, som var en av hovedgrunnene jeg kjøpte min 3810.

     

    //Dan

  6. 1. Hvis alle de kræsjene du maser om oppstår vil han mest sannsynlig aldri merke dem.

    2. Det finnes mye, men ikke i nærheten så mye som om mysql (google gir 25:1)

    2a. korrekt dokumentasjon? søker du etter blogdpot mysql vil du selvsagt få opp mye dritt.

    3. sqlite har mange mangler, den O store ytelses forbedringen kommer ikke til å merkes i det hele tatt på en hjemmeserver, ser ikke hvordan sqlite er så mye mer padagogisk heller.

     

    Ved å starte med mysql har man også veldig mange gode verktøy for utvikling/testing som f.eks phpMyAdmin og mySql Workbench. Samt at man starter svært enkelt og senere når man er klar kan man utvide/gå over til å bruke mysqli klassene (for å kunne ta ibruk statments osv.

     

    //Dan

     

    1. Under utvikling når eit skript går galt så kan det kræsje MySQL(MyISAM) fordi den ikkje støtter atomic commits. Det skjer ofte, og kan bli svært frustrerandes.

    2. 25 gonger meir drittdokumentasjon teller ikkje, den viktige dokumentasjonen til MySQL spesielt angåene oppsett av sync_binlog er det knapt nokon som nevner.

    3. Kva er det SQLite mangler som ikkje MySQL har? Reverse indekser? Å nei, det er det MySQL som ikkje har. SQLite støtter fremmednøkler, triggere, check contraints(det støtter heller ikkje MySQL) og transaksjoner.

     

    SQLite er meir pedagogisk når ein nybegynner ikkje trenger å bruke tid på å installere MySql modulen til PHP, installere og sette opp ein databasetjeneste, SQLite gir også skikkelege feilmeldinger og setter ikkje inn standard verdier i NOT NULL felter. Trenger ein GUI så har ein eit lite program som heiter SQLite browser

     

    Sorry, men du gjør alt ti ganger vanskligere en det egentlig er, 90% av det du nevner i dine poster er ting man ikke trenger å tenke på i starten.

     

    F.eks: Installere mysql til php i windows kan gjøres så lett som å trykke: neste, neste, ok, ok i en isntaller

  7. Et eksempel på hvordan det kan gjøres:

     

    <?php
    $random_text = array("Random Text 1",
    				"Random Text 2",
    				"Random Text 3",
    				"Random Text 4",
    				"Random Text 5");
    srand(time());
    $sizeof = count($random_text);
    $random = (rand()%$sizeof);
    $display = $random_text[$random];
    ?>
    
    <HTML>
    
    <HEAD>
    <TITLE><?php echo $display; ?></TITLE>
    </HEAD>
    
    <BODY>
    content goes here
    </BODY>
    
    </HTML>

  8. MySql kræsjer "i ny og ne". Er det noe bror din har fortalt deg?

     

    Selv vil jeg anbefale å starte med mysql, det finnes mye mer matriale en til sqlite på nett.

     

    Enkel og fungerende WAMP Setup (hvis det ikke må være LAMP): http://www.techmalaya.com/2007/09/10/begin...th-screenshots/

     

    Bra sted for å starte med SQL: http://www.w3schools.com/SQl/default.asp

     

    Mysql, på denne siden og i menyen til høyre finnes du funksjoner som er tilgjengelig, samt eksempler og veldig mange gode brukerkommentarer: http://no.php.net/manual/en/function.mysql-query.php

     

    Random tekst eksempel skrevet i PHP: http://www.hawkee.com/snippet/1184/

     

    Ja MySQL med MyISAM kræsjer i ny og ne, InnoDB er meir stabilt men då begynner me å snakke om at ein må begynna å lære seg større deler av MySQL.

     

    Det finnes mykje dokumentasjon av SQLite, ikkje minst mykje meir "korrekt" dokumentasjon der prepared statements er grunnleggandes. Oppsett av MySQL er også ein stor unaudvendig jobb for ein som vil læra seg databaser.

     

    For å si det rett ut, så er SQLite teknologisk, ytelsesmessig og pedagogisk eit mykje betre alternativ å starte med.

     

    1. Hvis alle de kræsjene du maser om oppstår vil han mest sannsynlig aldri merke dem.

    2. Det finnes mye, men ikke i nærheten så mye som om mysql (google gir 25:1)

    2a. korrekt dokumentasjon? søker du etter blogdpot mysql vil du selvsagt få opp mye dritt.

    3. sqlite har mange mangler, den O store ytelses forbedringen kommer ikke til å merkes i det hele tatt på en hjemmeserver, ser ikke hvordan sqlite er så mye mer padagogisk heller.

     

    Ved å starte med mysql har man også veldig mange gode verktøy for utvikling/testing som f.eks phpMyAdmin og mySql Workbench. Samt at man starter svært enkelt og senere når man er klar kan man utvide/gå over til å bruke mysqli klassene (for å kunne ta ibruk statments osv.

     

    //Dan

  9. Begynn med SQLite som database, MySQL er oppskrytt tullball som kræsjer i ny og ne.

    SQLite er rask, enkel å forhalde seg til og ikkje minst innebygd i webutviklingsspråk som PHP(så lenge sqlite modulen ikkje er tatt vekk).

     

    Lite eksempel i php:

      <?php
    // create new database (procedural interface)
    $db = sqlite_open("db.sqlite");
    
    // uncomment next line if you still need to create table foo
    // sqlite_query($db , "CREATE TABLE foo (id INTEGER PRIMARY KEY, name CHAR(255))");
    
    // insert sample data
    sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia')");
    sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia2')");
    sqlite_query($db, "INSERT INTO foo (name) VALUES ('Ilia3')");
    
    // execute query
    $result = sqlite_query($db, "SELECT * FROM foo");
    // iterate through the retrieved rows
    while ($row = sqlite_fetch_array($result)) {
    print_r($row);
    /* each result looks something like this
    Array
    (
    	[0] => 1
    	[id] => 1
    	[1] => Ilia
    	[name] => Ilia
    )
    */
    }
    
    // close database connection
    sqlite_close($db);
    
    ?>

     

    MySql kræsjer "i ny og ne". Er det noe bror din har fortalt deg?

     

    Selv vil jeg anbefale å starte med mysql, det finnes mye mer matriale en til sqlite på nett.

     

    Enkel og fungerende WAMP Setup (hvis det ikke må være LAMP): http://www.techmalaya.com/2007/09/10/begin...th-screenshots/

     

    Bra sted for å starte med SQL: http://www.w3schools.com/SQl/default.asp

     

    Mysql, på denne siden og i menyen til høyre finnes du funksjoner som er tilgjengelig, samt eksempler og veldig mange gode brukerkommentarer: http://no.php.net/manual/en/function.mysql-query.php

     

    Random tekst eksempel skrevet i PHP: http://www.hawkee.com/snippet/1184/

  10. Ja, har fått med meg at det er studentrabatt på store deler av sortimentet (yay!). Men det ble snakket om studentkampanjer, og de har jeg ikke sett noe til. Dessuten var det andre problemer jeg nevnte i det forrige innlegget mitt. :ermm:

     

    Alt er ok på den svenske siden etter hva jeg har hørt, det burde heller ikke være veldig vankselig å fikse, men hvis side 2282 er "kampanjesiden" til dustin så kan du bare bytte bookmark til http://www.dustinhome.no/DynamicPage.aspx?PageID=2282.

  11. Er det bare meg eller går det ikke ann å gå fra studenforsiden til den vanlige forsiden ut å logge ut?

     

    Hva er forskjellen? Sånn unntatt prisene selvfølgelig..

     

    Vanlig forside har jo romjulsalg (30+ produkter) osv, student derimot har kun ni produkter. med link til ordinær startside, som bare er en link til samme siden (DynamicPage.aspx?PageID=1751)

  12. Pga influensaen var det snakk om at det var mulig med egenmelding:

     

    http://www.underdusken.no/nyhet/2009/16/15...%C3%B8r+eksamen

     

    "– Studieavdelingen har fremmet et forslag om at studentene skal kunne være borte på eksamen uten legerklæring. Vi ønsker å fjerne presset på studenter og helsevesen, informerer avdelingsdirektør Anne Rossvoll ved NTNU.

     

    Det er likevel ikke sikkert et slikt tiltak blir gjennomført."

     

    men vet ikke hvordan dette endte, mulig det er verdt en nærmere titt.

  13. Har et prepared PDO statement opprettet som følger:

     

    $stmt = $db->prepare('SELECT * FROM tbl WHERE id IN (?)');

    Jeg ønsker å binde en vilkårlig lang kommaseparert liste med heltall til parameteren, men har sålangt ikke funnet ut hvordan det gjøres. Følgende fungerer (naturligvis) ikke:

     

    $stmt->bindValue(1, array(1,2,3));
    $stmt->bindValue(1, '1,2,3');

    Den første fordi bindValue ikke støtter arrays, og nummer to fordi parametern da blir en streng.

    Finnes det en elegant måte å gjøre dette på? Iflg. forumtrådene jeg har kommet over, så er det ikke mulig, og manualen er litt unnvikende på dette området. Tips?

     

    En omtrentlig tilsvarende problemstilling oppstår ved "..ORDER BY ?".

     

    Hadde samme problem, endte med at jeg måtte gjøre følgende

    foreach($categorys as $category){ 
    $in .= $category.',';
    } //så etter slette siste tegn etter jeg har loppa igjennom.

    med ORDER BY måtte jeg, ja gjøre det jalla og si at $this->db->prepare('SELECT * FROM product WHERE product_category = ? ORDER BY '.$sorting.' '.$sort);

     

    Muligens til lite hjelp, men søkte selv etter samme og fant nada.

     

    UPDATE: nvm klarte og overse at du prøvde med string i PDO, min løsning fungere med mysqli. Beklager

  14. Har hatt NGT i et år nå, bor i Trondheim:

    - Dårlig modem, må opfte restartes (mulig de har oppgradert nå)

    - Ustabile linjer, spesielt søndag

    - får 11 av de 20 Mbit

    - Mister internett i korte perioder (5-sec til 5min) mange ganger i uken.

    - Har ikke mye bra å si om kundeservice heller, ting går liksom ikke videre fra den du snakker med på tlf videre inn i systemet. F.eks en faktura som er feil, jada det skal de fikse, pengene skal trekkes fra på neste faktura, men neida samme feilen kommer også på neste faktura. Sendte inn utstyr for iptv, får mail hvor de bekrefter at alt er kommet inn, 4 mnd senere får jeg faktura og purring på at noen av delene mangler, 4 mail og noen telefoner senere finner de ut at de har fått alt allikevel.

     

    Men angående linjene, avstanden er for lang så ville vel ikke fått noe bedre fra annen leverandør, og jeg har heller ikke noe å sammenlikne med når det kommer til stabilitet fra andre leverandører rundt der hvor jeg bor.

  15. Tastatur typen på timeline serien har et spesielt navn. Så det for noen dager siden, men kommer ikke på hva det heter, noe som vet?

     

    Ellers vil jeg si at jeg er utrolig fornøyd med min solo 3810, utrolig fin studen-maskin.

     

    Chiclet-keyboard

     

    http://www.netbookchoice.com/2009/04/19/so...eyboard-anyway/

     

    takker =)

     

    Noen som vet om et slikt type tastatur for stasjonær (norsk), altså vanlig oppsett med numtaster, winkey og det hele?

     

    http://www.msi.com/index.php?func=proddesc...mp;prod_no=1895

     

    Ellers skal Asus lansere EEE Keyboard i oktober. Det interessante er at selve tastaturet har en innebygd PC. http://gizmodo.com/5124985/eee-keyboard-an...home-theater-pc

     

    takker =)

     

    eee tastaturet så sweeeet ut, men prisen kommer nok ikke til å være det =/

    msi tastaturet derimot var vel egentlig det jeg lette etter, finner det ikke i norge dessverre.

×
×
  • Opprett ny...