[tanya] cara bikin form submit


Status
Not open for further replies.

Fadli

Poster 2.0
saya langsung terapkan koding yang terakhir:
Code:
<table cellpadding="0" cellspacing="0" border="0">
<?php 

$dirpath = './images';
if($dir = opendir($dirpath))
{
  [COLOR="Red"][B]$arr_sort = array();[/B][/COLOR]
  while(false !== ($file = readdir($dir)))
  {
    if($file != '.' AND $file != '..' AND stripos($file, "-1") === false)
    {
      if( ! is_dir("$dirpath/$file"))
      {
        $file = basename($file, '.jpg');
        array_push($arr_sort, $file);

      }
    }
  }
  sort($arr_sort, SORT_NUMERIC);
  
  $checked = "";
  for ($i=0; $i<sizeof($arr_sort); $i++) {
    if($i<1) $checked = 'checked="checked"'; else $checked = '';
    echo '<tr>
            <td><img src="'.$dirpath.'/'.$file.'.jpg" /></td>
            <td width="10px"><input type="radio" name="images" value="'.$file.'" '. $checked .' /></td>
          </tr>';
  }
  

  closedir($dir);
}
?>
</table>

untuk checked, sudah OK. tapi kok malah ga muncul ya mas gambarnya? saya lihat di source-codenya jadi begini:
Code:
<td><img src="./images[COLOR="Red"]/.gif[/COLOR]" /></td>
            <td width="10px"><input type="radio" name="images" [COLOR="Red"]value=""[/COLOR] checked="checked" /></td>

artinya, dia ga mau manggil $file

dan maksudnya menampung file itu apa pada bagian:
$arr_sort = array();
saya isikan semua nama-nama filenya seperti ini mas?
$arr_sort = array('1mr.jpg','1mr-1.jpg','2mr.jpg','2mr-1.jpg','3mr.jpg'); dan seterusnya...
tapi ternyata tetep aja gambarnya ga bisa muncul tuh..?
dan kalau memang harus mengisikan nama2nya disana, berarti kan setiap kali ada file baru, saya harus input juga ya nama filenya disitu? hehe..padahal maksud saya pake readdir() itu untuk cari jalan yang lebih efisien dengan tidak perlu menginput lagi secara manual soalnya kalo gambarnya udah ratusan kan ribet juga :D

sorry ya mas banyak nyita waktunya...
 

perdhanahost

Hosting Guru
Heheheh... mas Fadli terlalu percaya sama saya sih.. Itu script saya kayaknya ada yang salah deh..

Coba gini... code yang diwarnai merah itu...

Code:
value = "'. $file .'"

ganti jadi...

Code:
value = "'. $arr_sort[$i] .'"
 

Fadli

Poster 2.0
lah...bisa kualat saya klo ga percaya sama yang ngasih ilmu hehe

sip, saya coba2 ganti pake:
- SORT_ASC => mengurutkan sesuai abjad dari bawah ke atas
- SORT_DESC => mengurutkan sesuai abjad dari atas ke bawah
- SORT_REGULAR => ga tau definisinya, tapi hasilnya seperti SORT_DESC
- SORT_NUMERIC => mengurutkan sesuai nomer dari atas ke bawah
- SORT_STRING. => ga tau juga definisinya, tapi hasilnya juga seperti SORT_DESC

tapi kok lucu ya waktu saya coba2 pake file2:
a1 a2 a3 a4 a5
b1 b2 b3
c1
d1 d2 d3 d4
dengan SORT_NUMERIC hasilnya ada yang lompat2 :D

terus coba lagi pake file yg lebih besar:
a1 s.d a25
b1 s.d b10
c1 s.d c14
d1 s.d c7
dengan SORT_DESC / SORT_ASC hasilnya sama seperti readdir() tanpa sorting:
a1 a10 a11 a12 ... a19 a2 a20 a21 ...
b1 b10 b2 b3 b4 b5 b6 b7 b8 b9

dst... artinya dia baca angka 10 itu dalam urutan angka 1, bukan urutan setelah angka 9 :D
jadinya kalau mau mengurutkan dengan benar, saya mesti kasih angka 0 di angka 1-9 :35:


hehe...ok deh, sampe sini dulu aja untuk pelajaran submit formnya. masih ada sih sebenernya satu trik lagi yang mau saya tanyain, tapi ga enak ah sama mas perdana kebanyakan nanyanya saya :D

saya cuma bisa mengucapkan banyak-banyak terima kasih untuk ilmunya mas, biar nanti Tuhan yang membalasnya dengan yang lebih baik... :63:
 

perdhanahost

Hosting Guru
lah...bisa kualat saya klo ga percaya sama yang ngasih ilmu hehe

sip, saya coba2 ganti pake:
- SORT_ASC => mengurutkan sesuai abjad dari bawah ke atas
- SORT_DESC => mengurutkan sesuai abjad dari atas ke bawah
- SORT_REGULAR => ga tau definisinya, tapi hasilnya seperti SORT_DESC
- SORT_NUMERIC => mengurutkan sesuai nomer dari atas ke bawah
- SORT_STRING. => ga tau juga definisinya, tapi hasilnya juga seperti SORT_DESC

tapi kok lucu ya waktu saya coba2 pake file2:
a1 a2 a3 a4 a5
b1 b2 b3
c1
d1 d2 d3 d4
dengan SORT_NUMERIC hasilnya ada yang lompat2 :D

Lho? Bukannya di pertanyaan sebelumnya, angkanya ada di depan huruf? Sebelumnya, bukannya nama-nama filenya 1a, 2a, 3a, dst..? Kalo format penulisan nama filenya diubah, jelas hasilnya akan berbeda.


terus coba lagi pake file yg lebih besar:
a1 s.d a25
b1 s.d b10
c1 s.d c14
d1 s.d c7
dengan SORT_DESC / SORT_ASC hasilnya sama seperti readdir() tanpa sorting:
a1 a10 a11 a12 ... a19 a2 a20 a21 ...
b1 b10 b2 b3 b4 b5 b6 b7 b8 b9

dst... artinya dia baca angka 10 itu dalam urutan angka 1, bukan urutan setelah angka 9 :D
jadinya kalau mau mengurutkan dengan benar, saya mesti kasih angka 0 di angka 1-9 :35:

Bener dong PHPnya? Kan ceritanya semua karakter di komputer itu dirubah ke binary sebelum diolah lebih lanjut oleh processor? Karena cuma bentuk binary yang komputer tau. Sekarang coba perhatikan data berikut ini.

Code:
a1  diterjemahkan ke binary menjadi 01100001 00110001
a10 diterjemahkan ke binary menjadi 01100001 00110001 00110000
a11 diterjemahkan ke binary menjadi 01100001 00110001 00110001

sementara,

a2 diterjemahkan ke binary menjadi 01100001 00110010

Nah, dari situ, kelihatan kan bahwa a2 memang seharusnya ada di bawah a11. Atau bahkan sudah seharusnya ada dibawah a100.

Btw, Amiin untuk do'anya. Semoga ilmunya bermanfaat. Jangan lupa diteruskan ke yang lain yah?
 

Fadli

Poster 2.0
iya mas, emang itu diluar dari konteks pertanyaan sebelumnya. cuma saya penasaran aja pengen nyoba utak-atik biar dapet ilmu yang lainnya (modal nekat) :D


klo masnya masih sanggup, ayok lah jelasin kalo pake variabel file a1-a100 itu cara sortingnya gmn :105:


:77: :4:

siap untuk nularin ke yang lain, biar pahalanya berlipat2 :o
 

perdhanahost

Hosting Guru
iya mas, emang itu diluar dari konteks pertanyaan sebelumnya. cuma saya penasaran aja pengen nyoba utak-atik biar dapet ilmu yang lainnya (modal nekat) :D

Wah, Bonek.. Mas Fadli orang Surabaya yah? :D


klo masnya masih sanggup, ayok lah jelasin kalo pake variabel file a1-a100 itu cara sortingnya gmn :105:

Ya itu. Kayak yang saya jelaskan di posting sebelumnya. Semua nama file dirubah ke bentuk biner/binary. Lalu di sorting. Contoh aja, kita punya a1, a4, a9, a13, a43, a78, a81, dan a100. Maka langkahnya adalah:

1. Rubah semua nama file jadi biner dulu

Code:
a1   = 01100001 00110001
a4   = 01100001 00110100 
a9   = 01100001 00111001 
a13  = 01100001 00110001 00110011 
a43  = 01100001 00110100 00110011 
a78  = 01100001 00110111 00111000 
a81  = 01100001 00111000 00110001 
a100 = 01100001 00110001 00110000 00110000

2. Sort

3. Hasilnya akan menjadi a1, a100, a13, a4, a43, a78, a81, a9

Aneh? Kita ambil satu contoh. Misalnya a9 dan a13. Kenapa a9 ada di bawah a13, padahal a13 lebih gede nilainya?

Bit-bit a9 dan a13, sama sampai dengan bit ke-12. Yang berwarna merah berikut ini adalah bit-bit yang saya maksud.

Code:
a9   = [COLOR="Red"][B]01100001 0011[/B][/COLOR]1001 
a13  = [COLOR="Red"][B]01100001 0011[/B][/COLOR]0001 00110011

Nah, yang membuat a13 jadi ada di atas a9 adalah bit ke-13. Yang berwarna merah berikut ini adalah bit yang saya maksud.

Code:
a9   = 01100001 0011[COLOR="Red"][B]1[/B][/COLOR]001 
a13  = 01100001 0011[COLOR="Red"][B]0[/B][/COLOR]001 00110011

Nah, di antara 0 dan 1, 0 di dahulukan. Oleh karena itu a13 ada diurutan yang lebih atas dibanding a9. Begitu juga yang terjadi dengan file-file yang lain.

Semoga bisa menjelaskan. :)
 

Fadli

Poster 2.0
ah pusing saya mas soal biner2an wuehehehe...
saya baru bisa belajar langsung dari contoh penerapannya, blm bisa kalo suruh nulis sendiri dari awal :D

anyway, thanks again yah!
 

perdhanahost

Hosting Guru
Okelah kalo begitu. Semangat terus belajarnya yah?

Jangan lupa bantu sebar2in ilmunya. :)
 
Status
Not open for further replies.

Top