Blog gw

Archive for the ‘php’ Category

Melakukan penambahan elemen pada XML dengan PHP

Posted by dillah2008 on May 5, 2009

Kadang kita menghadapi masalah untuk menambahkan elemen data pada XML, pertama kali terpikir oleh gw adalah dengan menambahkan secara keseluruhan elemen datanya dengan cara menghapus semua dan kemudian membuat data barunya…tapi sepertinya cara ini kurang baik, dan setelah googling sana sini maka gw dapatkan info bahwa ada fasilitas di PHP untuk menambahkan elemen data.

Semisal ada sebuah file XML yang berisi seperti ini :

<?xml version=”1.0″ encoding=”UTF-8″?>
<root>
<candidate>
<candidatename>Robert</candidatename>
<candidatecity>New York</candidatecity>
<SSN>20072007</SSN>
<organization>XYZ Corp</organization>
<candidatedesignation>sapi</candidatedesignation>
</candidate>
<candidate>
<candidatename>Robert</candidatename>
<candidatecity>New York</candidatecity>
<SSN>20072007</SSN>
<organization>XYZ Corp</organization>
<candidatedesignation>babi</candidatedesignation></candidate>
</root>

Kemudian kita perlu menambahkan elemen data baru tepat dibawahnya, maka source php nya adalah sebagai berikut :

<?php

$xdoc = new DomDocument;
$xdoc->Load(‘candidate.xml’);
$candidate = $xdoc->getElementsByTagName(‘root’)->item(0);
$newElement = $xdoc ->createElement(“candidate”);
$newElement = $candidate -> appendChild($newElement);
$newElement->setAttribute(‘id’, 6);

$occ = $xdoc->createElement(‘ID’);
$occ = $newElement->appendChild($occ);

$value = $xdoc->createTextNode(‘52′);
$value = $occ->appendChild($value);
//$newElement->appendChild($xdoc->createTextNode(‘monyet’));

$test = $xdoc->save(“candidate.xml”);
echo “<B>New Element Created<B>”
?>

Maka XML nya akan menjadi seperti ini :

<?xml version=”1.0″ encoding=”UTF-8″?>
<root>
<candidate>
<candidatename>Robert</candidatename>
<candidatecity>New York</candidatecity>
<SSN>20072007</SSN>
<organization>XYZ Corp</organization>
<candidatedesignation>sapi</candidatedesignation>
</candidate>
<candidate>
<candidatename>Robert</candidatename>
<candidatecity>New York</candidatecity>
<SSN>20072007</SSN>
<organization>XYZ Corp</organization>
<candidatedesignation>babi</candidatedesignation></candidate>
<candidate id=”6″><ID>52</ID></candidate>
</root>

Semoga Bermanfaat….

Posted in PHP & perniknya, php | Tagged: , , | Leave a Comment »

Query XML dengan Xpath

Posted by dillah2008 on May 1, 2009

Kadang kala kita mengakali suatu masalah, saat ini masalah gw adalah gw tidak boleh menggunakan DB untuk mengambil data. Alternatif yang kemudian gw coba adalah dengan menggunakan XML, namun yang perlu diperhatikan adalah bagaimana caranya agar data di XML tersebut bisa di query layaknya seperti di DB. Setelah mencari kesana kesini akhirnya gw mendapatkan panduannya

<?xml version=”1.0″ encoding=”UTF-8″?>
<ROOT>
<MESSAGE id=”1″>
<USER>King</USER>
<TIME>2009-05-01 15:45:03</TIME>
<CONTENT>Halo…</CONTENT>
</MESSAGE>
<MESSAGE id=”2″>
<USER>Queen</USER>
<TIME>2009-05-01 15:45:05</TIME>
<CONTENT>Halo Juga…</CONTENT>
</MESSAGE>
<MESSAGE id=”3″>
<USER>King</USER>
<TIME>2009-05-01 15:45:15</TIME>
<CONTENT>Asl pls….</CONTENT>
</MESSAGE>
</ROOT>

Diatas adalah file XML (message.xml) yang akan dipergunakan sebagai data

<?php
//File: XPath.php

$dom = new DomDocument();
$dom->preserveWhiteSpace = false;
$dom->load(‘message.xml’);

$xpath = new DOMXPath($dom);
$query = “//MESSAGE[@id >= '1']/CONTENT”;
$emps = $xpath->query($query);
print ‘<font face=”Arial”>’;
print ‘<h3>Message</h3>’;
print ‘<table border=”1″ cellpadding=”5″><p>’;
print ‘<th>User</th><th>Time</th><th>Conten</th><p>’;
foreach ($emps as $emp) {
print ‘<tr><td>’.$emp->previousSibling->previousSibling->nodeValue.’</td><p>’;
print ‘<td>’.$emp->previousSibling->nodeValue.’</td><p>’;
print ‘<td>’.$emp->nodeValue.’</td></tr><p>’;
}
print ‘</table>’;
print ‘</font>’;
?>

Diatas adalah potongan program untuk mengambilnya

Semoga Bermanfaat :)

PS: source yang cukup bermanfaat didapatkan dari sini dan sini(contoh buat chat di PHP)

Posted in PHP & perniknya, php | Tagged: , , , | Leave a Comment »

generate XML file with PHP5

Posted by dillah2008 on April 3, 2009

Sepertinya bakalan menggunaka XML nih, makanya sebagai persiapan gw coba men-generate XML dengan menggunakan PHP. Dikarenakan mulai dari PHP5 sudah mendukung XML, jadi sudah tidak perlu susah2 lagi untuk mem-parsing. Ini contoh sederhananya :

Read the rest of this entry »

Posted in PHP & perniknya, knowledge, php | Tagged: , | Leave a Comment »

Penjelasan fungsi array_splice() di PHP

Posted by dillah2008 on March 4, 2009

Kemarin ada teman kantor yang tanya2 mengenai pemecahan suatu masalah jika dengan menggunakan tools PHP, Hmmmm…sebenernya males juga sih mikirinnya karena kayaknya permasalahannya kok seakan-akan dibuat ribet :D , namun akhirnya didengerin juga dan mencoba mencari-cari fungsi PHP untuk menyelesaikan masalah tersebut.

Secara garis besar permasalahannya adalah bagaimana memasukan suatu elemen array baru dalam suatu variable array yang telah ada. Liat2 manual dapat fungsi array_splice() yang mungkin bs membantu. Masalah kemudian yang muncul adalah bagaimana penjelasan menggunakannya…heheehhe, agak sulit memahami fungsi ini jika hanya membaca sekilas, mungkin karena kemampuan inggris yang ngepas dan juga rada LOLA :p .

Setelah membaca berulang kali akhirnya gw mendapatkan beberapa kesimpulan mengenai parameter yang dipergunakan, kesimpulan yang gw dapat antara lain sebagai berikut :

  • Offset : jika variabel offset nya bernilai positif maka diambil elemen array sebanyak n (dimulai dari kanan, dan yang pertama dihitung 1 bukan 0), sedangkan jika variabel offset nya bernilai negatif maka sebanyak n elemen di hilangkan (dimulai dari kiri, dan yang pertama dihitung 1 bukan 0).
  • Length : jika variable length bernilai positif maka hapus sebanyak n elemen dihitung mulai dari setelah offset, sedangkan jika length nya bernilai negatif maka diambil elemen sebanyak n yang dimualai dari kanan ke kiri.

Catatan ini dibuat dengan harapan gw ga lupa lagi, dan kali saja dapat bermanfaat bagi orang lain :)

Posted in PHP & perniknya, php | Tagged: , , , , | Leave a Comment »

Backup DB di Postgre

Posted by dillah2008 on December 17, 2008

Disadur dari : http://www.cyberciti.biz/tips/howto-backup-postgresql-databases.html

Step # 1: Login as a pgsql user

Type the following command:
$ su - pgsql
Get list of database(s) to backup:
$ psql -l

Step # 2: Make a backup using pg_dump

Backup database using pg_dump command. pg_dump is a utility for backing up a PostgreSQL database. It dumps only one database at a time. General syntax:
pg_dump databasename > outputfile

Task: dump a payroll database

Type the following command
$ pg_dump payroll > payroll.dump.outTo restore a payroll database:
$ psql -d payroll -f payroll.dump.outOR$ createdb payroll
$ psql payroll
However, in real life you need to compress database:$ pg_dump payroll | gzip -c > payroll.dump.out.gzTo restore database use the following command:$ gunzip payroll.dump.out.gz
$ psql -d payroll -f payroll.dump.out

Here is a shell script for same task:

#!/bin/bash
DIR=/backup/psql
[ ! $DIR ] && mkdir -p $DIR || :
LIST=$(psql -l | awk '{ print $1}' | grep -vE '^-|^List|^Name|template[0|1]')
for d in $LIST
do
  pg_dump $d | gzip -c >  $DIR/$d.out.gz
done

Another option is use to pg_dumpall command. As a name suggest it dumps (backs up) each database, and preserves cluster-wide data such as users and groups. You can use it as follows:$ pg_dumpall > all.dbs.outOR$ pg_dumpall | gzip -c > all.dbs.out.gzTo restore backup use the following command:
$ psql -f all.dbs.out postgres

Posted in PHP & perniknya, php | Tagged: , , | Leave a Comment »