Funktioner för databashantering i PHP

augusti 12th, 2010 av Kristoffer No comments »

PHPGick igenom min utvecklingshårddisk (sommarstädning) och hittade några roliga databasfunktion som jag kodade ihop för cirka ett år sedan när jag hade tråkigt. Tyvärr verkar det som att jag inte fixade till delete-funktionen, så den får ni vara utan tills att jag får tid att göra det. De andra funktionerna ska fungera, gör dem inte det så hojta till.

Funktionerna är ganska simpla, inte det bästa jag gjort, kan skrivas bättre! De klarar också bara av de absolut enklaste SQL-frågorna.

Ni får använda det här hur ni vill. Se dock till att er webbserver har stöd för PDO.

PHP-fil för att hantera databasanslutningen

<?php
$hostname = 'localhost'; // Adress till databasen
$usr = ''; //Användarnamn för databasen
$pwd = ''; //Lösenord för databasen
$database = ''; //Namnet på databasen
 
//Följande skapar själva anslutningen till databasen
try {
$db_connect = new PDO("mysql:host=$hostname;dbname=$database", $usr, $pwd);
	}
 
catch(PDOException $e)
    {
echo $e->getMessage();
    }
?>

PHP-fil med funktionerna

<?php
/*########################################*/
/*################ SELECT ###################*/
/*########################################*/
function dbSelect($table, $field, $query, $attributes, $output) {
require ("connect.php");
 
$dbQuery 	= null;
$dbType 	= null;
$attribute	= null;
 
	if($query) {
		foreach($query as $id => $value) {
			$dbQuery .= $id." = :".$id.' AND ';
		}	
		$dbQuery = " WHERE"." ".$dbQuery;
		$dbQuery = substr($dbQuery, 0, -5);
	}
	$dbQuery = trim($dbQuery);
 
	foreach($attributes as $id => $att) {
		$attribute .= " ".$id." ".$att;
	}
 
	$do = $db_connect->prepare("SELECT $field FROM $table $dbQuery $attribute");
 
	foreach($query as $id => $value) {
		switch(is_int($value)) {
			case true: 	$dType = PDO::PARAM_INT; break;
			case false:	$dType = PDO::PARAM_STR; break;
		}
		$do->bindValue(':'.$id, $value, $dbType);
		unset($value);
	}
	$do->execute();
	switch($output) {
		case "all": $result = $do->fetchAll();
	break;
		case "item": $result = $do->fetch(PDO::FETCH_OBJ);
	break;
	}
 
return $result;
}
 
/*############################################*/
/*################# INSERT ######################*/
/*############################################*/
 
function dbInsert($table, $insert) {
require ("connect.php");
 
$fields = null;
$values = null;
 
	foreach($insert as $id => $value) {
		$fields .= $id.", ";
		$values .= ":".$id.", ";
	}
 
	$fields = substr($fields, 0, -2);
	$values = substr($values, 0, -2);
 
	$do = $db_connect->prepare("INSERT INTO $table ($fields) VALUES ($values)");
	foreach($insert as $id => $value) {
		$do->bindParam(':'.$id, $value);
		unset($value);
	}	
	$do->execute();
}
 
/*#############################################*/
/*################## UPDATE #####################*/
/*############################################*/
 
function dbUpdate($table, $sets, $wheres) {
require ("connect.php");
 
	$where = null;
	$set = null;
 
	foreach($wheres as $id => $value) {
		$where .= $id.' = '."'$value'".' AND ';
	}
	$where = " WHERE"." ".$where;
	$where = substr($where, 0, -5);
 
	foreach($sets as $id => $value) {
		$set .= $id."=:".$id.", ";
	}
 
	$set = "SET ".$set;
	$set = substr($set, 0, -2)." ";
 
	$do = $db_connect->prepare("UPDATE $table $set $where");
	foreach($sets as $id => $val) {
		$do->bindParam(':'.$id, $val);
		unset($val);
	}
	$do->execute();
}

Hur man använder funktionerna

/* SELECT */
$selects = dbSelect("namn på tabellen", "fält1,fält2,fält3",			
			$where = array(
				"fältnamn" => "data",
			), 
			$attributes = array (
                               "ORDER BY" => "fältnamn desc"
			),
			$output = "item"
	  );
 
/* För att skriva ut en hämtad rad (lägg märke till att $output = "item" */
echo $selects->id;
 
/* Sätt output till "all" om du hämtar flera rader*/
$output => "all"
 
/* Om output är satt till "all" kan du göra så här för att lista det som hämtats */
foreach($selects as $id => $row) {
	echo $row["fältnamn1"];
	echo $row["fältnamn2"];
	//etc....
}
 
/* attributes används när man vill ha LIMIT eller ORDER BY */
$attributes = array (	
			"ORDER BY"=> "name DESC",
			"LIMIT" => 5,
			 ),
 
 
/*
#####################################
#####################################
#####################################
*/
 
/* INSERT */
dbInsert("tabellnamn",
		$insert = array(
			"fältnamn1" =>"värde1",
			"fältnamn2" =>"värde",
		)
	);
 
 
/*
#####################################
#####################################
#####################################
*/
 
/* UPDATE*/
dbUpdate("tabellnamn",
		$change = array(
			"fältnamn1" =>"värde1",
			"fältnamn2" =>"värde",
		)
	);

Dell Streak – dags för lansering igen

augusti 11th, 2010 av Kristoffer No comments »

Imorgon släpper Dell iPad-konkurrent Dell Streak till det amerikanska folket (enbart? Sverige då?). Om jag inte misstar mig har Dell Streak redan lanserats i Storbritannien i juni(?). Pekplattan (eller vad man nu ska kalla den) har flera egenskapen, men den bästa är priset. I USA kommer Dell Streak kosta cirka 4000 SEK utan några som helst förbindelser.

Ganska billigt tycker jag. Några svenska prisuppgifter har jag inte lyckats hitta, men om priset blir som i USA så innebär det en betydligt större risk att jag köper den än en iPad. Man kan trots allt även ringa med den :)

Källa: IDG

Apple granskas av EU-kommissionen

augusti 11th, 2010 av Kristoffer No comments »

AppleApple granskas nu av EU-kommissionen på grund av blockningen av Flash i mobilen. Redan i januari började amerikanska konkurrensverket, FTC, utreda Apple av samma orsak.

Myndighernas utredning ska resultera i ett beslut som avgör om det är olagligt att Apple stänger ute utvecklare från att använda andra verktyg än de som Apple tillåter, och även om blockningen av Flash är olaglig. Utredningen beräknas ta mellan fyra och sex månader.

New York Post via IDG

SMS-trojan för Android upptäckt

augusti 11th, 2010 av Kristoffer No comments »

AndroidKaspersky Lab säger sig ha upptäckt den första SMS-trojanen för Androidtelefoner. Trojanen maskerar sig som en mediaspelarapplikation, men när den väl är installerad börjar den skicka SMS till betalnummer.

Trojanen heter Trojan-SMS.AndroidOS.FakePlayer.a och ska redan ha infekterat ett del telefoner.

Det här kommer förmodligen bli mer vanligt i framtiden med tanke på efterfrågan på smartphones. Android-telefoner, iPhone och andra smartphones skapar en helt ny lekplats för de med kunskapen och viljan att jävlas. Det är kanske dags att fixa antivirus till min iPhone?

Källa: idg

Java 4-ever

augusti 11th, 2010 av Kristoffer No comments »

Så börjar vi dagen med en otroligt bra trailer.

HTC Desire HD – video utläckt

augusti 10th, 2010 av Kristoffer No comments »

När företag planerar att lansera produkter som många väntar på, kan det ibland vara svårt att hålla locket på. Först läckes det ut en bild på HTC Desire HD via Uwants. Nu, några dagar senare, har en video på HTC Desire HD, även kallad HTC Ace, läckt ut.

Antingen har HTC svårt att få sina anställda att hålla tyst, eller så är det ett marknadsföringsknep. Det är inte helt osannolikt att HTC medvetet läckt ut bilder och videos för att skapa en hype kring telefonen. Jag menar… bloggare, forum och tidningar älskar att skriva och visa produkter som ingen egentligen skulle ha fått se förens en officiell lansering. Jag är inte bättre själv uppenbarligen :)

HTC Desire HD – vad vet vi om den?

Nu kan man väl mer eller mindre säga att vi vet hur den ser ut, men vad har den för hårdvara? Ryktet säger att HTC Desire HD kommer levereras med en 4,3″ display, 1 Ghz processor, en 8MP kamera and 720p videoinspelning och i ett hölje av aluminium som HTC Legend.

Källa: TechRadar.com

iPhone 4 – så tycker användarna

augusti 9th, 2010 av Kristoffer No comments »

iPhone 4I en undersökning utförd av ChangeWave Research redovisas nöjdhetsfaktorn bland personer som äger en iPhone 4-mobil. Trots all turbulens kring iPhone 4 vid lanseringen får mobilen fortfarande klart godkänt enligt personerna som deltog i undersökningen.

Av de tillfrågade 213 iPhone 4-användare var cirka 72% mycket nöjda och 21% någorlunda nöjda. Bland iPhone 3GS-användarna var 82% mycket nöjda och 17% någorlunda nöjda, enligt en liknande undersökning 2009.

iPhone 4 – vad är det bästa med mobilen?

När användarna fick svara på vilka specifika egenskaper som var bäst med iPhone 4, svarade dem på följande sätt:

Screen Resolution 49%
5 Megapixel Camera with LED Flash 31%
Touch Screen Interface 30%
Ease of Use 25%
Multitasking 22%
Battery Life 21%
Third Party Applications 20%
Faster Web Browsing 18%
FaceTime Video Conferencing 15%



iPhone 4 – vad är det sämsta med mobilen?

Nedan är svaren på vad användarna anser är de sämsta egenskaperna med iPhone 4 (dem två första frågorna är inte relevanta i Sverige):

Requirenment to Use AT&T’s Netword 27%
Coverage/Speed/Quality of AT&T’s 3G Network 24%
Antenna Issues 24%
Excessive Dropped Calls 23%
Battery Life is Too Short 15%
Voice Quality of Calls 8%
No Handwriting Recognition Feature 8%

Trots mycket kritik från media har ändå Apple genomfört en otroligt lyckad lansering av iPhone 4. I alla fall om man ska tro den här undersökningen. Förhoppningsvis kommer det en större undersökning som inkluderar många fler användare.

Det ska dock bli intressant att se vad Apple hittar på med iPhone 5. Måtte det vara en total re-design, kraftfullare CPU, mer utrymme, 4G, fler möjligheter att själv anpassa saker och MER BATTERITID!

Källa: ChangeWave Research via InvestorPlace
Relaterat: iPhone 4 jailbreak, iPhone 4 mindre populär på Prisjakt, Slipp operatörslåset i iPhone 4

iPhone – hackers paradise

augusti 9th, 2010 av Kristoffer No comments »

Apple iPhoneCerta, den franska regeringens säkerhetsorgan, meddelar att hackare kan knycka iPhone-ägares data och avlyssna deras samtal via säkerhetshål i operativsystemet IOS.

Ett av säkerhetshålen nås när man läser en pdf-fil. Man kan då lura läsaren att anropa en viss webbplats, vilket sedan kan resulterar i att din iPhone hackas. Problemen slutar inte heller vid iPhone. Även iPad och iPod är sårbara.

Det var JailbreakMe som först(?) uppmärksammade säkerhetshålet vid PDF-hanteringen.

Källa: Certa via AB

Fem beroendeframkallande spel till iPhone

augusti 8th, 2010 av Kristoffer No comments »

iPhone-spel, det bästa tidsfördrivet när man väntar på någonting. Sedan jag köpte min iPhone 3GS har jag provat en rad olika spel, och några av dem är riktigt beroendeframkallande.

DoodleJump

I DoodleJump får du poäng ju högre upp du lyckas hoppa. Du utmanas av monster, aliens, exploderande plattformar, svarta hål och mycket mer. Till din hjälp har du en helikopterhatt eller ett Jet Pack som med jämna mellanrum dyker upp. Du kan även skjuta ner dina motståndare genom att trycka på skärmen.

Gubben styr du genom att tilta telefonen åt vänster eller höger. Missar du en plattform så börjar spelet om.

DoodleJump

DoodleJump

Tilt to Live

Otroligt stressigt spel! I Tilt to Live kan du välja mellan de tre olika speltyperna Classic, Code Red och Gauntlet. I Classic ska du med hjälp av olika vapen ta död på de röda plopparna. Code Red är som Classic, fast mycket aggressivare och snabbare. I Gauntlet ska du försöka överleva så länge som möjligt genom att ta dig förbi hinder och samla på dig tid.

Tilt to Live Classic

Tilt to Live Classic

Tilt to Live Code Red

Tilt to Live Code Red

Tilt to Live Gauntlet

Tilt to Live Gauntlet

FlightControl

FlightControl går ut få att förhindra flygplanskrascher genom att styra luftrummet och turordningen vid landning. Du styr planen genom att rita en flygväg åt dem med fingret. En krasch och spelet börjar om.

FlightControl

FlightControl

Unblock me

Kanske det mest beroendeframkallande spelet någonsin. Reglerna är mycket enkla… du ska få ut det röda blocket genom dörren genom att flytta de andra blocken horisontellt eller vertikalt. Jag har varit envis och klarar 400 banor i gratisversionen (beginner)… som sagt, beroendeframkallande.

Unblock Me

Unblock Me

Settlers of Catan

Samla resurser, bygg vägar, städer och hus. När du får 10 poäng i Settlers of Catan så vinner du spelet. Det är den enkla förklaringen. I verkligheten så är det ett ganska komplicerat spel där du måste tänka taktiskt för att ha en chans. Roligt i iPhone, roligare som brädspel.

Settlers of Catan

Settlers of Catan

USA-resan – nu 100 kr dyrare

augusti 8th, 2010 av Kristoffer No comments »

Resa till New YorkFrån och med den 8:e september kommer det kosta dig 100 kr för att komma in i USA, det bestämde amerikanska tullmyndigheterna nyligen. Det är alltså ESTA-systemet som beläggs med en avgift och gäller länderna som ingår i Visa Waiver-programmet (t ex Sverige).

100 kr är väl kanske inte mycket att gnälla om, men jag tycker hela grejen är sjuk och försvårar resor till USA ytterligare.

Det finns dock ett sätt att gå runt avgiften, och det är att redan nu göra en ESTA-ansökan. En godkänd ansökan gäller i två år nämligen.

Jag var i New York sommaren 2009, och fick då erfara ESTA-systemet… mycket drygt, även om det inte kostade pengar. Den roligaste delen är frågorna man får svara på:

Har du någonsin varit inblandad i spionage, sabotage, terroristaktiviteter eller folkmord; eller var du mellan 1933 och 1945 på något sätt inblandad i förföljelseaktiviteter kopplade till Nazi Tyskland eller dess alierade?

Den här biten är också ganska rolig (skrämmande).

Utöver ovanstående dispensklausul, som ett villkor för varje godkänd inresa till USA under Visa Waiver-programmet, samtycker jag till att biometrisk data (inklusive fingeravtryck och fotografier) vid ankomst till USA får bekräfta mitt avkall på alla rättigheter att ompröva eller överklaga ett beslut av U.S. Customs and Border Protection (tull och gränsskydd) angående mitt inresetillstånd, eller att bestrida, förutom för att ansöka om asyl, beslut om avvisning i samband med min ansökan om inresetillstånd under Visa Waiver-programmet.

Källa: AB