Showing posts with label array. Show all posts
Showing posts with label array. Show all posts

Semak Key di Dalam Array

Friday, February 19, 2016

Apabila telah disetkan key dan value bagi sesuatu array, value array tersebut boleh dipanggil menggunakan key yang telah dikenalpasti.

Sekiranya key yang diberikan tidak dikenali, akan mendatangkan error pada coding.

Jadi, bagi mengatasi masalah ini, setiap key yang dimasukkan, perlu disemak terlebih dahulu adakah ia wujud. Gunakan fungsi in_array yang PHP sediakan.

Dilihat pada contoh di bawah, pada satu table, terdapat senarai PTJ untuk dirujuk.


+------------+--------------------------------+
| kod_ptj    | nama_ptj                       |
+------------+--------------------------------+
| 123456789  | SEKTOR PENJAGAAN KULIT         |
| 987654321  | BAHAGIAN PENGURUSAN KEWANGAN   |
| 121212312  | BAHAGIAN PENGURUSAN MAKANAN    |
| 345345345  | BAHAGIAN PENGURUSAN PERJALANAN |
| 678678678  | BAHAGIAN PENGURUSAN TANGISAN   |
+------------+--------------------------------+


Select yang pertama untuk dapatkan data tersebut dan dimasukkan ke dalam array.

Kemudian, select senarai data yang dimahukan beserta kod PTJ. Kod tersebut boleh digunakan untuk memaparkan nama PTJ.

Masalah timbul sekiranya dalam senarai tersebut, ada beberapa kod yang tiada di dalam table rujukan di atas. Jadi, array tidak dapat mengesan apa-apa data dan menganggap ianya adalah error.

Apa yang boleh dibuat, sebelum memaparkannya, sila semak terlebih dahulu menggunakan in_array.


<?php 
$sqlptj = "SELECT untuk dapatkan kod PTJ dan nama PTJ";
$resultptj = mysql_query($sqlptj);
while($rowptj = mysql_fetch_array($resultptj))
{
 $kodptj = $rowptj["pt_kod_ptj"];
 $namaptj["$kodptj"] = $rowptj["pt_nama_ptj"];
}

$sql3 = "SELECT semua data dan salah satu data tersebut ada kod PTJ";
$result3 = mysql_query($sql3);
while($row3 = mysql_fetch_array($result3))
{
 $kodptjp = $row3["kr_ptj"];
 $displayptj = "";
 
 if (in_array($namaptj["$kodptjp"], $namaptj)) {
  $displayptj = $namaptj["$kodptjp"];
 } 
 else { 
  $displayptj = "<span class=\"label label-sm label-warning\">".$kodptjp."</span>";
 }
?>
<tr>
 <td><?php echo $row3["xxx"]; ?></td>
 <td><?php echo $row3["xxy"]; ?></td>
 <td><?php echo $row3["$xxz"]; ?></td>
 <td><?php echo $displayptj; ?></td>
</tr>
<?php 
}
?>

Selain menggunakan in_array, boleh juga menggunakan array_key_exists. Cara menggunakannya juga sama. Jika menggunakan contoh code di atas, berikut adalah cara menggunakannya.


<?php
//copy code di atas
//code asal guna in_array
if (in_array($namaptj["$kodptjp"], $namaptj)) {
  $displayptj = $namaptj["$kodptjp"];
} 

//code checking guna key exist. Terus check key, bukan check value
if (array_key_exists($row3["kr_ptj"], $namaptj)) {
    echo "Key untuk array ini telah wujud";
}

Bezanya in_array lebih kepada semakan terhadap value, manakala array_key_exists menyemak key atau index di dalam satu array.

Country Code (ISO 3166-1 alpha-2)

Thursday, December 24, 2015

Senarai kod beserta nama negara di dalam array

<?php
$negara = array(
    'AF' => 'Afghanistan',
    'AX' => 'Aland Islands',
    'AL' => 'Albania',
    'DZ' => 'Algeria',
    'AS' => 'American Samoa',
    'AD' => 'Andorra',
    'AO' => 'Angola',
    'AI' => 'Anguilla',
    'AQ' => 'Antarctica',
    'AG' => 'Antigua and Barbuda',
    'AR' => 'Argentina',
    'AM' => 'Armenia',
    'AW' => 'Aruba',
    'AU' => 'Australia',
    'AT' => 'Austria',
    'AZ' => 'Azerbaijan',
    'BS' => 'Bahamas',
    'BH' => 'Bahrain',
    'BD' => 'Bangladesh',
    'BB' => 'Barbados',
    'BY' => 'Belarus',
    'BE' => 'Belgium',
    'BZ' => 'Belize',
    'BJ' => 'Benin',
    'BM' => 'Bermuda',
    'BT' => 'Bhutan',
    'BO' => 'Bolivia',
    'BQ' => 'Bonaire, Saint Eustatius and Saba',
    'BA' => 'Bosnia and Herzegovina',
    'BW' => 'Botswana',
    'BV' => 'Bouvet Island',
    'BR' => 'Brazil',
    'IO' => 'British Indian Ocean Territory',
    'VG' => 'British Virgin Islands',
    'BN' => 'Brunei',
    'BG' => 'Bulgaria',
    'BF' => 'Burkina Faso',
    'BI' => 'Burundi',
    'KH' => 'Cambodia',
    'CM' => 'Cameroon',
    'CA' => 'Canada',
    'CV' => 'Cape Verde',
    'KY' => 'Cayman Islands',
    'CF' => 'Central African Republic',
    'TD' => 'Chad',
    'CL' => 'Chile',
    'CN' => 'China',
    'CX' => 'Christmas Island',
    'CC' => 'Cocos Islands',
    'CO' => 'Colombia',
    'KM' => 'Comoros',
    'CK' => 'Cook Islands',
    'CR' => 'Costa Rica',
    'HR' => 'Croatia',
    'CU' => 'Cuba',
    'CW' => 'Curacao',
    'CY' => 'Cyprus',
    'CZ' => 'Czech Republic',
    'CD' => 'Democratic Republic of the Congo',
    'DK' => 'Denmark',
    'DJ' => 'Djibouti',
    'DM' => 'Dominica',
    'DO' => 'Dominican Republic',
    'TL' => 'East Timor',
    'EC' => 'Ecuador',
    'EG' => 'Egypt',
    'SV' => 'El Salvador',
    'GQ' => 'Equatorial Guinea',
    'ER' => 'Eritrea',
    'EE' => 'Estonia',
    'ET' => 'Ethiopia',
    'FK' => 'Falkland Islands',
    'FO' => 'Faroe Islands',
    'FJ' => 'Fiji',
    'FI' => 'Finland',
    'FR' => 'France',
    'GF' => 'French Guiana',
    'PF' => 'French Polynesia',
    'TF' => 'French Southern Territories',
    'GA' => 'Gabon',
    'GM' => 'Gambia',
    'GE' => 'Georgia',
    'DE' => 'Germany',
    'GH' => 'Ghana',
    'GI' => 'Gibraltar',
    'GR' => 'Greece',
    'GL' => 'Greenland',
    'GD' => 'Grenada',
    'GP' => 'Guadeloupe',
    'GU' => 'Guam',
    'GT' => 'Guatemala',
    'GG' => 'Guernsey',
    'GN' => 'Guinea',
    'GW' => 'Guinea-Bissau',
    'GY' => 'Guyana',
    'HT' => 'Haiti',
    'HM' => 'Heard Island and McDonald Islands',
    'HN' => 'Honduras',
    'HK' => 'Hong Kong',
    'HU' => 'Hungary',
    'IS' => 'Iceland',
    'IN' => 'India',
    'ID' => 'Indonesia',
    'IR' => 'Iran',
    'IQ' => 'Iraq',
    'IE' => 'Ireland',
    'IM' => 'Isle of Man',
    'IL' => 'Israel',
    'IT' => 'Italy',
    'CI' => 'Ivory Coast',
    'JM' => 'Jamaica',
    'JP' => 'Japan',
    'JE' => 'Jersey',
    'JO' => 'Jordan',
    'KZ' => 'Kazakhstan',
    'KE' => 'Kenya',
    'KI' => 'Kiribati',
    'XK' => 'Kosovo',
    'KW' => 'Kuwait',
    'KG' => 'Kyrgyzstan',
    'LA' => 'Laos',
    'LV' => 'Latvia',
    'LB' => 'Lebanon',
    'LS' => 'Lesotho',
    'LR' => 'Liberia',
    'LY' => 'Libya',
    'LI' => 'Liechtenstein',
    'LT' => 'Lithuania',
    'LU' => 'Luxembourg',
    'MO' => 'Macao',
    'MK' => 'Macedonia',
    'MG' => 'Madagascar',
    'MW' => 'Malawi',
    'MY' => 'Malaysia',
    'MV' => 'Maldives',
    'ML' => 'Mali',
    'MT' => 'Malta',
    'MH' => 'Marshall Islands',
    'MQ' => 'Martinique',
    'MR' => 'Mauritania',
    'MU' => 'Mauritius',
    'YT' => 'Mayotte',
    'MX' => 'Mexico',
    'FM' => 'Micronesia',
    'MD' => 'Moldova',
    'MC' => 'Monaco',
    'MN' => 'Mongolia',
    'ME' => 'Montenegro',
    'MS' => 'Montserrat',
    'MA' => 'Morocco',
    'MZ' => 'Mozambique',
    'MM' => 'Myanmar',
    'NA' => 'Namibia',
    'NR' => 'Nauru',
    'NP' => 'Nepal',
    'NL' => 'Netherlands',
    'NC' => 'New Caledonia',
    'NZ' => 'New Zealand',
    'NI' => 'Nicaragua',
    'NE' => 'Niger',
    'NG' => 'Nigeria',
    'NU' => 'Niue',
    'NF' => 'Norfolk Island',
    'KP' => 'North Korea',
    'MP' => 'Northern Mariana Islands',
    'NO' => 'Norway',
    'OM' => 'Oman',
    'PK' => 'Pakistan',
    'PW' => 'Palau',
    'PS' => 'Palestinian Territory',
    'PA' => 'Panama',
    'PG' => 'Papua New Guinea',
    'PY' => 'Paraguay',
    'PE' => 'Peru',
    'PH' => 'Philippines',
    'PN' => 'Pitcairn',
    'PL' => 'Poland',
    'PT' => 'Portugal',
    'PR' => 'Puerto Rico',
    'QA' => 'Qatar',
    'CG' => 'Republic of the Congo',
    'RE' => 'Reunion',
    'RO' => 'Romania',
    'RU' => 'Russia',
    'RW' => 'Rwanda',
    'BL' => 'Saint Barthelemy',
    'SH' => 'Saint Helena',
    'KN' => 'Saint Kitts and Nevis',
    'LC' => 'Saint Lucia',
    'MF' => 'Saint Martin',
    'PM' => 'Saint Pierre and Miquelon',
    'VC' => 'Saint Vincent and the Grenadines',
    'WS' => 'Samoa',
    'SM' => 'San Marino',
    'ST' => 'Sao Tome and Principe',
    'SA' => 'Saudi Arabia',
    'SN' => 'Senegal',
    'RS' => 'Serbia',
    'SC' => 'Seychelles',
    'SL' => 'Sierra Leone',
    'SG' => 'Singapore',
    'SX' => 'Sint Maarten',
    'SK' => 'Slovakia',
    'SI' => 'Slovenia',
    'SB' => 'Solomon Islands',
    'SO' => 'Somalia',
    'ZA' => 'South Africa',
    'GS' => 'South Georgia and the South Sandwich Islands',
    'KR' => 'South Korea',
    'SS' => 'South Sudan',
    'ES' => 'Spain',
    'LK' => 'Sri Lanka',
    'SD' => 'Sudan',
    'SR' => 'Suriname',
    'SJ' => 'Svalbard and Jan Mayen',
    'SZ' => 'Swaziland',
    'SE' => 'Sweden',
    'CH' => 'Switzerland',
    'SY' => 'Syria',
    'TW' => 'Taiwan',
    'TJ' => 'Tajikistan',
    'TZ' => 'Tanzania',
    'TH' => 'Thailand',
    'TG' => 'Togo',
    'TK' => 'Tokelau',
    'TO' => 'Tonga',
    'TT' => 'Trinidad and Tobago',
    'TN' => 'Tunisia',
    'TR' => 'Turkey',
    'TM' => 'Turkmenistan',
    'TC' => 'Turks and Caicos Islands',
    'TV' => 'Tuvalu',
    'VI' => 'U.S. Virgin Islands',
    'UG' => 'Uganda',
    'UA' => 'Ukraine',
    'AE' => 'United Arab Emirates',
    'GB' => 'United Kingdom',
    'US' => 'United States',
    'UM' => 'United States Minor Outlying Islands',
    'UY' => 'Uruguay',
    'UZ' => 'Uzbekistan',
    'VU' => 'Vanuatu',
    'VA' => 'Vatican',
    'VE' => 'Venezuela',
    'VN' => 'Vietnam',
    'WF' => 'Wallis and Futuna',
    'EH' => 'Western Sahara',
    'YE' => 'Yemen',
    'ZM' => 'Zambia',
    'ZW' => 'Zimbabwe',
);
?>


Papar semua data
<?php
foreach($negara as $kod => $nama) {
  echo "$kod untuk $nama";
}
?>


Papar value mengikut specific key
<?php
echo $negara['MY'];
//result: Malaysia
?>

YouTube Data API v3 Video List

Wednesday, July 22, 2015

Ini khas untuk youtube API version 3. Version lain, mungkin lain caranya.

Sebelum nak guna youtube API, perlu create API key dulu guna akaun google sendiri. Pastikan API Key tu aktif. Lepas create, aktifkan.

Rujuk : Youtube Data API

Pada localhost, create satu file php, dan panggil API.

Dalam API ni ada macam-macam fungsi yang berlainan. Boleh rujuk nota bawah tajuk implementation guide. Salah satu adalah videolist.

Contoh kod di bawah,

<?php 
$API_key = 'blablablabla';
$maxResults = 3;

$videoDetail = json_decode(file_get_contents('https://www.googleapis.com/youtube/v3/videos?part=snippet%2CcontentDetails%2Cstatistics&id=eSwisMEtkBg&key='.$API_key));

print_r($videoDetail);
?>

Andaikan kita dah tahu id video tu, iaitu bfNXb6-fVaM. Tinggal masukkan je dalam request url API.

Pada print_r tu, kita akan dipaparkan result. Jika nak tengok kemas sikit, klik kanan pada page, "View Page Source".

Kita akan dapat lihat result macam ni.

stdClass Object
(
    [kind] => youtube#videoListResponse
    [etag] => "XI7nbFXulYBIpL0ayR_gDh3eu1k/PEcLptKFhu_YmtNgJBdRp5Bp1G8"
    [pageInfo] => stdClass Object
        (
            [totalResults] => 1
            [resultsPerPage] => 1
        )

    [items] => Array
        (
            [0] => stdClass Object
                (
                    [kind] => youtube#video
                    [etag] => "XI7nbFXulYBIpL0ayR_gDh3eu1k/4VEv7O0M0DyhqZy4Ylw7JfD_4Nk"
                    [id] => bfNXb6-fVaM
                    [snippet] => stdClass Object
                        (
                            [publishedAt] => 2017-02-14T17:13:42.000Z
                            [channelId] => UCY_jsmgpHvnYkvT5xTrEEJw
                            [title] => Mummy Birthday 2017
                            [description] => 
                            [thumbnails] => stdClass Object
                                (
                                    [default] => stdClass Object
                                        (
                                            [url] => https://i.ytimg.com/vi/bfNXb6-fVaM/default.jpg
                                            [width] => 120
                                            [height] => 90
                                        )

                                    [medium] => stdClass Object
                                        (
                                            [url] => https://i.ytimg.com/vi/bfNXb6-fVaM/mqdefault.jpg
                                            [width] => 320
                                            [height] => 180
                                        )

                                    [high] => stdClass Object
                                        (
                                            [url] => https://i.ytimg.com/vi/bfNXb6-fVaM/hqdefault.jpg
                                            [width] => 480
                                            [height] => 360
                                        )

                                )

                            [channelTitle] => Mohd Firdaus Mohd Rasidi
                            [categoryId] => 22
                            [liveBroadcastContent] => none
                            [localized] => stdClass Object
                                (
                                    [title] => Mummy Birthday 2017
                                    [description] => 
                                )

                            [defaultAudioLanguage] => ms
                        )

                    [contentDetails] => stdClass Object
                        (
                            [duration] => PT2M11S
                            [dimension] => 2d
                            [definition] => sd
                            [caption] => false
                            [licensedContent] => 
                            [projection] => rectangular
                        )

                    [statistics] => stdClass Object
                        (
                            [viewCount] => 463
                            [likeCount] => 3
                            [dislikeCount] => 0
                            [favoriteCount] => 0
                            [commentCount] => 0
                        )

                )

        )

)


Memandangkan ianya diconvert ke json, dan arraynya cuma satu data sahaja, tidak perlu guna foreach. Direct je panggil. Contoh.
<?php 
echo "<br>1.".$videoDetail->etag; //1."XI7nbFXulYBIpL0ayR_gDh3eu1k/PEcLptKFhu_YmtNgJBdRp5Bp1G8"
echo "<br>2.".$videoDetail->pageInfo->totalResults; //2.1
echo "<br>3.".$videoDetail->{'items'}[0]->{'statistics'}->{'viewCount'}; //3.463
?>


Code penuh.

<?php 
$API_key = 'AIzaScBb1zAdNEaqjDZ2GuiyEGy9ekXtG0q_WDm'; // <- key palsu sebagai contoh sahaja.

$videoDetail = json_decode(file_get_contents('https://www.googleapis.com/youtube/v3/videos?part=snippet%2CcontentDetails%2Cstatistics&id=bfNXb6-fVaM&key='.$API_key));

//print_r($videoDetail);

echo "<br>1.".$videoDetail->etag; //1."XI7nbFXulYBIpL0ayR_gDh3eu1k/PEcLptKFhu_YmtNgJBdRp5Bp1G8"
echo "<br>2.".$videoDetail->pageInfo->totalResults; //2.1
echo "<br>3.".$videoDetail->{'items'}[0]->{'statistics'}->{'viewCount'}; //3.463
echo "\n\n";

?>

Manipulasi Data Pada Blok Array Yang Terpilih

Sunday, October 12, 2014

Kita ada beberapa blok data di dalam satu array, dan hanya beberapa blok terpilih sahaja yang kita mahu manipulasi.

Contoh, katakan di bawah ini ada 10 array yang menyimpan data pekerja. Data yang disimpan adalah, IC, Nama, Alamat, Notelefon, Umur, Bandar, Poskod, Negeri, Jawatan, dan kenderaan.

Terdapat dua (2) data yang hendak dimanipulasi/encrypt iaitu Nama, dan Notelefon.

array semuafield = {IC, Nama, Alamat, Notelefon, Umur, Bandar, Poskod, Negeri, Jawatan, kenderaan}
array selectfield = {Nama, Notelefon}

Contoh data:

 IC | Nama | Alamat | Notelefon | Umur | Bandar | Poskod | Negeri | Jawatan | kenderaan  
 9801 | Faaris | Taman PP | 123 | 27 | Puchong | 56000 | Selangor | CEO | Kereta  
 0102 | Saajidah | Taman PP | 456 | 24 | Puchong | 56000 | Selangor | COO | Kereta  

Nilai g = 10; //jumlah array untuk 'semuafield'
Nilai a = 2; //jumlah array untuk 'selectedfield'

* Sekadar nota (sila abaikan): Data ini diambil dari database postgres, dijalankan menggunakan C++. Data yang terhasil dan yang telah dimanipulasi, akan disimpan ke dalam file data.txt dalam bentuk csv format.

Di bawah adalah contoh source code asal.

 ofstream myfile ("data.txt", std::ios_base::app);  
 if (myfile.is_open())  
 {  
   d = 0;  
   result Rp( Z.exec( sqlp ));  
   for (result::const_iterator c = Rp.begin(); c !=Rp.end(); ++c, d++) {  
    int count;  
    for (int k=0; k < g; k++)  
    {  
     count=0;  
     for (int m=0; m < a; m++)  
     {  
       if (selectfield[m] == semuafield[k])  
        {  
         myfile << mimos_init(&chipper_mimos, c[semuafield[k]], cipher_id, key, 16);  
        } else {  
        myfile << c[semuafield[k]].as<string>();  
       }  
      }  
     if(k < (g-1))  
      {  
       myfile << ", ";  
      }  
    }  
    myfile << "\n";  
   }  
  myfile.close();  
  }  
  else cout << "Unable to open file";  


* Sekadar nota (sila abaikan):
if(k < (g-1)) { myfile << ", "; } dan "\n" untuk memenuhi format CSV file. Tanda koma (,) memisahkan antara blok data dan tanda \n untuk membina newline pada baris data baru.

Secara logik mudah, code ini tiada masalah kerana pada gelung pertama, for (k < g), kita sudah keluarkan semua data satu persatu. Kemudian, di dalamnya kita buat checking untuk 'selectedfield' pula. Lihat pada gelung for (m < a) yang berada di dalam gelung yang awal. Di dalam gelung (m < a) ini, kita akan buat checking, jika terjumpa data di dalam blok 'selectedfield', kita akan mula encryptkan data tersebut sebelum dimasukkan ke dalam file. Jika tidak, data akan dimasukkan terus ke dalam file tanpa apa-apa manipulasi.

    for (int k=0; k < g; k++)  
    {  
     count=0;  
     for (int m=0; m < a; m++)  
     {                        
       if (selectfield[m] == semuafield[k])  
        {  
         myfile << mimos_init(&chipper_mimos, c[semuafield[k]], cipher_id, key, 16);  
        } else {  
        myfile << c[semuafield[k]].as<string>();  
       }  
      }  
     if(k < (g-1))  
      {  
       myfile << ", ";  
      }  
    }  
    myfile << "\n";  

Tetapi, hasil yang kita dapat tidak menepati syarat. Datanya bertindih dan seolah-oleh encryption berjalan secara tidak konsisten

 9801, uYnudWRXUlhVbGhWYkdoVw==Faaris, Taman PP, 123+4RSU1UxVXhWWGhXV0doWA==, 27, Puchong, 56000, Selangor, CEO, Kereta  
 0102, +4RSU1UxVXhWWGhXV0doWA==Saajidah, Taman PP, 456+4RSU1UxVXhWWGhXV0doWA==, 24, Puchong, 56000, Selangor, COO, Kereta  


Jika diperhatikan, pada nilai yang dapat, ada data berulang. Contoh:

uYnudWRXUlhVbGhWYkdoVw==Faaris

uYnudWRXUlhVbGhWYkdoVw== adalah satu nilai. Faaris adalah satu nilai yang lain. Tetapi keduanya bercantum menjadi satu.

Ini kerana, nilai a=2, dan gelung pada a akan berjalan sebanyak 2 kali. Semakan kali pertama, ia memberi nilai uYnudWRXUlhVbGhWYkdoVw==, dan semakan kali kedua, diberi nilai Faaris.

Ini berlaku kerana selepas checking berlaku dan berjumpa dengan apa yang hendak di cari, gelung berjalan sekali lagi seperti biasa. Bagi mengatasi masalah ini, setiap kali gelung membuat semakan, gunakan fungsi break. Lihat kod di bawah (dengan beberapa perubahan berbanding kod di atas tadi.)

 if (myfile.is_open())  
 {  
   d = 0;  
   result Rp( Z.exec( sqlp ));  
   for (result::const_iterator c = Rp.begin(); c !=Rp.end(); ++c, d++) {  
    int count;  
    for (int k=0; k < g; k++)  
    {  
     count=0;  
     for (int m=0; m < a; m++)  
     {  
      if (c[semuafield[k]].size()==0)  
      {  
       myfile << "NULL";  
       break;  
      }  
       if (selectfield[m] == semuafield[k])  
        {  
         myfile << mimos_init(&chipper_mimos, c[semuafield[k]], cipher_id, key, 16);  
         break;  
        } else {  
        count++;  
        //myfile << c[semuafield[k]].as();  
        //break;  
       }  
        if (count == a)  
        myfile << c[semuafield[k]].as();  
      }  
     if(k < (g-1))  
      {  
       myfile << ", ";  
      }  
    }  
    myfile << "\n";  
   }  
  myfile.close();  
  }  
  else cout << "Unable to open file";  

Validate Checkbox

Friday, October 18, 2013

Sama seperti isu sebelum ini. Ini validate di mana user perlu pilih sekurang-kurangnya satu checkbox.

Masalah yang sama timbul. Jika satu sahaja data, array tidak berjalan. Jadi, check dahulu samada array cuma satu data sahaja atau lebih.


 <html>  
  <head>  
   <title>Mi-Scramble</title>  
 <SCRIPT LANGUAGE="JavaScript">  
 <!-- Begin  
 function validatePwd() {  
 if(document.getElementsByName('userassign[]').length == 1)  
 {  
  if(document.myForm.userassign.checked)  
  {  
   return true;  
  } else {  
   alert ("You must select minimum one user! ");  
   return false;  
  }  
 } else {  
  var flag = 0;  
  for (var i = 0; i< document.getElementsByName('userassign[]').length; i++) {  
  if(document.myForm["userassign[]"][i].checked){  
   flag ++;  
   }  
  }  
  if (flag < 1) {  
  alert ("You must select minimum one user!");  
   return false;  
  }  
  return true;  
  }  
 }  
 </script>  
 </head>  
 <body>  
 <form action="assignuserupd.php" method="post" name=myForm onSubmit="return validatePwd()">  
     <table class="responsive table table-striped">  
      <thead>  
      <tr>  
       <th style="">User Name</th>                
       <th>Action</th>  
      </tr>   
      </thead>  
      <tbody>  
 <?php   
 $sqlrtbl="SQL";  
 $resulrtbl=pg_query($sqlrtbl);  
 while($rowr = pg_fetch_assoc($resulrtbl))  
 {  
 ?>           
      <tr>  
       <td><?php echo $rowr['username']; ?></td>     
       <td>  
        <input type="checkbox" name="userassign[]" value="<?php echo $rowr['username']; ?>">  
       </td>  
      </tr>  
 <?php  
 }   
 ?>    
      <tr>  
       <td colspan="2" align="right">  
         <input type="submit" value="Submit" class="btn btn-primary">  
       </td>  
      </tr>   
     </tbody>  
     </table>  
 </form>  
  </body>  
 </html>  

Sourcecode for blogspot http://codeformatter.blogspot.com/

Validate Radio Button

Sekiranya cuma ada 1 sahaja radio button, array tak jalan. Tak boleh nak check guna kaedah array. Jadi, pisahkan. Jika jumpa satu, check seperti biasa, jika lebih, baru buat checking guna array.

if(document.getElementsByName('namatbl').length == 1){ }else { }

Dalam isu ni, user mesti pilih satu radio button.

 <html>  
  <head>  
   <title>Mi-Scramble</title>  
 <SCRIPT LANGUAGE="JavaScript">  
 <!-- Begin  
 function validatePwd() {  
 if(document.getElementsByName('namatbl').length == 1)  
 {  
  if(document.myForm.namatbl.checked)  
  {  
   return true;  
  } else {  
   alert ("You must select one table! ");  
   return false;  
  }  
 } else {  
  var flag = 0;                       
  for (var i = 0; i< document.myForm.namatbl.length; i++) {     
  if(document.myForm.namatbl[i].checked){  
   flag++;   
   }  
  }  
  if (flag < 1) {  
   alert ("You must select one table! ");  
   return false;  
  }  
  return true;  
  }  
 }  
 </script>  
 </head>  
 <body>  
 <form action="assignuserselect.php" method="post" name=myForm onSubmit="return validatePwd();">  
     <table class="responsive table table-striped">    
      <tr>  
       <th>Server</th>   
       <th>Database</th>  
       <th>Table</th>  
       <th>Action</th>       
      </tr>  
 <?php   
 $sqlrtbl="SQL";  
 $resulrtbl=pg_query($sqlrtbl);  
 while($rowr = pg_fetch_assoc($resulrtbl))  
 {  
 ?>   
      <tr>  
       <td><?php echo $rowr['server']; ?></td>   
       <td><?php echo $rowr['dbname']; ?></td>  
       <td><?php echo $rowr['dbtbl']; ?></td>  
       <td><input type="radio" name="namatbl" value="<?php echo $rowr['dbtbl']; ?>"></td>                
      </tr>    
 <?php  
 }  
 if(!$namatable)  
 {  
 ?>   
      <tr>  
       <td colspan="4"><font color="red"><center>No scrambled table from you.</center></font></td>              
      </tr>    
 <?php  
 }  
 ?>  
      <tr>  
       <td>&nbsp;</td>   
       <td>&nbsp;</td>  
       <td>&nbsp;</td>  
       <td>  
       <?php if($namatable) { ?>  
        <input class="btn btn-primary" type="submit" value="Submit">  
       <?php } ?>  
       </td>                
      </tr>    
     </table>  
 </form>  
  </body>  
 </html>  

Sourcecode for blogspot http://codeformatter.blogspot.com/

PHP Array Get Data using Post

Wednesday, May 13, 2009

Check page 1 dan page 2
1. page satu, buat form dan collect data masuk ke array
2. page dua, dapatkan data yang ada dalam page satu.


PHP Array Checkbox

Tuesday, December 23, 2008




function CheckAll(chk)
{
var chk = document.myform['check[]'];
for (var i = 0; i < chk.length; i++)
{ chk[i].checked = true ; }
}

function UnCheckAll(chk)
{
var chk = document.myform['check[]'];
for (i = 0; i < chk.length; i++)
{ chk[i].checked = false ; }
}

form name="myform"
while {
input type="checkbox" name="check[]" value="1"
}

input type="button" name="Check_All" value="Check All" onClick="CheckAll(document.myform.check)"

input type="button" name="Un_CheckAll" value="Uncheck All" onClick="UnCheckAll(document.myform.check)"

php array string

Monday, March 17, 2008

Senarai data yang ada



Nak panggil nanti senang. Cuma panggil nilai rujuk field log_position jer, dah dapat nilai dalam field log_status

PHP Checkbox Array

Tuesday, February 19, 2008

Untuk mendapatkan nilai yang ditick pada checkbox dalam form
------------------------



Array String and Select DB

Monday, February 04, 2008


* Select postgreSQL

// Contohnya kalau nak dapatkan email seseorang dari user input, code macam ini...


$username = $_POST['username'];

$email_user = $usr_mail["$username"];

// Kalau inputnya adalah MMD
// dia jadilah macam ni. $email_user = $usr_mail["MMD"];

echo "emailnya adalah ".$email_user; // emailnya adalah mmd@n.com.my

Dari DB ke Array ke dalam combobox

Thursday, January 24, 2008

Panggil data dan masukkan ke dalam array. Pastikan, sebelum coding, setkan nilai $i = 0

<?php
$i = 0;
$sql = "SQL Query....";
while {
 $ar_nama[$i] = $row['nama'];
 $i++;
}
?>
Masukkan data ke dalam HTML
<select name="new_name">
 <?php 
  for($j=0; $j < count($ar_nama); $j++) {
   echo "<option value='".$ar_nama[$j]."'>".$ar_nama[$j]."</option>\n";
  }
 ?>
</select>
Hasilnya,
<select name="new_name">
 <option value="Mohd Firdaus">Mohd Firdaus</option>
 <option value="Mohd Saffuan">Mohd Saffuan</option>
 <option value="Mohd Fazuan">Mohd Fazuan</option>
 <option value="Mohd Azuan">Mohd Azuan</option>
</select>

Array Basic

Wednesday, January 23, 2008

Katakan di dalam table, kita cuma simpan flag I, U dan D, yang memberitahu I tu INSERT, U UPDATE dan D adalah DELETE.

Untuk paparkan pada web, kita mahu nama penuh. Jadi, cipta array (diberi nama $aktiviti sebagai contoh) dan declare siap-siap nama penuh tu dalam array.

<?php 
$aktiviti = array("I"=>"INSERT", "U"=>"UPDATE", "D"=>"DELETE");
?>

Kemudian,
Query SQL untuk panggil data.
Field action adalah field yang simpan flag tersebut.
Masukkan nilai flag tadi ke dalam $akt
dan paparkan nama penuh dengan menggunakan array $aktiviti, dan value array adalah $akt.
<?php 
$sql = "SELECT id, data1, data2, action FROM nama_table";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
 //masukkan dalam $akt
 $akt = $row["action"];
 
 //paparkan
 echo $row["action"]." = ".$aktiviti["$akt"];
}
?>

Hasilnya,
I = INSERT 
I = INSERT 
D = DELETE 
I = INSERT
U = UPDATE 
U = UPDATE 
D = DELETE