v5.dk logo
Kom ind og besøg vores Discord Chat-community
Bliv medlem her eller læs mere om Discord her
Få adgang til alt på hele v5.dk
- bliv Premium-medlem for kun 39,95 kr.

Mere info Køb nu

Premium på v5.dk
v5.dk logo  v5.dk e-learning
Log på med Facebook
  • Log ind på v5.dk
  • Opret bruger
  • Log ind
  • v5.dk Premium
  • v5.dk Premium
  • Hvad siger vores kunder?
  • E-læring for begyndere
  • icon for WordPress 4 e-learning WordPress 4
  • icon for Office 365 e-learning Office 365
  • icon for Microsoft Word e-learning Microsoft Word
  • Bloggen for alle
  • E-læring for nørder
  • icon for PHP-programmering e-learning PHP-programmering
  • icon for iOS Programmering e-learning iOS Programmering
  • icon for Linux Server e-learning Linux Server
  • Bloggen for nørder
  • Arkiverede videoer
  • Fællesskab
  • Forum
  • Idéer og ønsker
  • Markedspladsen
  • v5.dk Premium
  • Gratis webhotel
  • Cloud-servere
  • Om v5.dk
  • Søg på v5.dk
  • Om v5.dk ApS
    • Om virksomheden
    • RSS-feeds og tjenester
    • Driftsmeddelelser
    • Presse-kit
    • Ledige jobs
    • Social Netværk
      • Facebook
      • Twitter
      • Instagram
    • Alt det andet
      • Forretningsbetingelser
      • Ophavsret og Copyright
  • Kontakt kundeservice
  • FAQ og Hjælp
    • Premium og abb.
    • Videoer og Afspiller
    • Forum og Points
    • Cloud-servers
  • Partner/Virksomhed
  • Partner-kanal
v5.dk logo mobile
  • Menu
  • Opret bruger

Savner en CREATE TABLE i app.php

  • v5.dk
  • Forum
  • PHP-programmering
  • Savner en CREATE TABLE i app.php
  • Sidevisninger: 2833 har set dette indlæg
Besvar #0Spørgsmål oprettet af @Steen | 3925 points
40 points ude 3 indlæg 6 år siden Spørgsmål besvaret
avatar
 

Hvordan laver man en "public function CreateTable" i app.php.??

Jeg kunne forestille mig i første omgang med en enkelt kolonne ("id" AI) og så ville mit næste spørgsmål naturligvis være: Hvordan med "public function 'tilføj kolonne i'Table"?

(Begge dele som/til en del til administrationssiderne)??

Jeg har desværre kun de 40 points til rådighed


Med venlig hilsen

Steensteenpedersens Signatur

Dette svar er accepteret af OP og tildelt 40 points
avatar
 
Besvar#1 @dhh Admin svarede for 6 år siden

Hej  Steen @Steen   

Først og fremmest vil jeg sige, at det ikke er idéen med App.php at lave tabeller og så videre dynamisk. Men derimod at manipulere de allerede eksisterende. Fordi, får at lave en funktion som kan den slags. Kræver det at brugeren (du logger ind på MySQL med) har rettigheder til den slags. (At kunne lave tabeller m.m.) Hvad oftest ikke er tilfældet, ved eksempelvis et webhotel.

Udover det, så dét med dynamisk "on-the-fly" at lave tabeller kan være lidt noget rod og give dig hovedpine senere hen. Det er meget bedre at lave en tabel igennem eksempelvis phpMyAdmin. For så har du fuldt ud styr på hvad og hvordan din database ser ud. Dog med alt det her sagt, så er det selvfølgelig ikke umuligt.

Du kan benytte dig af SQL-sproget tl det hele. Ligesom den gør for dig med phpMyAdmin. Eller når du trækker data ud, sætter ind m.m.

Her er et eksempel på en public function CreateTable();

public function CreateTable($table_name) {
    try {
        // så vi kan få fejlbeskeder
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        // sql til at lave din database tabel
        $sql = "CREATE TABLE IF NOT EXISTS $table_name (
            id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY
        )";

        // prøv at lav databasen
        $conn->exec($sql);
    } catch (PDOException $e) {
        // får vi en fejl, viser vi den efter vores sql kode
        echo $sql . "<br>" . $e->getMessage();
    }
}

// Vi kan nu kalde funktionen med eksempelvis:
$app->CreateTable("navn_paa_tabel");

Der er mange ting som kan gå galt her, så det er en af grundene til at man normalt ikke gør det i PHP kode.

Men overstående er en måde at lave et enkel tabel på, med et id som er sat til auto Increment og primary.

Jeg håber at det fik dig lidt på vej.  Jeg ville dog som sagt, virkelig sætte spørgsmålstegn ved - om du overhovedet behøver at din PHP kode kan lave tabeller. Du kan selvfølgelig ændre i $sql delen så meget du vil, så du laver præcis det du vil have.

Redigeret af dhh @dhh  d. 28.11.2016 kl. 10:40

Med venlige hilsner

Daniel H. Hemmingsen (@dhh)

avatar
 
Besvar#2 @Steen kommenterede for 6 år siden

 #1  Tak skal du have - hurtigt og effektivt.

Det er vist lige det, jeg eftersøgte - jeg har dog været lidt forud i forhold til at skulle bruge det (jeg følger kurset "Byg et medlemssystem" slavisk, selvom jeg har en smule kendskab til php i forvejen).

Problemet/opgaven er at lave et lønberegningssystem, der kan indeholde flere overenskomster med flere undergrupper og satser med gældende periode for hver undergruppe - disse skal kunne oprettes løbende alt efter hvor langt jeg er kommet (og ved oprettelsen/indførelsen af ny overenskomst), og med det i én tabel, vil tabellen blive fuldstændig uoverskuelig (relationsdatabase(?))

Tak for et eminent kursus - der er meget, jeg ikke har forstået før, som nu er faldet på plads.


Med venlig hilsen

Steensteenpedersens Signatur

avatar
 
Besvar#3 @dhh Admin kommenterede for 6 år siden

 #2  Det er sådan noget man bruger forskellige tabeller til, ja. Men i stedet for at lave en ny tabel hele tiden. Så har man en hovedtabel, med informationen. Og en anden tabel som virker som ét kartotek.

Lidt ala. at have alle papirene på bordet. Give dem alle et nummer, og så indeksere dem i en anden tabel.

Det er noget vi dog ikke har gået ret meget ind i, at "linke" tabeller sammen og lave et mere udvidet/advanceret system. Men det er sådan man gør det. Man laver strukturen først og så følger den. (Du kan evt. søge på JOIN i SQL, så kan du nu nok finde nogle simplificerede eksempler omkring det.)

Redigeret af dhh @dhh  d. 28.11.2016 kl. 13:29

Med venlige hilsner

Daniel H. Hemmingsen (@dhh)

Spørgsmålet er besvaret, men du er altid mere end velkommen til at skrive en kommentar!
avatar
 

Du er ikke logget ind

Du skal være logget ind på v5.dk før du kan benytte vores forum. Det er ganske gratis at oprette en bruger.

Opret en ny gratis bruger Log ind

Følger med i denne tråd

Steen

Forum kategorier

  • Generelt
  • Guides & Howto85
  • Offtopic / Andet160
  • Microsoft Office
  • Microsoft Word13
  • Microsoft Excel4
  • Microsoft PowerPoint0
  • Web og hjemmesider
  • Wordpress17
  • Operativsystemer
  • Apple Mac OS X14
  • Apple iOS28
  • Microsoft Windows4
  • Linux16
  • Teknologier
  • Netværk og WiFi3
  • Internet-tjenester9
  • Programmering
  • PHP-programmering125
  • iPhone-/Xcode-programmering9

Aktive forum-tråde lige nu

pentobarbital kaufen ohne rezept
gras kaufen online - grasthc.com
online marketing
Køb juridiske dokumenter såsom kørekort, pas, visum, opholdstilladelse og andre dokumenter
Køb juridiske dokumenter såsom kørekort, pas, visum, opholdstilladelse og andre dokumenter
Weed online kaufen
Er det værd at have en "portfolio"-hjemmeside!?
Fejlkode i form af bip-lyde ved opstart af gammel stationær PC
Bygget med af v5.dk
© Copyright 2006-2023 • Forretningsbetingelser • Copyright • Persondata- og Cookiepolitik
v5.dk ApS - Åbogade 15 - 8200 Aarhus N - CVR: 36902833
v5.dk logo
Hej, vi hedder v5.dk og vi laver e-learning på dansk

v5.dk er sat i verden for at gøre teknologi tilgængeligt og anvendeligt for både professionelle og almindelige brugere på alle niveauer.

93 200 555
  Skriv til os
v5.dk bruger cookies til at huske dine indstillinger, livechat samt til statistik
 

Alle vores priser er inkl. moms Sikker SSL-beskyttet forbindelse

Dankort og Visa-Dankort  Visa  Mastercard og Mastercard Junior  Maestro

  • Produkter
  • v5.dk Premium
  • Cloud-servers
  • v5.dk
  • Om v5.dk
  • Kunderne siger
  • Kontakt os
  • Presse
  • Stay updated
  • RSS & tjenester
  • Søg på v5.dk
  • Sitemap