15. november 2008 - 08:56Der er
19 kommentarer og 1 løsning
Ideer til at komme igang en - budget/forbrug side.
Hej Eksperter
Jeg vil prøve at lave en simpel budget side.
Jeg mangler nogle ideer til hvordan jeg skal komme igang.
Jeg tænker at budgettet skal kunne huskes ud fra en MySql-database, så ved mit login at jeg kan finde mit/mine budget(ter) frem igen.
Samt ved tilgang til siden:
Nogle indput felter indtægt/udgifter som sendes videre til anden side hvor der er tabeller til at samle datane/give overblik, evt. med en gem funktion, her.
Hvem gider sætte mig igang, med dette?
Spørg gerne om yderligere, da jeg ikke præcis har den endelige opsætning, endnu.
ID | Type | Beløb 1 | Husleje | 7000 2 | Dong energi | 1309 i alt:| tom | 8309
Så tænker jeg at samle det i DB under type, men hvordan? Boligudgifter Forsikringer Biludgifter Børn/institutioner osv.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Slettet bruger
16. november 2008 - 02:46#1
Prøv sæt et eksempel op i Excel eller lign. program, og så byg din database op efter det. Derfra ville jeg så starte med at lave siden til at indsætte budgetter, bagefter hvordan de skal vises og så til sidst noget redigering og slettelse af budgetter.
Hvilket jo kun giver mulighed for 3 tekstfelter, og der skal eksempelvis bruges 50 felter.
Kunne det evt. gøres anderledes?
Synes godt om
Slettet bruger
16. november 2008 - 10:43#3
Eh, der fik du lige forvirret mig... Men altså ud fra de informationer du har givet, som du gerne vil have at dit projekt skal kunne, ville jeg tænke en smule fremad og sparer en masse tid i længden.
Lad mig give et eksempel på et simpelt system der vil kunne holde styr på noget regnskab for nogle brugere. Brugeren kan selv tilføje flere "typer" f.eks. Boligudgifter, Forsikringer, Biludgifter osv... ligesom du selv har skrevet ovenover..
Vi kan jo starte med at lave MySQL tabellerne.
-- Vi starter med Bruger tabellen -- CREATE TABLE `brugere`( `id` INT NOT NULL AUTO_INCREMENT, -- Giver brugeren sit eget unikke ID `brugernavn` TEXT NOT NULL, -- Brugerens brugernavn `adgangskode` TEXT NOT NULL, -- Brugerens adgangskode PRIMARY KEY(`id`) );
-- Så laver vi en tabel hvor brugerne kan tilføje en slags "budget typer" CREATE TABLE `typer`( `id` INT NOT NULL AUTO_INCREMENT, -- Budget Typens unikke ID `bruger` INT NOT NULL, -- ID på brugeren, så hver bruger nemt kan få sine egne budget typer `navn` TEXT NOT NULL, -- Navnet på budget typen `beskrivelse` TEXT NOT NULL, -- Beskrivelse af budget typen PRIMARY KEY(`id`) );
-- Og til sidst laver vi selve budget tabellen CREATE TABLE `regnskab`( `id` INT NOT NULL AUTO_INCREMENT, -- Regnskabs unik ID `oprettet` DATETIME NOT NULL, -- Dato og tidspunkt for oprettelsen / indskrivning `bruger` INT NOT NULL, -- Bruger ID `type` INT NOT NULL, -- Budget type ID `navn` TEXT NOT NULL, -- Navnet på det indskrevne beløb f.eks. "Indkøb" eller lign. `beskrivelse` TEXT NOT NULL, -- En beskrivelse af beløbet `beloeb` DECIMAL(10,2) NOT NULL, -- Beløbet i formatet valuta(10 cifre).valuta(2 cifre) altså max 10 cifre kr og 2 cifre ører, hvis det er dansk valuta. PRIMARY KEY(`id`) );
* Bemærk det er nogle meget simple MySQL tabeller.
Nu er databasen på plads, det næste skridt er tilføjelse af brugere. Hver bruger skal så have mulighed for at tilføje en budget type, og derefter begynde på at lave sine budgetter.
1. Lav bruger 2. Opret budget typer 3. Indsæt data 4. Hent dataen ud fra tabellerne hvor kolonnen 'bruger' er lig den ind-loggede brugers id.
Håber det kan bruges, ellers er der en idé til hvordan du kan komme igang.
Hvordan får jeg så indsat brugeren i de andre tabeller? Regnskab Typer
Synes godt om
Slettet bruger
16. november 2008 - 15:29#5
Godt, du har lavet bruger opretnings system, det næste JEG ville gøre er at skulle logge ind. Når man er logget ind, ville jeg gemme brugerens ID nr og Brugernavn i sessions.
Og så skal brugeren have mulighed for at få en oversigt over BUDGET TYPER, der skal brugeren så kunne oprette en budget type hvor der SKAL angives et navn og evt. en beskrivelse.
eksempel på sql kode: mysql_query("INSER INTO `typer`(`bruger`,`navn`,`beskrivelse`) VALUES(".$_SESSION["brugerID"].",'$budget_navn','$budget_beskrivelse')");
Så har brugeren fået sin egen budget type. Budget typerne bliver inddelt i brugere efter kolonnen `bruger`
Derefter skal der tilføjes noget data til budget typen. Eksempel på det:
mysql_query("INSERT INTO `regnskab`(`oprettet`,`bruger`,`type`,`navn`,`beskrivelse`,`beloeb`) VALUES(NOW(),".$_SESSION["brugerID"].",".$budgetTypeID.",'".$regnskabNavn."','".$regnskabBeskrivelse."','".$regnskabBeloeb."')");
Så der bliver refereret til frem og tilbage mellem databaserne, håber ikke det bliver for indviklet til dig :-)
Så længe der er lidt hjælp at hente, så skal jeg nok sidde til langt ud på ...... og få sved på panden.
Jeg har siddet og søgt/læst på nettet omkring session, men hvordan det virker: $_SESSION["brugerID"] = brugerens-id; $_SESSION["brugerNavn"] = brugerens-brugerenavn;
brugerID - Det er jo "auto increment" ik´ Vil det så ikke være svært at bruge eller hvordan gør jeg dette?
Jeg er vel ude i noget med: if(isset($_SESSION["brugerID"]) || isset($_SESSION["brugerNavn"])) {
Et eller andet?
Jeg prøver lige at forstå resten af dit forslag...
Synes godt om
Slettet bruger
16. november 2008 - 16:17#7
hehe, kan se du ikke har været igang med bruger systemer før rigtigt.
Du har selv lavet din bruger opretnings funktioner, så når en klient har oprettet en bruger, skal du enten auto log-ind personen eller sende brugeren vidre til log-ind siden. Når du validerer klientes data, og tjekker om han bliver logged ind, så ville jeg lave 2 sessions, den ene har brugerens ID nummer og den anden har brugerens brugernavn. De 2 sessions kan du så bruge til at hente data fra databasen og udskrive brugerens brugernavn.
Så når du f.eks. vil hente alle brugerens budget typer ned, så skal du gøre noget lign. det her
// Henter alle rækker fra tabel 'typer' der har samme id som den ind-loggede bruger $hent_bugetTyper = mysql_query("SELECT * FROM `typer` WHERE `bruger` = ".$_SESSION["brugerID"]."");
// Tjekker om der blev fundet nogle resultater fra sql forspørgelse if(mysql_num_rows($hent_budgetTyper) { // Der blev fundet budget typer, så vi looper dem igennem og viser dem til brugeren while($data = mysql_fetch_array($hent_budgetTyper)) { echo $data["navn"]."<br />"; } } else { // Der blev IKKE fundet nogen budget typer til den ind-loggede bruger echo "Brugeren ".$_SESSION["brugerNavn"]." har ikke oprettet nogle budget typer endnu."; }
Kan du kort fortælle mig, hvordan jeg skal bruge dem i dette tilfælde. <?php session_start(); $_SESSION['brugernavn']; $_SESSION['brugerID']; ?>
Men hvordan for jeg dem til at virke. Du har selv lavet din bruger opretnings funktioner, så når en klient har oprettet en bruger, skal du enten auto log-ind personen eller sende brugeren vidre til log-ind siden. Jeg vil nok vælge at sende brugeren til en ny side, men hvordan får jeg lige sat det op så sessions følger med, håber du forstår min tvivl.
Lige nu har jeg en: bruger.php start.php
bruger.php Har oprettelse af en ny bruger.
start.php Skulle så være logind siden.
Skal der så yderligere sendes videre til endnu en side fx opret_budget.php Med mulighed for oprettelse af budget typer mv.
En side med budget.php
en side med update.php
en side med delete.php
Eller hvordan?
Synes godt om
Slettet bruger
16. november 2008 - 17:23#9
"Jeg vil nok vælge at sende brugeren til en ny side, men hvordan får jeg lige sat det op så sessions følger med, håber du forstår min tvivl."
Det er nemlig lige præcis det, man bruger sessions til, at have dem i samme browser lige gyldig hvilken side, sålænge det er under samme domaine.
Du skal først og fremmest have koden "session_start();" på alle sider du vil bruge dine sessions, derefter er det som almindelige arrays variabler.
// Filen hvor du har oversigt over budget typer session_start(); $hent = mysql_query("SELECT * FROM `typer` WHERE `bruger` = ".$_SESSION["brugerID"]."");
Forklar mig lige omkring DB id og brugernavn fra DB det er ikke det man bruger som SESSION.
Jeg er også sikker på når jeg først har fået det til at virke, så tænker jeg nåååå, sådan.
Men lige nu er jeg sort. Håber på din forsatte tålmodighed. Er disse fastsat af browseren: $_SESSION["brugerID"] = brugerens-id; $_SESSION["brugerNavn"] = brugerens-brugernavn;
Eller er det fra databasen?
Kan du muligvis give lidt kode som kan hjælpe mig på vej. bruger.php start.php evt. ny side - jeg er lige stået af - nemlig. Men tråden skal jeg finde.
Når jeg bruger denne: SELECT `id`,`bruger`,`type`,`beloeb`,SUM(beloeb) AS `ialt` FROM
siger den brugeren ikke har oprettet budget.
Synes godt om
Slettet bruger
16. november 2008 - 22:09#15
Prøv giv mig din fulde SQL kode, og er det stadig ved 'budget' tabellen du er ved?
Iøvrigt skulle følgende SQL forspørgelse virke:
mysql_query("SELECT *, SUM(`beloeb`) as `ialt` FROM `budget` WHERE `bruger` = '".$_SESSION["brugerNavn"]."'");
Synes godt om
Slettet bruger
16. november 2008 - 22:10#16
Og lige en ting mere, hvis du skal spørge hver gang der er noget fra nu af og til scriptet er færdigt, ville det være klogest hvis du bare skrev til mig over et chat program eller lign..
Kontakt mig på.. E-mail: krelle@gmail.com MSN: msn@krelle.dk
// Henter alle rækker fra tabel 'typer' der har samme id som den ind-loggede bruger $hent = mysql_query("SELECT *, SUM(`beloeb`) AS `ialt` FROM `budget` WHERE `bruger` = '".$_SESSION["brugerNavn"]."'");
// Tjekker om der blev fundet nogle resultater fra sql forspørgelse if (mysql_num_rows($hent)) { // Der blev fundet budget typer, så vi looper dem igennem og viser dem til brugeren while ($data = mysql_fetch_array($hent)) { echo "<table align=\"center\" width=\"50%\" border=\"1\"><tr>"; echo "<th align=\"center\" width=\"10%\">".$data['id']."</th><th align=\"left\" width=\"80%\">".$data['type']."</th><th align=\"right\" width=\"10%\">".$data['beloeb']."</th>";
echo "<th>".$data['ialt']."</th></tr></table>";
} } else { // Der blev IKKE fundet nogen budget typer til den ind-loggede bruger echo "Brugeren ".$_SESSION["brugerNavn"]." har ikke oprettet et budget endnu."; }
} ?>
ja, jeg har oprettet en tabel med et prøve budget. Det kommer også rigtigt ud, med brugernavn. Men den stjerne virker ikke med *,sum(beloeb) har lige prøvet med din kode.
Synes godt om
Slettet bruger
16. november 2008 - 22:20#18
$hent = mysql_query("SELECT *, SUM(`beloeb`) AS `ialt` FROM `budget` WHERE `bruger` = '".$_SESSION["brugerNavn"]."'") or die(mysql_error());
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.