Skapa databas struktur.

Här diskuteras programmering och utveckling
Användarvisningsbild
Forcevision
Inlägg: 1023
Blev medlem: 21 apr 2008, 21:55
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Kontakt:

Skapa databas struktur.

Inlägg av Forcevision »

Hejsan !

Jag håller på och fixar ett litet formulär, och vill kunna spara detta i en databas hur gör man ?
Jag har googlat lite men förstår inte riktigt hur man gör så hoppas på hjälp av er.
Mitt formulär ser ut som följande:

Kod: Markera allt

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Solar Disclaim</title>
</head>

<body>
<?php

function validate_form(){ 
    if (empty($_POST['datum'])) {
      $errors[] = 'Du måste fylla i ett datum.';
    }
  
    if (empty($_POST['ordernr'])) {
      $errors[] = 'Du måste fylla i ett ordernummer.';
    }
  
    if (empty($_POST['transp'])) {
      $errors[] = 'Du måste fylla i en transpotör.';
    }
}

// Om man klickat på spara-knappen
if (isset($_POST['submit'])) {
       validate_form();
}
?>
<form enctype="multipart/form-data" method="post" action="inmatning.php">
  <table width="413" border="0">
    <tr>
      <td width="162" height="43">Datum *
        <br />
        <input type="text" name="datum" />
      <br /></td>
      <td width="160">Ordernummer*
        <input type="text" name="ordernr" />        </td>
      <td width="77">Ordertyp*<br />
        <select name="lista" id="lista">
        <option>D</option>
        <option>I</option>
        <option>R</option>
            </select></td>
    </tr>
  </table>
  <br />
  <table width="400" border="0">
    <tr>
      <td width="161" height="43">Transpotör*<br />
        <input type="text" name="transp" />
        <br />
      <br /></td>
      <td width="229">Chaufför*<br />
      <input type="text" name="chauff" /></td>
    </tr>
  </table>
  <p>
    <label></label>Kund *<br />
    <label>
    <input name="kund" type="text" accesskey="50" size="50" />
    </label>
</p>
  <p>Lev. Adress *<br />
    <label>
    <textarea name="levadr" cols="50" rows="3"></textarea>
    </label>
</p>
  <table width="304" border="0">
    <tr>
      <td width="203"><label>
        Antal vitta kollin  
            <input name="kolli1" type="text" id="kolli1" size="5" />
      </label></td>
      <td width="91">  <label>
        <select name="rull1">
          <option>Saknas</option>
          <option>Skadat</option>
          <option>Övrigt</option>
        </select>
      </label></td>
    </tr>
    <tr>
      <td><label>Antal gröna kollin 
        <input name="kolli2" type="text" id="kolli2" size="5" />
      </label></td>
      <td><label>
        <select name="rull2">
          <option>Saknas</option>
          <option>Skadat</option>
          <option>Övrigt</option>
        </select>
      </label></td>
    </tr>
  </table>
  <p>Notering / Åtgärd:<br />
    <label>
    <textarea name="notering" cols="50" rows="4"></textarea>
    </label>
</p>
  <p>Rapport*  </p>
  <table width="400" border="0">
      <tr>
        <td width="125"><input type="checkbox" name="checkbox" value="checkbox" id="checkbox" />
        Telefon</td>
        <td width="265"><input type="text" name="textfield" id="textfield" /></td>
      </tr>
      <tr>
        <td><input type="checkbox" name="checkbox2" value="checkbox" id="checkbox2" /> 
          Fax </td>
        <td><input type="text" name="textfield2" id="label" /></td>
      </tr>
      <tr>
        <td><input type="checkbox" name="checkbox3" value="checkbox" id="checkbox3" /> 
          E-mail </td>
        <td><input name="textfield3" type="text" id="label2" size="40" /></td>
      </tr>
      <tr>
        <td><input type="checkbox" name="checkbox4" value="checkbox" id="checkbox4" />
          Filial</td>
        <td><input name="textfield4" type="text" id="label3" size="40" /></td>
      </tr>
  </table>
  <p>
    <label></label>
  Anteckningar:<br />
    <label>
      <textarea name="anteck" cols="50" rows="8"></textarea>
    </label>
  </p>
  <p><input type="hidden" name="MAX_FILE_SIZE" value="800000" />
Bild: <input name="file" type="file" />
  </p>
  <p>
    <label>
    <input name="submit" type="submit" id="Spara" value="Spara" />
    </label>
    <label>
    <input type="reset" name="Reset" value="Ta bort" />
    </label>
  </p>
  <p> </p>
</form>
</body>
</html>
Sedan min inmatning.php ser ut som följande och denna vill jag spara i databasen:

Kod: Markera allt

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Solar Disclaim</title>
</head>
<body>
<?php
echo "Datum:  " . $_POST['datum'] . "<br>";
echo "Transpotör:  " . $_POST['transp'] . "<br>";
echo "Ordernummer:  " . $_POST['ordernr'] . "<br>";
echo "Lista:  " . $_POST['lista'] . "<br>";
echo "Chaufför:  " . $_POST['chauff'] . "<br>";
echo "Kund:  " . $_POST['kund'] . "<br>";
echo "Leveransadress:  " . $_POST['levadr'] . "<br>";
echo "Totalt antal avvikelser  " . $_POST['kolli'] . "<br>";
echo "Antal vita kollin:  " . $_POST['kolli1'] . " " . $_POST['rull1'] . "<br>";
echo "Antal gröna kollin:  " . $_POST['kolli2'] . " " . $_POST['rull2'] . "<br>";
echo "Notering:  " . $_POST['notering'] . "<br>";
echo "Rapport:  " . $_POST['rull3'] . " " . $_POST['rapport'] . "<br>";
echo "Anteckningar  " . $_POST['anteck'] . "<br>";
$path= "uploads/".$HTTP_POST_FILES['file']['name'];
if($file !=none)
{
if(copy($HTTP_POST_FILES['file']['tmp_name'], $path))
{
echo "Bilden har laddats upp.<BR/>"; 
echo "<img src=\"$path\" width=\"600\" height=\"800\">";
}
else
{
echo "Fel vid uppladdning!";
}
}
?>
</body>
</html>
/Force
Http://www.jernstedt.me Från otränad till tok tränad och följ mig på facebook http://www.facebook.com/jernstedt.me
Användarvisningsbild
webaake
Inlägg: 3962
Blev medlem: 09 maj 2007, 09:46
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: Skapa databas struktur.

Inlägg av webaake »

Du har nog börjat i fel ände. Först måste du tänka igenom dina basala fakta; det ser ut som om du har 2-3 centrala entiteter;
1. Order

2. Transportör

3. Kund

Vad behöver du veta om var och en av dessa? Typ;
Kund; Namn, Gatuadress, postnr, postort, telefon, organisationsnummer

Transportör; Namn, adress , osv.....

Order; Lista, antal kolli, gröna kolli osv.....

Det gäller att strukturera upp sin information i olika bitar och fundera ut vad man behöver för varje bit.

Sedan kan man skapa en databas utifrån detta i t ex MySQL. Du behöver först installera LAMP som innehåller bl a MySQL, Apache och Php. LAMP finns i synaptic, tror jag.

Ett par nyttiga böcker att läsa och ha som uppslagsverk;

Php4 Programmering, J. Ek och U. Eriksson, Pagina.se
MySQL på tre veckor, M. Maslakowski, Pagina.se

De är bra att ha som uppslagsböcker när man kör fast, efter man läst igenom dem.
Xubuntu på flera maskiner. Men inte Unity!
Mer Terminalanvändande i Ubuntu vore bra. Och Xfce. Och Mate.
Användarvisningsbild
Forcevision
Inlägg: 1023
Blev medlem: 21 apr 2008, 21:55
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Kontakt:

Re: Skapa databas struktur.

Inlägg av Forcevision »

webaake skrev:Du har nog börjat i fel ände. Först måste du tänka igenom dina basala fakta; det ser ut som om du har 2-3 centrala entiteter;
1. Order

2. Transportör

3. Kund

Vad behöver du veta om var och en av dessa? Typ;
Kund; Namn, Gatuadress, postnr, postort, telefon, organisationsnummer

Transportör; Namn, adress , osv.....

Order; Lista, antal kolli, gröna kolli osv.....

Det gäller att strukturera upp sin information i olika bitar och fundera ut vad man behöver för varje bit.

Sedan kan man skapa en databas utifrån detta i t ex MySQL. Du behöver först installera LAMP som innehåller bl a MySQL, Apache och Php. LAMP finns i synaptic, tror jag.

Ett par nyttiga böcker att läsa och ha som uppslagsverk;

Php4 Programmering, J. Ek och U. Eriksson, Pagina.se
MySQL på tre veckor, M. Maslakowski, Pagina.se

De är bra att ha som uppslagsböcker när man kör fast, efter man läst igenom dem.
Hur menar du med att jag måste ha Kund; Namn, Gatuadress, postnr, postort, telefon, organisationsnummer jag behöver inte all den informationen det ända jag vill göra är att spara det som skrivs i textfälten i formuläret i en databas och att man sedan kan söka på tex datum eller ordernummer ?
Http://www.jernstedt.me Från otränad till tok tränad och följ mig på facebook http://www.facebook.com/jernstedt.me
Användarvisningsbild
webaake
Inlägg: 3962
Blev medlem: 09 maj 2007, 09:46
OS: Xubuntu
Utgåva: 22.04 Jammy Jellyfish LTS

Re: Skapa databas struktur.

Inlägg av webaake »

Ja, så kan man också göra, men risken är att strukturen blir för liten - det finns ingenstans att växa inom databasen. Med tiden kan ju nya behov växa fram och då är det bra med en genomtänkt och flexibel struktur.

Att dela upp i olika bitar (tabeller i MySQL) ger flexibilitet genom att det är enkelt att bygga ut.

Men vad har du för framtidsplaner? Blir det fler databaser för dig? Isåfall är det bäst att satsa på MySQL/Php redan nu. Det är ett mycket kraftfullt verktyg och du kommer inte att ångra dig.
Xubuntu på flera maskiner. Men inte Unity!
Mer Terminalanvändande i Ubuntu vore bra. Och Xfce. Och Mate.
Användarvisningsbild
Forcevision
Inlägg: 1023
Blev medlem: 21 apr 2008, 21:55
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Kontakt:

Re: Skapa databas struktur.

Inlägg av Forcevision »

Nja alltså det kommer det säkert att bli men det som jag skall använda detta till är endast det formuläret och en bild skall helst följa med i databasen med om det är möjligt. Eller finns det enklare sätt ?
Är det enklare att spara det som en txt fil informationen ?
Http://www.jernstedt.me Från otränad till tok tränad och följ mig på facebook http://www.facebook.com/jernstedt.me
ElEmAl
Inlägg: 34
Blev medlem: 30 okt 2007, 12:55
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: Skapa databas struktur.

Inlägg av ElEmAl »

Det vanliga som webaake säger är ju att starta "från andra hållet" med att konstruera tabellerna i databasen först (MySQL) men eftersom du är där du är med i stort färdiga sidor så skulle jag föreslå att gå via SQLite3, som jag tror är den lättaste vägen om man inte besitter databaskunskaper. Php-SQLite-bindningar: http://www.litewebsite.com/?c=42. SQLite3 går att ladda ner från repos. Har du python 2.5 installerat finns SQLite3 redan installerat.
Sen om jag får vara lite anal så gör en search replace på <br> och <BR/> och byt ut dem mot <br /> eftersom du har xhtml 1.0 trans i headen. Gör felsökning lättare senare. Img-taggen mot slutet är fel också. Byt ut den mot <img ... / >. Blir inga förändringar i renderingen av sidorna men underlättar felsökning med validering. Hoppas det ordnar sig.
Användarvisningsbild
christer
Inlägg: 1362
Blev medlem: 11 jan 2007, 17:42
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster

Re: Skapa databas struktur.

Inlägg av christer »

sqlite3 finns som standard i Ubuntu-terminalen.
Många program använder sqlite3 för sina databasliknande filer.

SQL- kommandon kan användas.
Skriv svar

Återgå till "Programmering och webbdesign"