Inlägg

Inlägg som Fjanterifjant har skrivit i forumet
Av Fjanterifjant
Skrivet av Gardart:

Det lättaste settet är att i kontrollern så lägger du till två styckern parametrar. I dessa fall kallade jag dem $tradgard och $id

KOD

Hoppas det var det här du menade

Hur kallar jag på dessa parametrar tro och skickar dem vidare in i min modell som sedan hämtar ut berörda rader? Har verkligen stirrat för länge på detta.

Tog förresten fel metod ur min modell:

public function getProductCategory($page,$category){ $query = $this->db->query("SELECT * FROM products WHERE active='1' AND category='$category' ORDER BY id DESC"); return $query->result(); }

Av Fjanterifjant

[CodeIgniter] GETtar

Hej!

Jag har kört fast igen, håller på snickra något åt webbshophållet men har stött på patrull med en viktig del av vilken PHP/MySQL site som helst.
Problemet är att jag försöker göra någon form av sortering av produkter på denna site genom en GET men är inte helt hundra på hur jag ska ställa rätt fråga i koden.

GET frågan ser ut som följande:
index.php/site/category/tradgard
Vill att man ska kunna fråga på den GET frågan såsom följande:
site = Oviktig egentligen i detta sammanhang då det är själva controllern som används
category = Huvudsidan med olika kategorier, denna del av queryn är vilken sida vi är på
tradgård = I dagsläget så är den kategorin sorterad i databasen som nummer 1, sorterar ut alla produkter som är tilldelade nummer 1 under kollumnen 'category' i databasen.

Model:

class Model_db_get extends CI_Model{ public function __construct(){ parent::__construct(); } public function getProductCategory($page,$category){ $query = $this->db->query("SELECT * FROM products WHERE active='1' AND category='$category' ORDER BY _id DESC"); return $query->result(); }

View:

<?php foreach($result as $row){ $url = $row->product_url; $product = $row->product_image; $text = "Delat via ARBETSNAMN"; $facebook = base_url('')."img/share.facebook.png"; $twitter = base_url('')."img/share.twitter.png"; echo "<div class=\"productwrapper\"> <div class=\"productimagewrapper\"> $product </div> <div class=\"product_toolbar\"> <a href=\"#\">Om produkten</a> <a href=\"".share_url('twitter', array('url'=>$url, 'text'=>$text, 'via'=>'ARBETSNAMN'))."\"><img src=\"img/share.twitter.png\" alt=\"Twitter\" title=\"Dela på Twitter\"></a> <a href=\"".share_url('facebook', array('url'=>$url, 'text'=>$text, 'via'=>'ARBETSNAMN'))."\"><img src=\"img/share.facebook.png\" alt=\"Facebook\" title=\"Dela på Facebook\"></a> </div> </div>"; }

Controller:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Site extends CI_Controller { function __construct(){ parent::__construct(); } public function index(){ $this->home(); } public function home(){ $this->load->model('model_db_get'); $this->load->helper('share'); $db_result['result'] = $this->model_db_get->getAllFrontPage(); $config['base_url'] = base_url()."index.php/site/home/"; $data = array('title' => 'ARBETSNAMN', 'main_content' => 'home_v', 'result' => $db_result['result']); $this->load->view('template', $data); } public function category(){ $this->load->model('model_db_get'); $data = array('title' => 'ARBETSNAMN', 'main_content' => 'category_v'); $this->load->view('template', $data); }

Edit: Bytte ut modellen för att hämta data till den som faktiskt ska användas

Av Fjanterifjant

Jag fick ett smärre hjärnsläpp och löste det:

I kontrollern:

$this->load->model('model_db_get'); $db_result['result'] = $this->model_db_get->getAllFrontPage(); $data = array('title' => 'Sidans titel', 'main_content' => 'home_v', 'result' => $db_result['result']); // Skyfflade in datan som en array direkt in i $data $this->load->view('template', $data);

I databas modellen:

<?php class Model_db_get extends CI_Model{ function getAllFrontPage(){ $query = $this->db->query("SELECT * FROM tabell WHERE category='1' AND active='1' ORDER BY id DESC"); return $query->result(); } public function __construct(){ parent::__construct(); } }

I viewen

<?php foreach($result as $row){ echo "<div class=\"adwrapper\"> <div class=\"adimagewrapper\"> <a href=\"".$row->client_url."\" target=\"_blank\"><img src=\"".$row->client_banner_img_url."\" alt=\"".$row->client_url."\" class=\"adimage\"></a> </div> <div class=\"adtoolbar\"> <a href=\"#\">Top 3</a> <a href=\"#\">Om oss</a> <a href=\"#\">Gilla oss</a> </div> </div>"; }

Av Fjanterifjant

Inget ont om metro, men det är som många andra tycker, inte direkt optimerat för desktop användare. Jag förstår poängen med det så alla ska känna sig hemma oavsett vilken pryl man använder, men skulle man inte kunna få ett alternativ som är lite mer lättarbetat med en traditionell dator som ändå innehåller alla nya funktioner, tänker vertikala listor istället för horisontella konstigheter samt göra brickorna mindre kanske då de flesta på desktops ändå har såpass stora och högupplösta skärmar.
Som någon tidigare nämnt, Unity i Ubuntu är ju touch anpassat men ändå är det väl fungerande för desktopanvändning, även om det går att göra mycket där med åt både desktop och touch användning.

Överlag gillar jag W8 och dess Metro men skulle ändå vilja ha en lite mer specialanpassad version / alternativ för just desktops/laptops.

Av Fjanterifjant

Räckte att jag postade här så löste jag problemet.
Mod, lås och ta bort tråd om ni vill.

Av Fjanterifjant

CodeIgniter - Stirrat mig blind

Goddagens!

Jag har precis börjat konvertera till ett MVC Framework, men har lite hjärnstillestånd för tillfället och kan verkligen inte se vad jag missar så jag tänkte någon vänlig själ kanske kunde kasta ett öga på vad som kan tänkas ha blivit missat av mig.

Hämtar jag ut alla resultat från min query direkt i controllern, print_r($db_query); , så får jag alla resultat direkt utan något problem men den skickar inte vidare den datan till min view av någon anledning.

Min databas klass

<?php class Get_db extends CI_Model{ function getAllFrontPage(){ $query = $this->db->query("SELECT * FROM test"); return $query->result(); } }

Min kontroller för startsidan

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Home extends CI_Controller { function __construct(){ parent::__construct(); } public function index(){ $this->load->model('get_db'); $db_result['result'] = $this->get_db->getAllFrontPage(); # print_r($db_result); // Här skickas data ut utan problem! $data = array('title' => 'Titel', 'main_content' => 'home_v', $db_result); $this->load->view('template', $data); } }

Min modell

<?php class Home_model extends CI_Model { # För tillfället tom! }

Min view

<?php foreach($result as $row){ echo $row->id; }

Slutligen felmeddelandet

Ett PHP fel uppstod Allvarlighetsgrad: Meddelande Meddelande: Undefined variable: result Filnamn: views/home_v.php Radnummer: 28 Ett PHP fel uppstod Allvarlighetsgrad: Varning Meddelande: Invalid argument supplied for foreach() Filnamn: views/home_v.php Radnummer: 28

Av Fjanterifjant
Skrivet av Weezyy:

länk till bakrunden? Sjukligt snygg!

Tror jag hittade den på gnome-looks men inte säker så lägger upp den istället.
http://i.imgur.com/1EHBJ.jpg

Av Fjanterifjant

http://i.imgur.com/FSjLR.jpg

Lite tamt, men funkar för min del.

Av Fjanterifjant
Skrivet av weavex:

Vilken ISP har du för det första?

Just ja, sorry, Bahnhof

Skrivet av Laggboxx:

Du ska väl ändå ha routern först?

Så vitt jag vet så ska väl IPTV gå direkt mot nätet om man inte sätter up något specifikt VLAN i routern? Kan ha fel.

Av Fjanterifjant

HomePlug + IPTV + DGS-1005A

God kväll!

Jag har en liten fundering angående kombinationen i topic. Köpte idag en D-Link DGS-1005A samt D-Link DHP-307AV då jag ville bli av med en massa kabeldragning som jag inte ha tid att göra samt en ny switch som inte stryper min uppkoppling med ~60mbit. Kopplade in allt och testade anslutningen på den sida som IPTV boxen sitter och där kommer jag åt nätet utan problem via laptop, men när jag kopplar den anslutningen mot IPTV boxen så börjar den ansluta men sen är det något som händer och boxen startar om sig, har inget direkt mer att erbjuda därifrån iom den idiotförklarar en en hel del.

IPTV Boxen är en Motorola VIP1910-9

Mitt nätverk ser ut som följande:

Datauttag -> Switch -> HomePlug -> IPTV
.................L Switch -> Router -> WiFi/PC/Server

Av Fjanterifjant

Synd att man inte denna nyhet kom lite tidigare. Fick mitt 7870 idag. Aja, inte mkt att göra men det är lite irriterande.

Av Fjanterifjant

Jag röstar på K Lite, enbart av slöhet. Vet inte om de ändrat CCCP's krav på vissa DX9 filer men dessa är bundlade med K Lite vill jag minnas. Kan ha fel.

Av Fjanterifjant

Komponenter
Chassi: Silverstone Lascala LC10B-E (Svart) med ditklistrad ljuddämpning
PSU: Corsair 650w från ett tidigare bygge
Morderkort: Gigabyte GA-P35-DS3
CPU: Intel Q6600
GPU: AMD Radeon 5450
Minne: 4x2gb OCZ 800mhz minnen
Dvd/blu-ray: Någon random DVD-RW av normal kvalite, Lite-On tror jag
HDD/SSD: 2x500gb Western Digital Black i RAID0 konfig
Tv-kort*: digital-everywhere FloppyDTV T/CI
TV-leverantör: Boxer

Mjukvara
OS: Windows 7 x64 (Ska dock byta till ArchLinux när tid finnes)
Media: Windows Media Center med diverse codec och lite lätt moddat (så den kan äta MKV också), blir MythTV sen när jag sagt upp mitt Boxer abonnemang och inte har nytta av ett TV-kort längre

Låter tyvärr alldeles för mycket, men inget jag hunnit fixa heller.

Av Fjanterifjant

Bara själva queryn kan se ut som följande:

$id = $_POST['id']; // antar att det kommer ifrån en POST form $query = "DELETE FROM tabellen WHERE id = '$id'"

Av Fjanterifjant
Skrivet av Murloc:

Så svaret är man använder serverspråk för att ändra alla HTML filer samtidigt?

Det är ett sätt att göra det, vilket också är ett av de smidigaste sättet att göra det också.

Av Fjanterifjant
Skrivet av You:

Beror ju på vilket upplägg man har. Använder man redan PHP kan det vara en smidig variant, men annars skulle man kunna använda nanoc eller liknande verktyg för att "kompilera" sidan från källkod. Då slipper man serverspråk.

Ärligt talat visste jag inte om nanoc, verkar vara en riktigt trevlig lösning det med! Måste bara tacka för tipset

Av Fjanterifjant
Skrivet av spot_1337:

<?php include('navbar.php'); ?>

Absolut bästa lösningen att göra någon form av PHP/ASP eller liknande precis som du rekommenderat, men vet inte hur mycket kunskap TS har på den fronten eller ens har tillgång till en PHP/ASP server.
Så en väldans FUL och icke rekommenderad lösning är väl iFrames eller någon form av JS/Ajax lösning där varje sida innehåller ett skript som kallar på en extern fil som innehåller exempelvis navigationen. Heller inte en vacker lösning men det går.

Av Fjanterifjant

Skulle lätt se nya varianter av samma tappning av spelserien Dune, massvis med nostalgiska känslor av det och C&C

http://en.wikipedia.org/wiki/List_of_Dune_games

Edit: Skulle lätt se en ny version av Discworld också!

Av Fjanterifjant

Jag rekommenderar också Lord of the Rings Online. Utmärkt Lore och utvecklarnas egna historier som baseras på Loren är inte fy skam heller. Grafiskt sett så är det riktigt snyggt. Communityt är överlag moget och trevligt. Nu när Rise of Isengard kommit också så har man att göra i minst 3 veckor (då menar jag 24/7 spelande för en extrem spelare, normal spelare åtminstånde 6 månader för att maxa ut en karaktär).

Av Fjanterifjant

Hosts filen är rätt simpel. Ser rätt lika ut på alla windows (lite kommentarer som skiljer)

Min ser ut som sådan:

# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost

Bara att skapa ett tomt textdokument, döpa det till hosts (utan filutökelse) och lägga den i
C:\Windows\System32\drivers\etc