Forumdelen sponsras av

Frågor MySQL (Installerat LAMP).

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016

Frågor MySQL (Installerat LAMP).

Hej (igen)
Har jobbat sporadiskt med HTML, PHP, Apache under nåt år och har ett gäng mindre enkla applikationer som ingår i ett system. Är i behov av MySQL tror jag så därför installerade jag PhpMyAdmin (och Apache2, php) på min hemmadator. Mitt problem nu är att jag inte riktigt fattar hur man jobbar med MySQL.
PhpMyAdmin verkar vara en administratör för ett gäng databasen och man kan också skapa poster i den samt skapa sökningar etc. Jag har gjort en websida som via PHP matar databasen med data.
Min fråga nu är om det är det enda sättet att mata in, läsa ut och söka i databasen? Att via HTML/PHP skapa formulär. Finns det formulär-skapare i PhpMyAdmin också?

Trädvy Permalänk
Medlem
Plats
Där min VPN visar att jag är såklart
Registrerad
Jan 2005

phpMyAdmin är ett frontend för MySQL så där administrerar du via ett "användarvänligt gränssnitt"

Ja du kan köra SQL kod i phpMyAdmin.

Trädvy Permalänk
Medlem
Plats
Norrköping
Registrerad
Jul 2006

Du kan skriva SQL-frågor direkt i phpmyadmin.

R5-1600X, GA-AB-350M-G3, 16GB DDR4 @ 2666, RX580 8GB, Corsair CX650M Rev2

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av Xeno88:

Du kan skriva SQL-frågor direkt i phpmyadmin.

SQL-kod och SQL-fråga. Hmm.... Jag antar att SQL-kod är funktioner som anropas från ex.vis PHP och utför olika operationer på databasen.
En SQL fråga är nån form av script-språk som nån källkodläsare konsumerar och presenterar datat utiftrån frågans sammansättning.
Helt fel?

Trädvy Permalänk
Inaktiv
Registrerad
Sep 2011
Skrivet av Sweedland:

SQL-kod och SQL-fråga. Hmm.... Jag antar att SQL-kod är funktioner som anropas från ex.vis PHP och utför olika operationer på databasen.
En SQL fråga är nån form av script-språk som nån källkodläsare konsumerar och presenterar datat utiftrån frågans sammansättning.
Helt fel?

De menar nog SQL query båda två. Detta är en SQL query.
SELECT * FROM Clockers WHERE Country='Sweden';

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av anon176726:

De menar nog SQL query båda två. Detta är en SQL query.
SELECT * FROM Clockers WHERE Country='Sweden';

En query är väl en fråga som man ställer till databasen? Sen har du ju operationer på den också. "Lägga till". "Ta bort". "Stuva om". "Gör om"....
Eller är ordet "Query" en väldigt generell benämning på "kommando till db"?

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Jan 2015

Kan du utveckla din fråga lite mer? Vad vill du åstadkomma / ha reda på?

btw. query betyder rakt av 'fråga' på svenska, egentligen kallar man väl det för "statements" i sql-världen, men query är ganska vanligt förekommande det med.

"A statement is any SQL command such as SELECT, INSERT, UPDATE, DELETE.
A query is a synonym for a SELECT statement."

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av elBenko:

Kan du utveckla din fråga lite mer? Vad vill du åstadkomma / ha reda på?

btw. query betyder rakt av 'fråga' på svenska, egentligen kallar man väl det för "statements" i sql-världen, men query är ganska vanligt förekommande det med.

"A statement is any SQL command such as SELECT, INSERT, UPDATE, DELETE.
A query is a synonym for a SELECT statement."

Egentligen vet jag inte vad jag ska fråga. Det är det värsta. Men det du skrev har skingrat dimman skapligt. Insert betyder väl att man addar en post till databasen? Såg det nånstans. Så det du citerade har ju bakat ihop allt. Fine.

Då ska jag våga mig på ett "Statement". Jag ser MySQL som en programpaket som hanterar dessa "Statements" mfl du nämnde och i och med det hanterar databasen, tabeller och utför operationer på dem. MySQL är inget färdigt, snyggt programpaket som typ Access eller LibreOffice Base. Jag kan gissa att det till MySQL finns en del tredjepartsleverantörer av "skal" som hanterar MySQL på ett mer humant sätt.
Jag har installerat PhpMyAdmin som använder en webläsare som GUI till MySQL. Webläsaren blir alltså tack vare phpmyadmin en väg in för att underhålla db.
Vidare, tack vare att det finns php-kommandon till MySQL så är kopplingen Web<->MySQL möjlig.

är jag helt ute o cyklar?

Formulerar om en mening.
Trädvy Permalänk
Medlem
Plats
Finland
Registrerad
Maj 2004

@Sweedland:

Du är definitivt på rätt spår!

Ville nämna att många använder ordet "query" om alla sorters statement, vare sig det är en SELECT eller ej. SQL står för "structured query language".

MySQL är en databashanterare, ett system som hanterar databaser helt enkelt. Programpaket är åmtinstone inte långt ifrån sanningen.

Du har rätt i att det fins en mängd grafiska användargränssnitt ("skal") av tredjepartsleverantörer. PHPMyAdmin kan väl egentligen tolkas som ett sådant, även om det körs i webbläsaren. Du kan via PHPMyAdmin hantera data (ta bort/lägga till rader, ändra innehåll, ändra struktur etc.), och också direkt kört SQL-statements.

SQL är alltså ett språk för att interagera med en databas, och det språk som MySQL använder.

Och jo, PHP har "drivers" och "libraries" för att ansluta till en MySQL databas och för att skicka SQL-statements till denna, samt vissa andra användbara funktioner.

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av Tazavoo:

@Sweedland:

Du är definitivt på rätt spår!

Ville nämna att många använder ordet "query" om alla sorters statement, vare sig det är en SELECT eller ej. SQL står för "structured query language".
.....

Vad bra. Då har jag fått kläm det och vet var jag ska börja läsa.
Man kan alltså skicka klartext (Scriptspråk) till nån tolk ELLER använda funktionsanrop och dessa två "ingångar" gör nåt med databasen.
Då anar jag att man kan skapa klartext-script (recept) och skicka till "nån" modul som läser in textfilen o utför det som scriptet säger.
Varför jag skriver "tolk" ovan kommer av att när jag installerade MySQL på min linux så såg jag en massa moduler installeras. Jag anar att de har olika syften.
Kanske nån var en tolk också. (Om jag nu alls har rätt...)

Lustigt. Jag skrev en egen källkodstolk en gång i tiden i Visual Basic. Den tog klartext (macro kallade jag det för) och tolken jag skrev hanterade variabler o loopar och funktioner. Allt det där styrde ett lab som startade pumpar, ställde in tryck och mätte o donade...slutresultatet var en graf som kom ut på skärm/skrivare.

Trädvy Permalänk
Medlem
Registrerad
Okt 2007

Skapa upp ett PDO objekt i php för anslutning mot databasen. Via den kan du då köra SQL-frågor mot dbn. (vet inte om jag uppfattat ditt problem riktigt)

Gör ett formulär, posta datan någonstans, ta emot datan, binda din data på en sql-sats.

Exempel:

//Hjälpklass för att skapa upp pdo connection (du kan skapa denna själv eller skippa det och skapa pdo objektet direkt här om så //önskas. $pdc = new ModelPDOConnection(); try { //The actual query string (här kan du sätta ett ? eller en siffra, t.ex. 1 $querystr = 'SELECT * FROM `tbl_dinTabell` WHERE personnel_id = ?'; //Prepare the query $query = $pdc->pdocon->prepare($querystr); //Bind variables to the query string (Här binder du din data, som kan vara din post data, till första '?' i detta fall $query->bindValue(1, $dinPostDataVariabelHär, PDO::PARAM_INT); //Execute the query $query->execute(); //Receive the query result $arr_result = $query->fetchAll(PDO::FETCH_ASSOC); $pdc->pdocon = NULL; //Gör ngt med resultatet var_dump($arr_result); } catch (PDOException $pdoexp) { $pdc = NULL; throw new Exception('Database error!'); }

Ryzen 1700 @3,8Ghz 1,342V | Corsair Vengeance LPX 2x8Gb (CMK16GX4M2B3000C15) | Asus Prime x370 Pro | MSI GTX 770 2GB SLI

Trädvy Permalänk
Medlem
Plats
Finland
Registrerad
Nov 2002
Skrivet av Sweedland:

Hej (igen)
Har jobbat sporadiskt med HTML, PHP, Apache under nåt år och har ett gäng mindre enkla applikationer som ingår i ett system. Är i behov av MySQL tror jag så därför installerade jag PhpMyAdmin (och Apache2, php) på min hemmadator. Mitt problem nu är att jag inte riktigt fattar hur man jobbar med MySQL.
PhpMyAdmin verkar vara en administratör för ett gäng databasen och man kan också skapa poster i den samt skapa sökningar etc. Jag har gjort en websida som via PHP matar databasen med data.
Min fråga nu är om det är det enda sättet att mata in, läsa ut och söka i databasen? Att via HTML/PHP skapa formulär. Finns det formulär-skapare i PhpMyAdmin också?

Jag blev osäker på om du fått svar på din fråga så med risk att jag upprepar vad redan sagts, ursäkta mig.

På din server behöver du ha mysql-server installerat och php behöver ha stöd för att kunna komma åt mysql. Med phpmyadmin kan du lätt hantera dina databaser, men det är inte verktyget du kommer att använda på dina egna sidor.

I din php kod behöver du öppna kontakt till databasen, genom vilken du sen sänder dina "query":s och får svar.

Ex. på öppnande av kontakt
$mysqli = new mysqli('localhost', 'user', 'password', 'minDatabas');

Nu har vi ett nytt objekt lagart i $mysqli där information som localhost=mysql serverns "adress", user=användaren i mysql databasen, password=lösenordet för angivna användare samt minDatabas=databasen vi kommer att använda oss av.

Med det kan man göra en query som t.ex.
$result = $mysqli->query("SELECT user_id, user_name, user_password FROM siteUsers WHERE user_name='Johan'");

Sedan kan du få ut en rad åt gången med
$row = $result->fetch_assoc();
Nu kommer $row att vara en array av datan från din tabell siteUsers som finns i databasen 'minDatabas'
$row['user_id'], $row['user_name'], $row['user_password']

Man kan lätt loopa igenom alla resultat genom

while($row = $result->fetch_assoc()) {
}

http://php.net/manual/en/book.mysqli.php

Hp Workstation Z800, DUAL Xeon X5570, 24GB RAM, Asus GTX660, 2 x 128GB SSD + 150GB Velociraptor
Server: AthlonII X4, 4GB DDR1333, GF 7200GS, 2,5" 500GB 5,4krpm för OS.

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av warzo:

Jag blev osäker på om du fått svar på din fråga så med risk att jag upprepar vad redan sagts, ursäkta mig.

På din server behöver du ha mysql-server installerat och php behöver ha stöd för att kunna komma åt mysql. Med phpmyadmin kan du lätt hantera dina databaser, men det är inte verktyget du kommer att använda på dina egna sidor.

I din php kod behöver du öppna kontakt till databasen, genom vilken du sen sänder dina "query":s och får svar. ....

Jag har Apache, phpmyadmin, MySQL o PHP5 installerat i en Linux-dator och fått allt att "funka".

Jag har stor nytta av exempelkoderna ni gett. Det finns visserligen mkt snippets och ta till sig efter en Google-sökning men ni vet vad jag frågar om (hyggligt iaf) och vet min kunskapsnivå vad gäller MySQL och därför är kodsnuttarna bra som mall för mig. Nu vet jag vad som krävs.

Warzo sade "Med phpmyadmin kan du lätt hantera dina databaser, men det är inte verktyget du kommer att använda på dina egna sidor."
Jag inser ju att phpmyadmin är det "vaktmästaren" använder, inte hyresgästerna (urusel liknelse). Det jag nu funderar på är om jag ska dyka in i PHP och skriva en egen "portal" eller om jag undvika att uppfinna hjulet igen och kanske istället leta efter färdiga tredjepartslösningar.
Den applikation jag funderar på ska ha en "huvud-databas" men även en liten support-databas som huvuddatabasen plockar fram data ur som ska vara till en dropdown alt. radioknappar (beroende på vad användaren väljer). Om det nu ens är möjligt i html/PHP.
I det läget är jag nu.

Trädvy Permalänk
Medlem
Plats
Karlskrona
Registrerad
Aug 2009

Jag brukar köra MySQL Workbench istället för phpmyadmin. Gör det lätt att ansluta och kunna jobba mot flera olika databaser.

Gällande vad som är möjligt i PHP/Html (+JS), allt du ser på nätet idag typ.

För smidig utveckling hade jag rekommenderat dig kolla på Docker för att snabbt och lätt kunna starta upp och stänga ner din utvecklingsmiljö. Jag har själv skapat en Docker image som jag använder vid PHP utveckling. Den startar upp MySQL, PHP 5.3, 5.4, 5.5, 5.6, 7.0 och 7.1 (skall lägga till fler) på olika portar så som 8056 (PHP 5.6) 8071 (PHP 7.1) samt https via 8156 (HTTPS PHP 5.6), 8171 (HTTPS PHP 7.1) etc. Sedan kör varje installation XDEBUG så att man med lätthet kan debuga koden med exempelvis PhpStorm vilket är det IDE jag fastnat för när jag utvecklar i PHP.

Det gör det lätt att få upp en miljö och testa min kod för olika versioner av PHP etc.

Asus Zenith Extreme | 32gb DDR4 3200MHZ CL14 | Threadripper 1950X | 1080Ti
Asus Z97 Pro Gamer | 32gb ram DDR3 2400MHz | i7 4790k | 2 x R9 390 - Barnen fått ta över
Asrock P67 Extreme4 rev3 | 16gb DDR3 2400MHz | i7 2600K | R9 290 - Barnen fått ta över
En massa bärbara, servrar, RPi's och andra boxar

Trädvy Permalänk
Medlem
Plats
Finland
Registrerad
Nov 2002

@Sweedland: Exemplet som jag skrev på hur man kan via PHP kommunicera direkt med Mysql är så simpelt man kan göra det. Dvs du använder php:s egen port mot mysql. Men du måste oberoende behärska Mysql querys, om det är det du menar med att "uppfinna hjulet pånytt". Det är sist och slutligen ganska enkelt, och med phpmyadmin kan du behändigt provköra dina query för att de ger de resultat du önskar.

Om det inte kräver det av säkerhetsskäl eller andra orsaker så skulle jag rekomendera att använda en databas med flera tabeller för ett och samma projekt. Det är alltid lite mera att hålla reda på när man börjar kombinera flere databaser + att sökningar och skrivningar kan bli mera komplicerade.

Hp Workstation Z800, DUAL Xeon X5570, 24GB RAM, Asus GTX660, 2 x 128GB SSD + 150GB Velociraptor
Server: AthlonII X4, 4GB DDR1333, GF 7200GS, 2,5" 500GB 5,4krpm för OS.

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Jan 2015
Skrivet av Sweedland:

Vad bra. Då har jag fått kläm det och vet var jag ska börja läsa.
Man kan alltså skicka klartext (Scriptspråk) till nån tolk ELLER använda funktionsanrop och dessa två "ingångar" gör nåt med databasen.
Då anar jag att man kan skapa klartext-script (recept) och skicka till "nån" modul som läser in textfilen o utför det som scriptet säger.

Varför jag skriver "tolk" ovan kommer av att när jag installerade MySQL på min linux så såg jag en massa moduler installeras. Jag anar att de har olika syften.
Kanske nån var en tolk också. (Om jag nu alls har rätt...)

Lustigt. Jag skrev en egen källkodstolk en gång i tiden i Visual Basic. Den tog klartext (macro kallade jag det för) och tolken jag skrev hanterade variabler o loopar och funktioner. Allt det där styrde ett lab som startade pumpar, ställde in tryck och mätte o donade...slutresultatet var en graf som kom ut på skärm/skrivare.

Helt riktigt, många färdiga webbmjukvaror t.ex. wordpress och liknande initierar ett "installationsscript" första gången man kör igång de, som i princip bara är rad för rad SQL kommandon/statements för att skapa en databas samt de innehållande tabellerna mjukvaran behöver för att fungera korrekt. Precis som du säger, ett recept.

Skrivet av Sweedland:

Jag har Apache, phpmyadmin, MySQL o PHP5 installerat i en Linux-dator och fått allt att "funka".

Jag har stor nytta av exempelkoderna ni gett. Det finns visserligen mkt snippets och ta till sig efter en Google-sökning men ni vet vad jag frågar om (hyggligt iaf) och vet min kunskapsnivå vad gäller MySQL och därför är kodsnuttarna bra som mall för mig. Nu vet jag vad som krävs.

Warzo sade "Med phpmyadmin kan du lätt hantera dina databaser, men det är inte verktyget du kommer att använda på dina egna sidor."
Jag inser ju att phpmyadmin är det "vaktmästaren" använder, inte hyresgästerna (urusel liknelse). Det jag nu funderar på är om jag ska dyka in i PHP och skriva en egen "portal" eller om jag undvika att uppfinna hjulet igen och kanske istället leta efter färdiga tredjepartslösningar.
Den applikation jag funderar på ska ha en "huvud-databas" men även en liten support-databas som huvuddatabasen plockar fram data ur som ska vara till en dropdown alt. radioknappar (beroende på vad användaren väljer). Om det nu ens är möjligt i html/PHP.
I det läget är jag nu.

Helt riktigt, phpmyAdmin är ett verktyg för dig som administrerar databasen, kör man ett webbhotell så kan man även tillåta gästerna en egen instans av phpmyAdmin som är lite mer begränsad, t.ex. kanske du bara tillåter dem att ha en enda databas, dvs. skapa databas-kommandot är låst. Men att de själva får lov att göra vad de vill inuti sin databas, t.ex. skapa/ta bort tabeller etc.

Om du är ute efter att lära dig php<->sql och hur de interagerar så föreslår jag att du skapar något i stil med en gästbok, eller enklare variant av forum. Med andra ord ett formulär i html som tar namn och textrad -> php tar formulärdatat och lägger i databasen.

Kolumnerna du då behöver i tabellen för denna "modul" i din databas är i princip:
id (heltalstyp, unik, key, auto-stigande)
datum (datumtyp)
namn (strängtyp kanske 8-16 tecken långt)
postdata (strängtyp på kanske 280 tecken eller något, blir lite som twitter då ;D)

Men om du mer är ute efter att skapa en färdig grej för webben, och det ska gå relativt snabbt så föreslår jag att du tar en titt på färdiga lösningar. Du kan t.ex. göra väldigt mycket mer än bara en "bloggsida" med Wordpress, tack vare alla sina färdiga moduler och teman.

Svar på din sista fråga:

Du kan ha flera olika databaser och länka samman dem i din logik i php, likaså kan du ha flera olika tabeller i en databas som har olika innehåll och länka samman dessa. Tyvärr tror jag inte MySQL har funktionen att skapa definierade "relationer" mellan tabeller så som många andra databasmjukvaror kan, men denna logik kan du skriva själv i php.
Normalt sett brukar man ha 1 styck databas i mysql, per "mjukvara", och sen kan du ha hur många olika tabeller du vill i denna databas för de olika funktionerna din mjukvara ska utföra.

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av elBenko:

Helt riktigt, många färdiga webbmjukvaror t.ex. wordpress och liknande initierar ett "installationsscript" första gången man kör igång de, som i princip bara är rad för rad SQL kommandon/statements för att skapa en databas samt de innehållande tabellerna mjukvaran behöver för att fungera korrekt. Precis som du säger, ett recept.

Helt riktigt, phpmyAdmin är ett verktyg för dig som administrerar databasen, kör man ett webbhotell så kan man även tillåta gästerna en egen instans av phpmyAdmin som är lite mer begränsad, t.ex. kanske du bara tillåter dem att ha en enda databas, dvs. skapa databas-kommandot är låst. Men att de själva får lov att göra vad de vill inuti sin databas, t.ex. skapa/ta bort tabeller etc.

Om du är ute efter att lära dig php<->sql och hur de interagerar så föreslår jag att du skapar något i stil med en gästbok, eller enklare variant av forum. Med andra ord ett formulär i html som tar namn och textrad -> php tar formulärdatat och lägger i databasen.

Kolumnerna du då behöver i tabellen för denna "modul" i din databas är i princip:
id (heltalstyp, unik, key, auto-stigande)
datum (datumtyp)
namn (strängtyp kanske 8-16 tecken långt)
postdata (strängtyp på kanske 280 tecken eller något, blir lite som twitter då ;D)

Men om du mer är ute efter att skapa en färdig grej för webben, och det ska gå relativt snabbt så föreslår jag att du tar en titt på färdiga lösningar. Du kan t.ex. göra väldigt mycket mer än bara en "bloggsida" med Wordpress, tack vare alla sina färdiga moduler och teman.

Svar på din sista fråga:

Du kan ha flera olika databaser och länka samman dem i din logik i php, likaså kan du ha flera olika tabeller i en databas som har olika innehåll och länka samman dessa. Tyvärr tror jag inte MySQL har funktionen att skapa definierade "relationer" mellan tabeller så som många andra databasmjukvaror kan, men denna logik kan du skriva själv i php.
Normalt sett brukar man ha 1 styck databas i mysql, per "mjukvara", oc
h sen kan du ha hur många olika tabeller du vill i denna databas för de olika funktionerna din mjukvara ska utföra.

Jag har i en annan tråd tagit upp förslag på Dagbok för mitt jobb men nådde inte riktigt fram. Bäst att göra nåt själv och fick då ögonen på MySQL eftersom det också behövs i ett speciellt projekt jag sitter i. Eftersom en dagbok vore ett perfekt mål för en databas så kan jag börja där. De exempel på kolumner du listar är ju ungefär det jag ska ha. HELST skulle jag vilja ha en undergrupp till kolumnen KUND där jag väljer delprojekt för kunden ifråga. Detta delprojekt kan jag adda på i databashanteraren. Så när jag väljer Kund kommer dropdown eller helst ett gäng radioknappar få kundens underprojekt.
Dessa underprojekt kan jag faktiskt adda till Kund genom att ändra källkoden till PHP. No problems.
Jag ska bara accessa db lokalt.

Tack för tips och råd.

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Jan 2015
Skrivet av Sweedland:

Jag har i en annan tråd tagit upp förslag på Dagbok för mitt jobb men nådde inte riktigt fram. Bäst att göra nåt själv och fick då ögonen på MySQL eftersom det också behövs i ett speciellt projekt jag sitter i. Eftersom en dagbok vore ett perfekt mål för en databas så kan jag börja där. De exempel på kolumner du listar är ju ungefär det jag ska ha. HELST skulle jag vilja ha en undergrupp till kolumnen KUND där jag väljer delprojekt för kunden ifråga. Detta delprojekt kan jag adda på i databashanteraren. Så när jag väljer Kund kommer dropdown eller helst ett gäng radioknappar få kundens underprojekt.
Dessa underprojekt kan jag faktiskt adda till Kund genom att ändra källkoden till PHP. No problems.
Jag ska bara accessa db lokalt.

Tack för tips och råd.

För det du nämner skulle du kunna ha en tabell för kunder och all data som behövs till dem, typ personlig info osv. I kundtabellen lägger du till en kolumn som heter i stil med delprojekt_id av typen heltal, sen skapar du en ny tabell för delprojekt, där varje rad i tabellen har ett unikt id-nummer. Detta id-nummer refererar du sen till i kolumnen delprojekt_id på varje kund.

Lite mer visuellt exempel:

(tabell) Kunder
id, delprojekt_id, namn, ..

(tabell) Delprojekt
id, namn

Ja du förstår säkert vad jag menar Det är så man vanligtvis skapar relationer i databasen, så blir tabellerna modulära och lätta att utöka i framtiden.

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av elBenko:

För det du nämner skulle du kunna ha en tabell för kunder och all data som behövs till dem, typ personlig info osv. I kundtabellen lägger du till en kolumn som heter i stil med delprojekt_id av typen heltal, sen skapar du en ny tabell för delprojekt, där varje rad i tabellen har ett unikt id-nummer. Detta id-nummer refererar du sen till i kolumnen delprojekt_id på varje kund.

Lite mer visuellt exempel:

(tabell) Kunder
id, delprojekt_id, namn, ..

(tabell) Delprojekt
id, namn

Ja du förstår säkert vad jag menar Det är så man vanligtvis skapar relationer i databasen, så blir tabellerna modulära och lätta att utöka i framtiden.

Jobbat tidigare med relationsdatabasen(?) Filemaker Pro. Den gillade jag då den var enkel.

En fråga: En databas i MySQL kan innehålla flera tabeller? I min värld är en databas en tabell.

Tänker jag rätt ifråga om detta inmatn.formulär?
En tabell med Kundspecifik information såsom indexerade delprojekt behövs (Kundspec). Sen en tabell med Aktiviterna per dag som lagrar det jag matat in. Jag tänker mig ett inmatningsformulär uppbyggt med html/php som visar upp överst ett förifyllt fält med Datum. Under det en yta med ett antal radioknappar med kundnamn bredvid. Sen en knapp som klickas när kund valts och som i sin tur anv. PHP för att hämta uppgifter ur Kundspec och därmed kan populera Delprojektens radioknappar. Efter val av Delprojekt kommer ett ett större textfält där jag skriver vad jag gjort den stunden för den kunden och i det delprojektet. Sist en OK-knapp som sparar undan allt i Aktiviteter. Det innebär ett fåtal klick för att nå fram dit jag ska skriva.
Resultat-tabellen har alltså kol: Datum, Kund, Delprojekt, Aktivitet.

Styrkan kommer sen i frågeformuläret där jag kan sortera på datum | Delprojekt | Kund. Mycket användbart. Nedlagd tid har jag i firmans stämplingsprogram. Det struntar jag i o lägga in. Blir för mkt administration. Ev. kan jag göra det senare om jag vill. Även då bygga ut med en kol. avsedd för länkar. Kanske även bädda in filer om det går...

Tacksam om nån kan säga att jag tänker skapligt rätt. Givetvis kan det finnas färdiga saker o använda men målet är att lära mig MySQL samt att få nåt bra ut av det.

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Jan 2015

Jo, tabellen är ju egentligen det som innehåller datakolumner, men i mysql kan du ha flera "databaser". Skulle kunna säga att databasen är som en excelfil, och tabellerna är sidor/flikar i arket.

Låter som du tänker rätt. Dela upp det i separata tabeller, och referera mellan dem med hjälp av id-nr så kan du utöka systemet enklare i framtiden utan att behöva skriva om en massa logisk kod i php.

Om jag förstått dig rätt så behöver du tre tabeller:

Kunder
id, namn, ..

Delprojekt
id, projekttyp

Aktiviteter
id, kund_id, delprojekt_id, aktivitetsnotering, datum

fetstil: id referenser

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av elBenko:

Jo, tabellen är ju egentligen det som innehåller datakolumner, men i mysql kan du ha flera "databaser". Skulle kunna säga att databasen är som en excelfil, och tabellerna är sidor/flikar i arket.

Låter som du tänker rätt. Dela upp det i separata tabeller, och referera mellan dem med hjälp av id-nr så kan du utöka systemet enklare i framtiden utan att behöva skriva om en massa logisk kod i php.

Om jag förstått dig rätt så behöver du tre tabeller:

Kunder
id, namn, ..

Delprojekt
id, projekttyp

Aktiviteter
id, kund_id, delprojekt_id, aktivitetsnotering, datum

fetstil: id referenser

Bra liknelse med Excel Workbook.
Ja. Du är rätt. Indexerade kunder. Indexerade Delprojekt. Kundindex pekar in på kolumn i Delprojekt. Tredje tabellen blir där allt lagras.
Det blir kul. Jag har lattjat med radioknappar o sånt tidigare o ser inget problem i det. PHP:n bör jag få ordning på vad gäller åtkomst till tabellerna.
Använder SELECT om jag minns rätt för att hämta och INSERT senare för att spara undan. Resten är detaljer.

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Jan 2015

@Sweedland: Yes, finns även enormt mycket resurser och guider på nätet om just php och mysql, se bara till att inte kolla på sånt som är flera år gammalt då mycket har förändrats med hur php jobbar mot databaser de senaste åren

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av elBenko:

@Sweedland: Yes, finns även enormt mycket resurser och guider på nätet om just php och mysql, se bara till att inte kolla på sånt som är flera år gammalt då mycket har förändrats med hur php jobbar mot databaser de senaste åren

Ja. Jag såg vissa exempel med funktionsanrop typ funktionsnamn(). Sen har det kommit "pekarliknande" anrop typ namn->metod....såg det var viktigt beroende på villken php-version man hade.

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av elBenko:

@Sweedland: Yes, finns även enormt mycket resurser och guider på nätet om just php och mysql, se bara till att inte kolla på sånt som är flera år gammalt då mycket har förändrats med hur php jobbar mot databaser de senaste åren

Jag har fått rådet att kolla på SQLite också....tänkt Google lite ikväll.

Trädvy Permalänk
Medlem
Plats
Helsingborg
Registrerad
Jan 2015
Skrivet av Sweedland:

Jag har fått rådet att kolla på SQLite också....tänkt Google lite ikväll.

SQLite är en kompakt sqldatabas som man vanligtvis bäddar in i mjukvara. Mer lämpat om du ska skriva ett program i c/c++/c# osv. Inte särskilt aktuell om du ska pyssla med webbutveckling med andra ord.