Gjest Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 (endret) Hei folkens! Da har jeg kodet noe greier! Dette lille prosjektet går ut på å legge ut hva du ønsker deg til jul iår. Ganske enkelt og jeg vil ha tips til hva jeg han gjøre annerledes i koden min :)Alt er kodet i PHP med OOP forresten. How to install: Pakk ut alt. Opprett en database kalt: jul09 Ta så å kjør følgende MySQL kode: -- phpMyAdmin SQL Dump -- version 3.2.0.1 -- http://www.phpmyadmin.net -- -- Vert: localhost -- Generert den: 29. Okt, 2009 13:34 PM -- Tjenerversjon: 5.1.37 -- PHP-Versjon: 5.3.0 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Database: `jul09` -- -- -------------------------------------------------------- -- -- Tabellstruktur for tabell `ønsker` -- CREATE TABLE IF NOT EXISTS `ønsker` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ønske` varchar(255) NOT NULL, `rekkefølge` varchar(255) NOT NULL, `dato` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=19; -- -- Dataark for tabell `ønsker` -- INSERT INTO `ønsker` (`id`, `ønske`, `rekkefølge`, `dato`) VALUES (6, 'bok6', '8', '29-10-2009'), (7, 'bok7', '9', '29-10-2009'), (1, 'bok1', '3', '2009-09-14'), (2, 'bok2', '2', '2009-09-14'), (3, 'bok3', '1', '2009-09-14'), (4, 'Bok4', '7', '29-10-2009'), (5, 'bok5', '6', '29-10-2009'); Åpne config.php som du finner i includes< mappen her kan du endre mysql connect info til database. Prosjekter: * Uten passord * Versjon 0,1 * Uten passord * Versjon 0,2 EDIT: <b>Online eksempel:</b> EDIT2: Bugs funnet i versjon 0,1: Bugs funnet i versjon 0,2: * Flytte bugs om det er mange mellomrom, f.eks: id 2, id 5 og id 6 skal bytte plass da tar den bare å teller fra id 0 til id 3 EDIT3: Er nå mulighet for å overskrive! Endret 31. juli 2010 av Gjest Lenke til kommentar
muggsopp Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 (endret) OOP i PHP er en spøk, litt over grensen til det morbide. Hadde du bare visst hvor mye minne OOP i PHP sluker, så hadde du latt være. PHP er ikke et objektorientert programmeringsspråk; det er et scriptspråk! Ye gods.. Endret 29. oktober 2009 av KVTL Unødvendig quote fjernet Lenke til kommentar
TheClown Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 Har du et online eksempel? Orker ikke å sette opp db osv. Lenke til kommentar
Wackamole Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 OOP i PHP er en spøk, litt over grensen til det morbide. Hadde du bare visst hvor mye minne OOP i PHP sluker, så hadde du latt være. PHP er ikke et objektorientert programmeringsspråk; det er et scriptspråk! Ye gods.. Spøker du nå eller? - Hva mener du er et "OOP språk" ? - Og hva mener du med scriptspråk? Et script kan da skrives i OOP det da? Lenke til kommentar
Ernie Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 OOP i PHP er en spøk, litt over grensen til det morbide. Hadde du bare visst hvor mye minne OOP i PHP sluker, så hadde du latt være. PHP er ikke et objektorientert programmeringsspråk; det er et scriptspråk! Ye gods.. Ja, jøss, når du sier det sånn så må jo det virkelig stemme! Seriøst, kan du dokumentere påstanden, eller skal vi bare avskrive det her som ren og skjær bullshit først som sist? Jeg vil anta en klassedefinisjon tar maks et par kB ekstra minne i forhold til en funksjon, og du skal ha alvorlig lite minne for at det skal ha noe å si i det heltatt. Forøvrig, at PHP tildels er en vits når det kommer til OOP skal jeg ikke argumentere mot, men at PHP er et scriptspråk har ingenting med hvorvidt det kan ha OOP eller ei. Lenke til kommentar
Gjest Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 Oppdatert første posten med fungerende prosjekt og online eksempel Lenke til kommentar
Alex Moran Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 Gidder du å legge ut en versjon som ikke er passordbeskyttet eller, The Unarchiver vil ikke åpne den. Lenke til kommentar
footnote Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 Du bør se litt på hvordan du sorterer ønskene, nå sorterer den ikke numerisk men alfabetisk. Kunne vært greit også å få lov å legge inn et ønske som nummer 2, selv om det er et ønske med den prioriteten fra før. Kan bare flytte alle ønskene fra 2 og ned ned ett hakk Lenke til kommentar
Gjest Skrevet 29. oktober 2009 Del Skrevet 29. oktober 2009 Ser at folk har tester I hytt og pine sikkerheten er ikke 100% har ikke tatt å stripset vekk html tegn så. Lenke til kommentar
PlastBox Skrevet 30. oktober 2009 Del Skrevet 30. oktober 2009 Kikket på siden og det første som slo meg var at hele løsningen hadde vært veldig mye mer smooth dersom ønskelisten lå i en DIV og du brukte jQuery sin ajax-funksjonalitet til å sende "opp/ned/slett" og oppdatere innholdet i DIV'en. Så kikket jeg raskt på sort.php, og svarte mann... in the name of all that is holy, bytt ut <meta http-equiv="refresh" content="0;URL=index.php"> med header('Location: index.php'); Når du bruker løsningen du har nå vil webserveren gjøre seg ferdig med å prosessere sort.php, sende siden (selv om den er tom) til nettleseren, nettleseren vil vise siden og sende deg tilbake dit du kom fra. Det er derfor man får et veldig merkbart avbrudd hver gang man trykker på noe. Bruker du Header()-funksjonen i php vil ikke webserveren sende sort.php, den vil "redirecte" webrequestet til index.php uten at brukeren merker noe og brukeren slipper det hvite "hakket" hver gang man trykker på noe. Lenke til kommentar
Gjest Skrevet 30. oktober 2009 Del Skrevet 30. oktober 2009 Takk for svar PlasBox, skal titte på jQuery, har du noe forslag for meg hvordan jeg kan oppdatere hele innholdet i div'en til MySQL databasen? Hva er MySQL koden? Lenke til kommentar
PlastBox Skrevet 30. oktober 2009 Del Skrevet 30. oktober 2009 Takk for svar PlasBox, skal titte på jQuery, har du noe forslag for meg hvordan jeg kan oppdatere hele innholdet i div'en til MySQL databasen? Hva er MySQL koden? Altså, det er ikke bare-bare å gå over til jQuery, det krever en ganske stor overgang. Du må først og fremst laste ned nyeste jQuery-fil og lage en fil til din egen javascript-kode (f.eks. myscript.js). Begge disse includes i index.php med: <script src="jquery-whateverfilnavn.js" type="text/javascript"></script> <script src="myscript.js" type="text/javascript"></script> sort.php må du skrive om slik at den kan få tilsent hva den skal gjøre ($_GET['do'] == up/down/delete) og $_GET['id'] er ID på raden som skal flyttes/slettes. Til slutt i sort.php genereres ønskelista. I stedefor å linke til sort.php?id=32&do=up bruker du ajax til å kalle denne filen. Pseudokode blir: function doStuff(rowid, action) { $.get("sort.php", { id: rowid, do: action }, function(data) { $("#list").html(data); }); } Når du trykker "Opp" på en item i listen må du kjøre javascript-funksjonen doStuff(28, 'up'). $.get() henter da inn sort.php?id=28&do=up og hva enn denne filen ellers ville printet på skjermen (altså ønskelisten) blir returnert til variabelen data. $("#list").html(data); setter innholdet i et html-object med id="list" til det sort.php returnerer (altså ønskelisten). Ok, dette er vanskelig å forklare men.. 1. sort.php genererer ønskelisten med knapper som kjører doStuff(id, "up/down/delete"); 2. når du trykker på en knapp kjøres funksjonen doStuff med verdier for den raden/knappen, f.eks. doStuff(13, 'down') 3. sort.php?id=13&do=down hentes, og rad med id 13 flyttes ned. Kode for ønskeliste genereres og returneres til javascriptet, i variabelen "data" 4. innholdet i <div id="list"> settes til variabelen "data" Get it? xD Lenke til kommentar
Gjest Skrevet 30. oktober 2009 Del Skrevet 30. oktober 2009 (endret) Hei! Da var en ny versjon på nettsiden. Pakket til *.rar EDIT: Bugs funnet: * Flytte bugs om det er mange mellomrom, f.eks: id 2, id 5 og id 6 skal bytte plass da tar den bare å teller fra id 0 til id 3 Noen andre som kan hjelpe meg? EDIT2: Det er lagt til debug update. EDIT3: 0,2 bug rettet. EDIT4: Mulighet for å overskrive. Endret 30. oktober 2009 av Gjest Lenke til kommentar
Gjest Skrevet 31. oktober 2009 Del Skrevet 31. oktober 2009 Noen andre som har innspill? Lenke til kommentar
Alex Moran Skrevet 31. oktober 2009 Del Skrevet 31. oktober 2009 - Bruk skikkelig identering - Bruk engelsk overalt - Det du har nå er en salig blanding av PHP4 og PHP5, gå for PHP5 all over - Ikke bland HTML og PHP på den måten du nå gjør. Lag egne template-filer for HTML. - Dropp bruken av global, titt heller på Dependency Injection - Vurder å droppe mysql_ til fordel for PDO eller MySQLi - <font> er dritt-html Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå