Archive

Posts Tagged ‘web’

Nested comments in PHP & MySQL

24 October 2013 Leave a comment

I searched through the forums but couldn’t get an authoritative answer. I want to implement a nested comment structure in a way like this:

<ul>
    <li>This is the parent first comment!
        <ul>
            <li>This is the reply for the first parent comment!
                <ul>
                    <li>This is a reply for the first reply of the parent comment!</li>
                    <li>This is a third reply for the first parent comment!</li>
                </ul>
            </li>
            <li>This is another reply for first parent comment!</li>
        </ul>
    </li>
    <li>This is gonna be parent second comment!
        <ul>
            <li>This is a reply for the second comment!</li>
        </ul>
    </li>
    <li>This is fourth parent comment!</li>
</ul>

The dump for my table is below:

+----+------------------------------------------------------------+--------+
| id | text                                                       | parent |
+----+------------------------------------------------------------+--------+
|  1 | This is the parent first comment!                          |      0 |
|  2 | This is gonna be parent second comment!                    |      0 |
|  3 | This is the reply for the first parent comment!            |      1 |
|  4 | This is another reply for first parent comment!            |      1 |
|  5 | This is a reply for the first reply of the parent comment! |      3 |
|  6 | This is a reply for the second comment!                    |      2 |
|  7 | This is a third reply for the first parent comment!        |      3 |
|  8 | This is fourth parent comment!                             |      0 |
+----+------------------------------------------------------------+--------+

I know how to use mysql_query() and while() loops. A beginner in PHP & MySQL. Please help me out.

ANSWER:

I had done something similar for my blogpost. Yet, I just tried out with the same data. When you saynested comments it is better you can use nested functions this way:

<?php
    mysql_connect('localhost', 'root');
    mysql_select_db('nestedcomments');
    function getComments($parent)
    {
        $res = mysql_query("SELECT * FROM `nestcomm` WHERE `parent` = $parent");
        if (mysql_num_rows($res))
        {
            echo "<ul>\n";
            while (($dat = mysql_fetch_array($res)) !== false)
                echo "<li>", $dat["text"], getComments($dat["id"]), "</li>\n";
            echo "</ul>\n";
        }
        else
            echo ($parent === 0) ? 'No Comments!' : "";
    }
    getComments(0);
?>

As I said before I have used nested functions, and as you asked the output is almost same (without the braces) this way:

<ul>
<li>This is the parent first comment!<ul>
<li>This is the reply for the first parent comment!<ul>
<li>This is a reply for the first reply of the parent comment!</li>
<li>This is a third reply for the first parent comment!</li>
</ul>
</li>
<li>This is another reply for first parent comment!</li>
</ul>
</li>
<li>This is gonna be parent second comment!<ul>
<li>This is a reply for the second comment!</li>
</ul>
</li>
<li>This is fourth parent comment!</li>
</ul>

Hope this helps out.

SOURCE

Advertisements

Memadukan JQuery Easy UI dan JqGrid

8 October 2012 61 comments

Sebenaranya baik Jquery Easy UI(selanjutnya JEasyUI) dan jqGrid sama2 bagus. keduanya sama2 plugin dari jquery.

Ada beberapa kelebihan dan kekurangan dari masing2 plugin tersebut, Yaitu:

1. Jqgrid lebih fokus ke grid nya saja atau tidak selengkap jEasyUI (Namanya juga JqGRID).

2. jEasyUI mempunyai sedikit pilihan theme(cuma punya 4 pilihan theme), sementara jqGrid punya banyak pilihan theme karena jqGrid mengambil theme bawaan dari Jquery UI.

Anda bisa melihat DEMO page dari JqGRID di http://trirand.com/blog/jqgrid/jqgrid.html

dan DEMO page dari JEasyUI di http://www.jeasyui.com/demo/index.php

Dan ini adalah hasil dari dari perpaduan antara JQuery Easy UI dan JqGRID

jqgrid jquery easy ui

jqgrid jquery easy ui

 

 

http://demo.warungkode.com/inventori/index.php

User:admin

Pass:admin

Silahkan dicaci maki…:D

Operasi Numerik & String di PHP

6 January 2011 2 comments

Pada  kesempatan  yang  lalu  sudah  dibahas  beragam tips operasi  string yang  dapat  Anda  lakukan  di PHP.  Selain memiliki  beragam  fungsi  untuk  melakukan  operasi  string.

PHP  juga memiliki  banyak  fungsi  untuk  melakukan  operasi angka. Mulai dari Ubah data dalam bentuk angka menjadi kalimat, konversi  angka  ke  bilangan  Romawi, dll.

Berikut  beberapa  contoh  penerapan  operasi  angka di  PHP.

1. Membuat  tabel perkalian.

Untuk  latihan awal bermain-main  dengan  pemrosesan  angka,  ketikan skrip multiply_table.php  ini  untuk membuat  tabel perkalian angka  5.


//  Membuat  Tabel  Perkalian
foreach  (range(1,  10)  as  $num)
{
echo "5 x  $num =  ".   (5  * $num);
}
?>

Hasilnya :
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
……….
……….
5 x 10 = 50

2. Mencari angka terbesar  dan terkecil.

Untuk mencari langka  paling kecil dan angka  paling besar  dari deretan  angka yang  tersedia, Anda  dapat menggunakan fungsi sort().

Sebagai  contoh,  ketikan skrip sortl.php di bawah ini untuk mencari angka  terkecil dan angka  terbesar.


//  defirisikan  kumpulan  angka
$series  =  array(76, 7348, 56,  2.6,  189,  67 .59,  17594, 2648,  1929.79,  54,  329,  820,  -1.10,  -1.101);
//  urulkan  array  angka
sort  ($series) ;
//  Ekstrak  nilai  maximum/mini.mum  value  dari  array  yang terurut
//  Hasil:  "Minimum is  -1.101"'
$min  =  $series[0];
echo "Angka Terkecil:  $min
";
//  Hasil: "Maximum is  17594"
$max  =  $series[sizeof  ($series)  -1] ;
echo "Angka Terbesar:  $max";
?>

Hasilnya :

Angka Terkecil : -1.101

Angka Terbesar : 17594

3. Mengolah Angka dengan beberapa bilangan desimal di belakang koma

Pada beberapa kasus anda mungkin menemukan kasus untuk memformat suatu angka yang memilki bilangan di belakang koma.

Dalam contoh di bawah ini, akan dikelola suatu angka yang diberikan dengan menggunakan tanda koma untukpenanda bilangan, dan hanya menggunakan 2 angka di belakang koma.

ketikkan skrip dibawah ini dengan nama number-format.php

<?php
//  mendefinisikan angka  yang  akan  diolah
$amount = 3957459.7398 ;
//  format  angka  dengan  tanda koma  dan  2  angka  desimaL dibelakang
//  Hasil: "3,957,459.74'
$formattedAmount = number_format($amount,  2);
echo  SformattedAmount;
?>

Hasilnya :

3,957,459.74

4. Konversi  angka  ke berbagai  basis  bilangan.

Pada  mata kuliah  sistem  digital, mungkin Anda pernah menemukan kondisi untuk merubah suatu angka  ke basis  bilangan lain, misal ke oktal atau hexadesimal.  Skrip converting_between_base.php  dibawah ini  dapat digunakan untuk merubah  suatu  bilangan  ke basis  bilangan  yang  lain.

//  mendefiflieikan  angka  yang  akan  digunakan
$num =  l00;
echo "Desimal: $num
",
//konverei  angka  ke  binari 1100100
$bin  =  decbin($num);
echo "Binary:  $bin  ";
//  konverei  angka  ke  oktal
//  Hasil: "Octal: 144";
$oct  =  decoct($num);
echo "Octal: $oct
";
//  konversi  angka  ke  hexadecimal
//  Hasil: "Hexadecimal: 64"
$hex  =  dechex($num);
echo "Hexadecimal: $hex
";
//  konversi  angka  ke  base  6
//  Hasil: "Base6: 244"
$base6 =  base_convert($num,  10,  6);
echo "Base6: $base6";
?>

Hasilnya :

Desimal : 100

Binary : 1100100

Octal: 144

Hexadecimal: 64

Base6 : 244

Disini saya akan berbagi untuk ebook yang membahas berbagai :

1. Operasi String

2. Opersi Angka/Numerik

SEMOGA BERMANFAAT

Kelemahan Social Bookmarker(StumbleUpon, Lintas Berita & Info Gue)

2 January 2011 2 comments

Hem.. awal tertarik ngeblog saya langsung tertarik mencari 1001 cara agar blog saya mendapatkan Top Rank atao banyak pengunjung.

Mulai dari mendaftarkan di beberapa search engine, social bookmarker, nebar link blog dan lain2.

Nah saya pun tertarik untuk mencoba memanfaatkan social bookmarker dan pilihan saya adalah StumbleUpon, Lintas Berita, Digg, Info Gue dan lain2. ternyata memang social bookmarker sangat bermanfaat buat blog saya. terbukti kunjungan perhari saja dari StumbleUpon minimal 5.

dan dari mengamatan dan pengalaman saya, semua social bookmarker di atas mempunyai kelemahan, yaitu :

TIDAK DAPAT MEMFILTER CONTENT/ISI DAN JUDUL BERITA YANG SAMA

artinya, jika saya memasukkan berita dengan judul dan isi yang sama mereke langsung meloloskannya. Aneh bukan..???

Tentu anda bisa menebak apa yang terjadi..

1. pembengkakan database

2. bisa dipakai untuk teknik agar berita selalu berada di paling atas

3. Repost adalah hal yang haram.hehehe 🙂

4. etc.

maka dari itu saya ingin portal2 penyedia layanan social bookmarker membenahi sistemnya…

atau anda tau sendiri akibatnya kan…

Ohya..saya punya metoda untuk filterisasi content berita tersebut, dan itu menjadi tugas kuliah saya

Best Regards

Download PHP Manual

2 January 2011 2 comments

Dalam membagun sistem yang berbasis web PHP adalah salah satu bahasa pemrograman yang sangat cocok dan populer saat ini.
PHP banyak memberikan kemudahan dalam hal fungsi-fungsi yang disediaakan.
Berdasarkan pengalaman pribadi, sebelum saya menekuni PHP di tahun 2008, saya belajar Delphi.
Dan saya merasakan perbedaan yang jauh antara Delphi dan PHP
Misalkan saya mau membuat program membalik kata “RAMOREEZ” menjadi “ZEEROMAR”,
di delphi kita membutuhkan beberapa script untuk itu, tapi di PHP kita bisa meggunakan fungsi strrev(), untuk mengenahuhi posisisi suatu karakter misalnya kita tinggal mengguakan fungsi strpos(), untuk mengurutkan string atau angka ada fungsi sort(), dll.

Selain itu PHP juga sudah mendukung OOP(Object Oriented Programming) dan yang paling penting di dalam PHP kita tidak perlu buang2 waktu coding kita hanya untuk mendeklarasikkan variable. Itulah sebagian kemudahan yang saya temukan di PHP setelah migrasi dari Delphi.
Masalah tampilan atau UI kita tidak perlu khwatir karna sekarang bnyak sekali framework2 yang bisa kita gunkan untuk mempercantik halaman web kita bahkan hingga menyerupai tampillan Desktop programming.
Selama saya belajar PHP, saya merasa sangat terbantu sekali oleh Manual PHP versi bahasa inggris. Mungkin ada pembaca yang mempunyai PHP Manual versi bahasa Indonesia bisa di Share disini.

Codingwear telah menyediakan php manual yang bahasa indonesia tapi sayangnya tidak mencakup isi semuanya dari php manual versi english (cuma sebagian).

Nah, saya rasa tidak ada alasan lagi anda tidak migrasi ke PHP. Now or Never!

Membuat Laporan(Report) dg FPDF, Html2FPDF & Html2PDF

29 December 2010 18 comments

Apa itu fpdf, html2fpdf & html2pdf?

Secara umum fpdf, html2fpdf, dan html2pdf adalah library dari PHP untuk membuat file PDF. hal ini sangat berguna jika kita membangun sistem reporting. PDF(Portable Document File) merupakan file yang bisa di baca di semua OS. jadi inilah alasannya kenapa memakai PDF untuk reporting.

Gak usah banyak cas-cis-cus langsung aja saya berikan contoh dari ke-3 library di atas.

1. FPDF


<?php
 include 'fpdf.php' ;
 mysql_connect('localhost','root','');
 mysql_select_db('dbrutan');
 $bulan = $_POST['bln'];
 $tahun = $_POST['thn'];
 $sql = "SELECT * FROM napi a JOIN dtpenghuni b ON a.id_penghuni = b.id_penghuni WHERE status = 'Bebas' AND EXTRACT(MONTH FROM tgl_bebas)= '$bulan' AND EXTRACT(YEAR FROM tgl_bebas)= '$tahun' ORDER BY id_napi DESC";

$qry=mysql_query($sql) or die (mysql_error());
 define('FPDF_FONTPATH','font/');

$pdf=new FPDF('L','mm','A4');
 $pdf->Open();
 $pdf->SetAutoPageBreak(false);
 $pdf->AddPage();
 $pdf->SetFont('Arial','B',12);
 $pdf->Cell(100,6,'KEMENTERIAN HUKUM DAN HAM RI',0,0,'C');
 $pdf->Ln();
 $pdf->Cell(100,6,'KANTOR WILAYAH JAWA TIMUR',0,0,'C');
 $pdf->Ln();
 $pdf->Cell(100,6,'RUMAH TAHANAN NEGARA BANGKALAN',0,0,'C');
 $pdf->Ln();
 $pdf->Cell(100,6,'JL. PERTEMPURAN NO.21 BANGKALAN',0,0,'C');
 $pdf->Ln();
 $pdf->Cell(100,6,'TELEPON : (031)3095014',0,0,'C');
 $pdf->Ln();
 $pdf->Text(160,25,'DAFTAR : Narapidana yang telah dilepaskan/dibebaskan',0);
 $pdf->Ln();
 $pdf->Text(181,31,"dari Rumah Tahanan Negara Bangkalan",0);
 $pdf->Ln();
 $bln = date("F", mktime(0, "$bulan"));
 $pdf->Text(181,37,"Dalam bulan $bln $tahun",0);

$y_axis_initial = 45;
 $pdf->SetFont('Arial','',10);
 $pdf->setFillColor(222,222,222);
 $pdf->SetY($y_axis_initial);
 $pdf->SetX(10);
 //Header tabel halaman 1
 $pdf->CELL(10,6,'NO',1,0,'C',1);
 $pdf->Cell(40,6,'NAMA',1,0,'C',1);
 $pdf->Cell(15,6,'GOL',1,0,'C',1);
 $pdf->Cell(15,6,'P/W',1,0,'C',1);
 $pdf->Cell(15,6,'UMUR',1,0,'C',1);
 $pdf->Cell(37,6,'PUTUSAN DARI',1,0,'C',1);
 $pdf->Cell(25,6,'PERKARA',1,0,'C',1);
 $pdf->Cell(30,6,'ASAL PENYIDIK',1,0,'C',1);
 $pdf->Cell(30,6,'TGL BEBAS',1,0,'C',1);
 $pdf->Cell(40,6,'ALAMAT',1,0,'C',1);
 $pdf->Cell(25,6,'KET PIDANA',1,0,'C',1);
 $pdf->Ln();
 $max=25;//max baris perhalaman
 $i=0;
 $no=0;
 $row_height = 6;//tinggi tiap2 cell/baris
 $y_axis = $y_axis + $row_height;
 $date = date("Y-m-d");

while($row = mysql_fetch_array($qry))
 {
 $no++;
 $selisih = strtotime($date) -  strtotime($row[tgl_lahir]);
 $umur = intval($selisih/(60*60*24)/365);
 if ($i == $max){               //jika $i=25 maka buat header baru seperti di atas
 $pdf->AddPage();
 $pdf->SetY(10);
 $pdf->SetX(10);
 $pdf->CELL(10,6,'NO',1,0,'C',1);
 $pdf->Cell(40,6,'NAMA',1,0,'C',1);
 $pdf->Cell(15,6,'GOL',1,0,'C',1);
 $pdf->Cell(15,6,'P/W',1,0,'C',1);
 $pdf->Cell(15,6,'UMUR',1,0,'C',1);
 $pdf->Cell(37,6,'PUTUSAN DARI',1,0,'C',1);
 $pdf->Cell(25,6,'PERKARA',1,0,'C',1);
 $pdf->Cell(30,6,'ASAL PENYIDIK',1,0,'C',1);
 $pdf->Cell(30,6,'TGL BEBAS',1,0,'C',1);
 $pdf->Cell(40,6,'ALAMAT',1,0,'C',1);
 $pdf->Cell(25,6,'KET PIDANA',1,0,'C',1);

$pdf->SetY(10);
 $pdf->SetX(25);
 $y_axis = $y_axis + $row_height;
 $i=0;
 $pdf->Ln();
 }
 //tampilkan data daari database
 $pdf->Cell(10,6,$no,1);
 $pdf->Cell(40,6,$row[nama],1);
 $pdf->Cell(15,6,$row[jenis_napi],1);
 $pdf->Cell(15,6,$row[jk],1);
 $pdf->Cell(15,6,$umur,1);
 $pdf->Cell(37,6,$row[srt_putusan],1);
 $pdf->Cell(25,6,$row[pasal],1);
 $pdf->Cell(30,6,$row[asal_penyidik],1);
 $pdf->Cell(30,6,$row[tgl_bebas],1);
 $pdf->Cell(40,6,$row[alamat],1);
 $pdf->Cell(25,6,'',1);
 $pdf->Ln();
 $i++;
 }

//buat footer
 $now = date("d F Y");
 $pdf->Ln(10);
 $pdf->SetFont('Arial','B',12);
 $pdf->Cell(400,6,"Bangkalan, Tgl  $now",0,0,'C');
 $pdf->Ln();
 $pdf->Cell(404,6,"Kepala Rutan Bangkalan",0,0,'C');
 $pdf->Ln(30);
 $pdf->SetFont('Arial','U',12);
 $pdf->Cell(404,6,"BAMBANG HARYANTO,Bc.IP.SH.M.Hum",0,0,'C');
 $pdf->Ln();
 $pdf->SetFont('Arial','',12);
 $pdf->Cell(404,6,"NIP. 19661018 1992 03 1001",0,0,'C');
 $pdf->Ln();
 $pdf->Output('Napi_bebas_'.date("F Y").'.pdf', 'I');
 ?>

Jika ada yang kurang atau menambahkan silahkan comment

Read more…

Praktikum Pemrograman Web Modul 10

28 December 2010 14 comments

Tugas Tambahan Prak. Pemrograman Web I Modul 10:

1. Buat Program dengan menggunakan PHP untuk membuat tabel,

inputan jumlah kolom, jumlah baris, dan warna background table;

2. Buat Program Login/Logout(Gunakan Session) dan setelah login maka tampil minimal 3 link untuk 3 halaman yang berbeda + link untuk logout

UPDATE:

Untuk tugas pendahuluan modul 10 anda bisa baca di http://blog.codingwear.com/panduanphp/

atau di Fungsi Tanggal dan Waktu (Date/Time

dan di Fungsi String PHP

dan untuk minggu depan praktikum tetap diadakan, hari dan jam menyusul.

Bagi yang kurang mengerti langsung komen

Best Regards

Categories: Pemrograman Web Tags: , , ,
%d bloggers like this: