Преглед на урок

Създаване на таблица

Създаване на таблица




Можете да селектирате съществуваща база данни с РНР функцията mysql_select_db(), която приема като аргументи името на базата данни и връзката. След като вече е селектирана, можете да извършвате с нея операции, като подавате SQL команди като аргументи на РНР функцията mysql_query(). Например, можете да използвате "create table име-на-таблица", за да създадете нова таблица. Този пример създава интерфейс за динамично създаване на нова таблица в база данни. Първоначално $poleta няма стойност, така че се показва формуляр, който
запитва колко са необходимите колони. Когато той бъде приет, скриптът генерира формуляр с текстови полета за въвеждане на името и типа на данните за всяко поле. Стойностите, въведени във всяко поле на попълнения формуляр, се използват за изготвянето на SQL команда за създаването на таблица с избраните полета. Вторият формуляр позволява въвеждането на името на съществуваща база данни, която да бъде използвана, име на новата таблица, имена на колони и типове данни и при необходимост, размер на полета.

Код
<html>
<head>
<title>Създаване на таблица</title>
</head>
<body>
<?php
$self =	 $_SERVER['PHP_SELF'];
$poleta =   $_POST['poleta'];
$bazi =	 $_POST['bazi'];
$ime =		$_POST['ime'];
$tablica =	$_POST['tablica'];
$tip =		$_POST['tip'];
$razmer = 	$_POST['razmer'];
if( !$poleta and !$bazi) {
	$form ="<form action=\"$self\" method=\"post\">";
$form.="Колко ще бъдат полетата в новата таблица?";
$form.="<br><input type=\"text\" name=\"poleta\">";
$form.="  <br><input  type=\"submit\"  value= \"Приеми\">";
echo(	  $form	);	   }
//оттук започва скрипта на втория формуляр
else if( !$bazi )
	{  
	 $form ="<form action=\"$self\"  method= \"post\">";
$form.="База Данни:        
<input type=\"text\" name=\"bazi\"><br>";
$form.="Име на таблицата:    
<input type=\"text\" name=\"tablica\"  size=\"10\">
<br><br>  ";

for   ($i = 0  ;   $i <$poleta;   $i++) {
$form.="Име на колона: 
<input type=\"text\" name=\"ime[$i]\"
size=\"10\"<br>";
$form.="Тип:   <select name=\"tip[$i]\">";
$form.="<option value=\"char\">char</option>";
$form.="<option value=\"varchar\">varchar </option>";
$form.="<option value=\"int\">int</option>";
$form.="<option value=\"float\">float </option>";
$form.="</select> ";
$form.="Размер:<input type=\"text\" name= \"razmer[$i]\"
size=\"8\"><br><br>";
}
$form.=" <input type=\"submit\" value=\"Приеми\"> </form>";
echo($form);   }
else {
	$conn = @mysql_connect("localhost","test","test")
	or die("Връзката не може да бъде осъществена.");
$rs = @mysql_select_db($bazi,   $conn)
or die ("Не може да бъде селектирана база данни.");
$num_columns = count($ime);
$sql =  "create table $tablica   ("; //създаване на заявката
for   ($i = 0;   $i < $num_columns;   $i++)
{   $sql   .=  "$ime[$i]   $tip[$i]";
//име и тип на полето
if(($tip[$i] =="char") or ($tip[$i]   =="varchar"))
//позволява типове
// char m varchar
{  
	if($razmer[$i]   !=""   )
	{   $sql.= "($razmer[$i])";   
	}	 //добавя размер,
// ако е зададен
} 
if(($i+1)   !=  $num_columns)
	{  
	 $sql.=",";  
	}
//ако това не е последното поле се добавя запетая
}
$sql   .=  ")";
echo("SQL COMMAND:   $sql  <hr>");
//показване на заявката 
$result = mysql_query($sql,$conn)
//изпълнение на заявката
or die("Could not execute SQL query");
if   ($result)
{ 
	echo("RESULT: table \"$tablica\" беше създадена"); }
//потвърждение ако опита е успешен
}
?> 
</body>
</html>

Автор: e!ns7e!n

Ако урокът ви допада, споделете го в Twitter и Facebook или го запазете в Delicious.




Урокът е добавен от: bubsss

Коментари

Добави коментар

Трябва да сте регистиран потребител за може да оставяте коментари! Направете своята безплатна регистрация още сега.