Kształcenie Ustawiczne odpowiedzią na zapotrzebowanie rynku pracy

Transkrypt

Kształcenie Ustawiczne odpowiedzią na zapotrzebowanie rynku pracy
Wyższa Szkoła Technologii
Teleinformatycznych w Świdnicy
Internetowe bazy danych
wykład 8
dr inż. Jacek Mazurkiewicz
e-mail: [email protected]
Dynamicznie tworzony formularz
// nazwa tabeli, liczba pól
<HTML>
<HEAD>
<TITLE>Tworzenie tabeli bazy – krok 1</TITLE>
</HEAD>
<BODY>
<H1>Nazwa tabeli i liczba pól<H1>
<FORM METHOD=”post” ACTION=”do_fielddef.php”>
<P><strong>Nazwa tabeli:</strong><br>
<INPUT TYPE=”text” NAME=”table_name” SIZE=30></P>
<P><strong>Liczba pól:</strong><br>
<INPUT TYPE=”text” NAME=”num_fields” SIZE=5></P>
<P><INPUT TYPE=”submit” NAME=”submit” VALUE=”Krok 2”></P>
</FORM>
</BODY>
</HTML>
• zmienne $table_name oraz $num_fields
// definiowanie pól
<?php
if ((!$table_name) || (!$num_fields))
{ echo ”Coś nie tak”;
exit;
}
$form_block = ”<FORM METHOD=\”POST\” ACTION=\”do_table.php\”>
<INPUT TYPE=\”hidden\” NAME=\”table_name\” VALUE=\”$table_name\”>
<TABLE CELLSPACING=5 CELLPADING=5>
<TR>
<TH>NAZWA POLA</TH><TH>TYP POLA</TH><TH>DŁUGOŚĆ POLA</TH></TR>”;
for ($i=0; $i < $num_fields; $i++)
{ $form_block .= ”
<TR>
<TD ALIGN=CENTER><INPUT TYPE=\”text\” NAME=\”field_name[]\”
SIZE=\”30\”></TD>
<TD ALIGN=CENTER>
<SELECT NAME=\”field_type[]\”>
<OPTION VALUE=\”char\”>char</OPTION>
<OPTION VALUE=\”date\”>date</OPTION>
<OPTION VALUE=\”float\”>float</OPTION>
<OPTION VALUE=\”int\”>int</OPTION>
<OPTION VALUE=\”text\”>text</OPTION>
<OPTION VALUE=\”varchar\”>varchar</OPTION>
</SELECT>
</TD>
<TD ALIGN=CENTER><INPUT TYPE=\”text\” NAME=\”field_lenght[]\”
SIZE=\”5\”></TD>
</TR> ”;
} // koniec for
$form_block .= ”
<TR>
<TD ALIGN=CENTER COLSPAN=3><INPUT TYPE=\”submit\”
VALUE=\”Twórz tabelę\”></TD>
</TR>
</TABLE>
</FORM> ”;
?>
<HTML>
<HEAD>
<TITLE>Tworzenie tabeli bazy – krok 2</TITLE>
</HEAD>
<BODY>
<H1>Zdefiniuj pola dla <?php echo ”$table_name”; ?></H1>
<?php echo ”$form_block”; ?>
</BODY>
</HTML>
• to będzie w pliku do_fielddef.php
// tworzenie tabeli już ostatecznie
<?php
$db_name = ”testBD”;
$con = @mysql_connect(”localhost”, ”user”, ”pass”)
or die(”Nic z tego”);
$db = @mysql_select_db($db_name, $con) or die(”Błąd wyboru”);
$sql = ”CREATE TABLE $table_name (”;
for ($i = 0; $i < count($field_name); $i++)
{
$sql .= ”$field_name[$i] $field_type[$i]”;
if ($field_lenght[$i] != ””)
<HTML>
{ $sql .= ” ($field_lenght[$i]),”;
<HEAD>
}
<TITLE>Krok 3</TITLE>
else
</HEAD>
{ $sql .= ”,”;
<BODY>
}
<?php echo ”$msg”; ?>
}
</BODY>
$sql = substr($sql, 0, -1);
</HTML>
$sql .= ”)”;
$result = @mysql_query($sql, $con) or die(”Nic z tego”);
if ($result)
{ $msg = ”<P>$table_name została utworzona</P>”;
}
?>
Wyświetlanie zawartości katalogu
<?php
$dir_name = ”/windows/pulpit/downloads/”
$dir = opendir($dir_name);
$file_list = ”<ul>”;
while ($file_name = readdir($dir))
{
if(($file_name != ”.”) && ($file_name != ”..”))
$file_name .= ”<li>$file_name”;
}
$file_list .= ”</ul>”;
closedir($dir);
?>
<HTML>
<HEAD>
<TITLE>Directory listing</TITLE>
</HEAD>
<BODY>
<P>Pliki w: <?php echo ”$dir_name”; ?></P>
<?php echo ”$file_list”; ?>
Tworzenie nowego pliku
<?php
$filename = ”/apache/dane.txt”;
if(file_exists($filename))
$msg = ”<P>Plik już jest.</P>;
else
{
$newfile = @fopen($filename, ”w+”) or die(”Nie udało się”);
fclose($newfile);
$msg =”<P>Utworzono plik!</P>”;
}
?>
<HTML>
<HEAD>
<TITLE>Creating a new file</TITLE>
</HEAD>
<BODY>
<?php echo ”$msg”; ?>
</BODY>
</HTML>
Dołączanie danych do pliku
<?php
$filename = ”/apache/dane.txt”;
$newstring = ”Text do pliku\n
z nową linią”;
$newfile = @fopen($filename, ”w+”) or die(”Nie udało się”);
@fwrite($newfile, $newstring) or die(”Błąd”);
$msg = ”<P>Plik zawiera dane</P>”;
fclose($newfile);
?>
<HTML>
<HEAD>
<TITLE>Adding data to a file</TITLE>
</HEAD>
<BODY>
<?php echo ”$msg”; ?>
</BODY>
</HTML>
Odczyt danych z pliku
<?php
$filename = ”/apache/dane.txt”;
$whatread = @fopen($filename, ”r”) or die(”Błąd”);
$file_con = fread($whatread, filesize($filename));
$msg = ”Plik zawiera:<br>$file_con”;
fclose($whatread);
?>
<HTML>
<HEAD>
<TITLE>Reading data from a file</TITLE>
</HEAD>
<BODY>
<?php echo ”$msg”; ?>
</BODY>
</HTML>
Kopiowanie plików
<?php
$source = ”/apache/dane.txt”;
$dest = ”/apache/danestare.txt”;
$yes = @copy($source, $dest) or die(”Błąd”);
if($yes)
$msg = ”Kopiowanie się powiodło”;
else
$msg = ”Kopiowanie się nie udało”;
?>
<HTML>
<HEAD>
<TITLE>Copy a file</TITLE>
</HEAD>
<BODY>
<?php echo ”$msg”; ?>
</BODY>
</HTML>
Zmiana nazw plików
<?php
$old_name = ”/apache/dane.txt”;
$new_name = ”/apache/danestare.txt”;
$yes = @rename($old_name, $new_name) or die(”Błąd”);
if($yes)
$msg = ”Zmiana nazwy się powiodła”;
else
$msg = ”Nie udało się zmienić nazwy”;
?>
<HTML>
<HEAD>
<TITLE>Rename a file</TITLE>
</HEAD>
<BODY>
<?php echo ”$msg”; ?>
</BODY>
</HTML>
Usuwanie plików
<?php
$file_name = ”/apache/dane.txt”;
$yes = @unlink($file_name) or die(”Błąd”);
if($yes)
$msg = ”Plik został usunięty”;
else
$msg = ”Nie udało się usunąć pliku”;
?>
<HTML>
<HEAD>
<TITLE>Delete a file</TITLE>
</HEAD>
<BODY>
<?php echo ”$msg”; ?>
</BODY>
</HTML>

feof – koniec pliku
int feof(id-plik)
• zwraca wartość logiczną czy osiągnięto koniec pliku

fgets – odczyt linii pliku
string fgets(id-plik, [int limit])
• zwraca linię pliku – ogranicznik \n, chyba, że wcześniej EOF albo limit

fgetss – odczyt linii pliku
string fgetss(id-plik, [int limit], [string znaczniki])
• zwraca linię pliku – ogranicznik \n, chyba, że wcześniej EOF albo limit,
usuwa znaczniki PHP i HTML oraz wyszczególnione w wywołaniu

fgetcsv – odczyt do separatora
string fgetcsv(id-plik, [int limit], string znaczniki)
• zwraca fragment pliku – ograniczonego znacznikami
fgetc – odczyt pojedynczego znaku

char fgetc(id-plik)
• zwraca pojedynczy znak odczytany z pliku
rewind – przewinięcie pliku do początku

int rewind(id-plik)
• jeśli przewinięcie pliku się nie powiodło zwraca zero

ftell – bieżąca pozycja pliku
int ftell(id-plik)
• zwraca bieżącą pozycję wskaźnika pliku – o ile w bajtach wskaźnik
pliku jest przesunięty od początku

fseek – umieszczenie wskaźnika pliku w żądanym miejscu
int fseek(id-plik, int offset)
• umieszcza wskaźnik offset bajtów od początku

flock – blokada pliku
int flock(id-plik, int akcja)
• akcja: 1 - odczyt, 2 - wyłączność, 3 - zwolnienie, +4 - przeciwdziałanie

Podobne dokumenty