• Tidak ada hasil yang ditemukan

Laman Web Pengkalan Data yang Baik

Dalam dokumen dreamweaver database tutorial di (1) (Halaman 30-39)

Bagi satu laman web pengkalan data yang baik, kita perlulah mempunyai laman web dimana kita boleh memadam (delete) dan menyunting (edit) data-data di pengkalan data kita. Dengan menggunakan Dreamweaver MX, kita boleh membuat laman-laman web ini dengan mudah dengan menggunakan Server Behaviors - Delete Record & Update Record.

Kita mulakan dengan membuat laman web untuk memadam rekod (delete) dahulu. Untuk itu kita akan menggunakan laman web Delete.php. Buka laman web Delete.php di Dreamweaver MX. Jika tiada laman web tersebut buat laman web tersebut dan save dengan nama delete.php. Pada Application, di tab Server Behaviors klik pada “+”. Kemudian pilih Delete Recordset (Rajah 48).

Rajah 48: Delete Record pada Tab Server Behavior. Pop up Delete Record akan keluar (Rajah 49).

Rajah 49: Pop up Delete Record.

Pada pilihan First Check If Variable Is Defined, pilih URL Parameter kerana anda menggunakan data rujukan (Login) dimana data rujukan tersebut di hulurkan (passed) kepada laman-laman web anda. Definasikan data rujukkan anda di kotak sebelah First Check If Variable Is Defined. Pada pilihan Connection, pilih definasi hubungan anda (cth: dbConnect). Pada pilihan Primary Key Column, pilih data rujukan anda (cth: Login). Akhir sekali, pada After Deleting, Go To, pilih laman web yang anda mahu dipaparkan selepas data dipadam dimana selalunya adalah laman web pertama anda (cth: view.php). Rajah 50 adalah output terakhir (final output) bagi pop up Delete Record kita. Save laman web ini.

Rajah 50: Output terakhir untuk pop up Delete Record.

Rajah 51: Output pada tab Server Behavior. Coding pada Dreamweaver MX:

<?php require_once('Connections/dbConnect.php'); ?> <?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break;

case "long": case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL"; break;

case "double":

$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break;

}

return $theValue; }

if ((isset($HTTP_GET_VARS['Login'])) && ($HTTP_GET_VARS['Login'] != "")) { $deleteSQL = sprintf("DELETE FROM data WHERE Login=%s",

GetSQLValueString($HTTP_GET_VARS['Login'], "text")); mysql_select_db($database_dbConnect, $dbConnect);

$Result1 = mysql_query($deleteSQL, $dbConnect) or die(mysql_error()); $deleteGoTo = "view.php";

if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) { $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";

$deleteGoTo .= $HTTP_SERVER_VARS['QUERY_STRING']; } header(sprintf("Location: %s", $deleteGoTo)); } ?> <html> <head> <title>Delete Page</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>

<body> </body> </html>

Seterusnya kita akan membuat laman web Edit.php. Dimana dengan laman ini, pengguna boleh menyunting (edit) data-data di pengkalan data. Bina satu laman web dengan menggunakan nama edit.php. Pada laman web tersebut, kita perlu menggunakan Forms. Laman web ini adalah hampir sama dengan laman web add.php Cuma beza laman web ini dengan laman web add.php adalah seperti jadual di bawah:

edit.php add.php

1. Server Behavior: Update Record 1. Server Behavior: Insert Record 2. Menggunakan Data Rujukan (cth: Login) 2. Tidak menggunakan Data Rujukan

3. Menggunakan Hidden Field 3. Tidak menggunakan Hidden Field

Sila rujuk membina laman web add.php, untuk membuat borang (form) di laman edit.php.

Setelah selesai membuat borang (Form) di laman edit.php, anda perlu menghubungkan laman tersebut dengan pengkalan data anda. Cara membuat hubungan tersebut juga telah diterangkan beberapa kali di atas.

Namakan Recordset di halaman edit.php dengan nama rsEdit. Output terakhir Recordset adalah seperti di Rajah 52.

Rajah 52: Output terakhir pada Recordset.

Kemudian di sebelum butang Submit pada laman edit.php masukkan satu Hidden Field. Klik pada Hidden Field di tab Forms pada Insert (Rajah 53).

Rajah 53: Hidden Field.

Pada bahagian Properties, namakan Value Hidden Field dengan nama hiddenId dan klik ikon pilih id pada pop up Dynamic Data. Output akhir adalah seperti Rajah 54.

Rajah 54: Output akhir Properties.

Di coding Dreamweaver MX, tukarkan nama form name untuk edit.php kepada frmEdit, seperti di bawah :

<form name="form1" method="post" action=""> kepada <form name="frmEdit" method="post" action="">

Pada Bahagian Application tab Server Behavior klik “+” dan pilih Update Record (Rajah 55).

Rajah 55: Pemilihan Update Recordset di tab Server Behavior.

Pada pop up Update Record: Pada Submit Values From, pilih definasi form anda (cth: frmEdit). Pada Connection, pilih definasi hubungan anda (cth: dbConnect). Pastikan di bahagian Colums, semua data-data anda sama seperti nama yang telah anda beri di borang (form) anda (cth: Date Æ FORM.Date). Pada Value, pilih nilai di hidden field anda (cth: FORM.hiddenId).

Pada After Updating, Go To, pilih laman web yang anda mahu dipaparkan selepas data dikemaskinikan (update); dimana selalunya adalah laman web pertama anda (cth: view.php). Output akhir adalah seperti Rajah 56.

Rajah 56: Output akhir Update Record. Coding pada Dreamweaver MX:

<?php require_once('Connections/dbConnect.php'); ?> <?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break;

case "long": case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL"; break;

case "double":

$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break;

}

}

$editFormAction = $HTTP_SERVER_VARS['PHP_SELF']; if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {

$editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING']; }

if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"] == "frmEdit")) {

$updateSQL = sprintf("UPDATE data SET `Date`=%s, Login=%s, `User`=%s WHERE id=%s", GetSQLValueString($HTTP_POST_VARS['Date'], "date"),

GetSQLValueString($HTTP_POST_VARS['Login'], "text"), GetSQLValueString($HTTP_POST_VARS['User'], "text"), GetSQLValueString($HTTP_POST_VARS['hiddenId'], "int")); mysql_select_db($database_dbConnect, $dbConnect);

$Result1 = mysql_query($updateSQL, $dbConnect) or die(mysql_error()); $updateGoTo = "view.php";

if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) { $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";

$updateGoTo .= $HTTP_SERVER_VARS['QUERY_STRING']; } header(sprintf("Location: %s", $updateGoTo)); } $colname_rsEdit = "1"; if (isset($HTTP_GET_VARS['Login'])) {

$colname_rsEdit = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['Login'] : addslashes($HTTP_GET_VARS['Login']);

}

mysql_select_db($database_dbConnect, $dbConnect);

$query_rsEdit = sprintf("SELECT * FROM `data` WHERE Login = '%s'", $colname_rsEdit); $rsEdit = mysql_query($query_rsEdit, $dbConnect) or die(mysql_error());

$row_rsEdit = mysql_fetch_assoc($rsEdit); $totalRows_rsEdit = mysql_num_rows($rsEdit); ?> <html> <head> <title>Edit Data</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head> <body>

<p><font size="+2">Edit Data</font> <br>

<form name="frmEdit" method="POST" action="<?php echo $editFormAction; ?>">

<p>Date:

<input type="text" name="Date" id="Date"> </p>

<p>Login Name:

<input name="Login" type="text" id="Login"> </p>

<p>User Name:

<input name="User" type="text" id="User"> </p>

<input name="hiddenId" type="hidden" id="hiddenId" value="<?php echo $row_rsEdit['id']; ?>">

<br> <p>

<input type="submit" name="Submit" value="Submit"> </p>

<input type="hidden" name="MM_update" value="frmEdit"> </form> </body> </html> <?php mysql_free_result($rsEdit); ?>

Selepas itu drag & drop data-data dari Bindings ke kotak-kotak di borang (form) anda, seperti Rajah 57. Save laman web ini.

Rajah 57: Output pada Dreamweaver MX selepas drag & drop. Coding pada Dreamweaver MX:

<?php require_once('Connections/dbConnect.php'); ?> <?php

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break;

case "long": case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL"; break;

case "double":

break; case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } $editFormAction = $HTTP_SERVER_VARS['PHP_SELF']; if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) { $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING']; }

if ((isset($HTTP_POST_VARS["MM_update"])) && ($HTTP_POST_VARS["MM_update"] == "frmEdit")) {

$updateSQL = sprintf("UPDATE data SET `Date`=%s, Login=%s, `User`=%s WHERE id=%s", GetSQLValueString($HTTP_POST_VARS['Date'], "date"),

GetSQLValueString($HTTP_POST_VARS['Login'], "text"), GetSQLValueString($HTTP_POST_VARS['User'], "text"), GetSQLValueString($HTTP_POST_VARS['hiddenId'], "int")); mysql_select_db($database_dbConnect, $dbConnect);

$Result1 = mysql_query($updateSQL, $dbConnect) or die(mysql_error()); $updateGoTo = "view.php";

if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) { $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";

$updateGoTo .= $HTTP_SERVER_VARS['QUERY_STRING']; } header(sprintf("Location: %s", $updateGoTo)); } $colname_rsEdit = "1"; if (isset($HTTP_GET_VARS['Login'])) {

$colname_rsEdit = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['Login'] : addslashes($HTTP_GET_VARS['Login']);

}

mysql_select_db($database_dbConnect, $dbConnect);

$query_rsEdit = sprintf("SELECT * FROM `data` WHERE Login = '%s'", $colname_rsEdit); $rsEdit = mysql_query($query_rsEdit, $dbConnect) or die(mysql_error());

$row_rsEdit = mysql_fetch_assoc($rsEdit); $totalRows_rsEdit = mysql_num_rows($rsEdit); ?> <html> <head> <title>Edit Data</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head> <body>

<p><font size="+2">Edit Data</font> <br>

<p>Date:

<input name="Date" type="text" id="Date" value="<?php echo $row_rsEdit['Date']; ?>">

</p>

<p>Login Name:

<input name="Login" type="text" id="Login" value="<?php echo $row_rsEdit['Login']; ?>">

</p>

<p>User Name:

<input name="User" type="text" id="User" value="<?php echo $row_rsEdit['User']; ?>">

</p>

<input name="hiddenId" type="hidden" id="hiddenId" value="<?php echo $row_rsEdit['id']; ?>">

<br> <p>

<input type="submit" name="Submit" value="Submit"> </p>

<input type="hidden" name="MM_update" value="frmEdit"> </form> </body> </html> <?php mysql_free_result($rsEdit); ?> 10. Penutup

Tahniah! Anda telah berjaya membuat laman web asas, mengintegrasikan php & MySQL dengan menggunakan Dreamweaver MX. Walaubagaimanapun, tutorial ini hanya difokuskan kepada teknik asas Dreamweaver MX dengan aplikasi php & MySQL sahaja. Sebenarnya dengan menggunakan Dreamweaver MX, anda boleh membuat laman-laman web untuk .ASP, .JSP, .ASPX & .CFM. Untuk selain dari laman web .PHP, anda bolehleh merujuk kepada laman web yang lain.

Sekian terima kasih kerana mengambil masa untuk membaca & mencuba tutorial ini. Harapan saya agar tutorial ini sedikit sebanyak dapat membantu anda yang mahu mencuba aplikasi-aplikasi Dreamweaver MX, PHP & MySQL.

Dalam dokumen dreamweaver database tutorial di (1) (Halaman 30-39)

Dokumen terkait