This is an old revision of the document!


Skapa demo data - typ extrauppgift, alla ska börja få kommer bli klara...

Denna uppgift går ut på att du ska skapa lite demo-data… Det kanske inte blir den bästa lösning, möjligen går vi lite omvägar men syftet är att ni ska lära er lite mer om hur man skapar tabeller och lägger in och hämtar data från en databas.

All kod som skrivs i denna uppgift ska ligga i katalogen:

wesweb/web/dd/

Skapa tabeller och insert + lite PHP

1. Nu ska utgå i från filerna som ligger på min användare i katalogen ~jf/Public/operativsystem/text_files. Ni ska skapa en tabell i databasen per fil via egen php kod. Ni ska lägga till ett “Prefix” dd_ (Demo Data) till varje tabell. Filen som heter projects.txt får tabell namnet dd_projects. Skriv ett program som hämtar upp alla filer och för varje fil skapar en tabell i databasen och lägger in all data som finns i filen i databasen. OBS! varje tabell ska få ett fält som heter id och är “auto increment primary key”.

2. Skriv en funktion som raderar alla tabeller som börjar på “dd_”. Testa att den fungerar.

3. Filer där texten innehåller ett ; ska man dela upp i det antal fält som finns och namnge dessa med första raden i filen, sen när man lägger in data i tabellen ska man hoppa över första raden. tex filen zip_codes_with_city.txt. Radera dina tabeller och fixa till programmet och kör det igen så att alla tabeller skapas korrekt.

4. Skapa en tabell via phpAdmin som heter first_names. Den ska förutom en “auto increment primary key” bestå av två fält ett där man sparar namnet och ett där man sparar kön, i version 1 så finns bara kvinna och man. Ni ska sedan skriva 3 st SQL-frågor:
Fråga 1 tömmer tabellen first_names:
Fråga 2 och 3 fyller den med data som hämtas från tabellerna females och males. Här ska ni använda INSERT INTO table1 ( column1 )SELECT col1 FROM table2..

Slumpa fram data

Ni kommer att lösa ett antal deluppgifter innan ni kommer till slutmålet, en sida där man vid varje omladdning kommer att få data, tex företag + några personer etc. Här kan ni se ett ex på ett färdigt resultat Random data

Ni kan redan från börja göra er sida där ni lägger till mer slumpad info allt eftersom ni bygger ny info.

5. Ni ska skriva klart följande funktioner själv (alltså inte googla rätt på något och klistra in), ni kan ta hjälp av det som står om personnummer på https://sv.wikipedia.org/wiki/Personnummer_i_Sverige:

<?php
/**
 * Return a correct random date (18 to 65 years back from now) in format yyyy-mm-dd.
 *
 * @return string
 *   The random date.
 */
function get_date() {
  $date = '1966-06-06';
  return $date;
}
 
/**
 * Return a correct Swedish social security number (personnummer).
 *
 * @param string $date
 *   Date for "personnummer".
 * @param string $gender
 *   The gender of the person.
 *
 * @return string
 *   The random pnr.
 */
function get_pnr(string $date, string $gender) {
  $pnr = '19660606-7483';
  return $pnr;
}
 
/**
 * Return the age of a person.
 *
 * @param string $pnr
 *   A social security number (personnummer).
 *
 * @return string
 *   The age.
 */
function get_age(string $pnr) {
  return '66';
}

6. Skriv följande funktioner, dessa ska hämta data från dina tabeller.

/**
 * Get random name.
 *
 * @param string $gender
 *   Gender.
 *
 * @return string
 *   Return the random first and last name.
 */
function get_name(string $gender) {
  global $_link;
  $query = "SELECT * FROM..." . $gender . "...";
  $result = mysqli_query($_link, $query);
  // ...
  return $name;
}
 
/**
 * Get random address.
 *
 *   Street + number of the house.
 *
 * @return string
 *   Return the address.
 */
function get_street_address() {
  return 'Morkullevägen 66';
}
 
/**
 * Get random zip code with city.
 *
 * @return string
 *   Return random zip + city.
 */
function get_zip_code_with_city() {
  return '89140 Örnsköldsvik';
}
 
/**
 * Get random profession.
 *
 * @return string
 *   Return profession.
 */
function get_profession() {
  return 'Automationstekniker';
}

7. Gör funktioner för att hämta ut slumpat företagsnamn, organisationsnummer, SNI-kod. Kolla vad som gäller för organisationsnummer https://sv.wikipedia.org/wiki/Organisationsnummer. För att få fram ett slumpat företagsnamn får ni göra lite som ni vill…Vi får väl se hur bra namn ni lyckas generera, det vore bra om namnen slumpas utifrån delsträngar på något klurigt sätt, att hämta namn från en lista känns lite tråkigt tycker jag.

8. Komplettera med fler saker t ex e-post, lösenord, skostorlek, vikt, längd… Ja hitta på lite vad som helst.