MySQL - vložení záznamu (4.díl)

Napsal Mgr.Radovan Kaluža (») 30. 7. 2004 v kategorii Databáze, přečteno: 5488×
Doufám, že v minulém dílu jste si vytvořili tabulku kniha, dnes si zde vložíme příspěvek od uživatele.

Vytvoříme 3 soubory, vlastně jenom 2, soubor s nastavením použijeme z minulého dílu. Soubor index.php obsahuje pouze formulář pro zadání údajů, jediné co nás bude zajímat je jméno a zpráva, kterou uživatel zanechá. Ty předáme metodou GET jako parametry jmeno a zprava Soubor index.php vypadá následovně:

<form action="save.php" method="get">
<input type="text" name="jmeno" value="Pepik">
<input type="text" name="zprava" value="Na owebu.cz dělaj návštěvní knihu :-))" style="width:400px">
<input type="submit" value="uložit">
</form>


Další soubor nastaveni.php si ponecháme z minulého dílu, na lokálním počítači bude vypadat pravděpodobně následovně
<?
$SQL_Server = "localhost";
$SQL_Uzivatel = "";
$SQL_Heslo = "";
$Databaze = "moje";
?>


A dostáváme se k hlavní části. Soubor, který vytvoříme nazveme save.php, tak jak se na něj odvoláváme ve formuláři.Vložení prvku do databáze se provádí dvěma způsoby, jakými to uvedu v teorii databází. V našem případě SQL dotaz vypadá následovně:

INSERT INTO kniha VALUES (null, '$jmeno', now(), '$zprava')

přeloženo do češtiny: VLOŽ DO TABULKY kniha HODNOTY (hodnota1, ....)

Do hodnoty primárního klíče vkládáme null , protože jsme si definovali primární klíč jako AUTO_INCREMENT , což znamená že se automaticky bude doplňovat. Je to velice užitečné, protože nám to zaručí neduplicitu položek.

now() - vloží aktuální datum

Soubor save.php:
<?
require("nastaveni.php");

$pripoj=MySQL_Connect($SQL_Server, $SQL_Uzivatel, $SQL_Heslo) or Die(MySQL_Error());
MySQL_Select_Db($Databaze) or Die(MySQL_Error());

$jmeno=$_GET['jmeno'];
$zprava=$_GET['zprava'];

$sql="INSERT INTO kniha VALUES (null, '$jmeno', now(), '$zprava')";

$vysledek = MySQL_Query($sql);

if ($vysledek)
print "<br><b>záznam vložen</b>";
else
print "nepodařilo se";

MySQL_Close($pripoj);
?>


$_GET je zde pro případ, že bychom měli vypnuté globální proměnné. O tom v samostatném článku. V příštím díle si obsah knihy vypíšeme.
Štítky: mysql
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Pavel z IP 94.112.102.*** | 30.3.2013 16:44
Zdravím potřeboval bych poradit jak napsat příkaz pro vložení dat do třech tabulek z formuláře. Tabulky příklad :herci,filmy,žánr.
mám vytvořený formulář pro vkládání nových dat do db,ale nemůžu prijí na příkaz SQL aby při kliknutí na tlačítko vložit se vložili nové udaje do správných tabulek.Děkuji.
Matěj Baloga z IP 82.209.8.*** | 30.3.2013 16:49
Dobrý den, zde to máte popsáno: $sql="INSERT INTO kniha VALUES (null, '$jmeno', now(), '$zprava')"; jen pokud máte například 3 tabulky tak ten insert provedete pokaždé zvlášť pro každou tabulu takže to může vypadat takto:

$sql="INSERT INTO tab1 VALUES (null, '$jmeno', now(), '$zprava')
          INSERT INTO tab2 VALUES (null, '$jmeno', now(), '$zprava')";
Pavel z IP 94.112.102.*** | 30.3.2013 19:48
Moc dík za radu


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel jedna a nula