[ask-php] Variable on Variable


Status
Not open for further replies.

anthoplara

Beginner 2.0
Aduh bingung ngasih Title thread'n :D

Gini loh bapak2,, saya penasaran dengan satu kasus yang saya bikin sendiri :D
Bisa ga sich di dalam variable terdapat variable lain.? (binun lagi nyari pertanyaan) :D

gini deh, misal:
PHP:
<?php
$var1 = "$inivar = 'isi variable';"; //variable $inivar di dalam cvariable $var1
echo "????"; //<== gmn cara'n biar bisa manggil variable $inivar
?>

Cukup bisa dimengerti ga.??

Makasih sebelumnya atas bantuannya :D
 

galuh82

Hosting Guru
Verified Provider
gini deh, misal:
PHP:
<?php
$var1 = "$inivar = 'isi variable';"; //variable $inivar di dalam cvariable $var1
echo "????"; //<== gmn cara'n biar bisa manggil variable $inivar
?>

Cukup bisa dimengerti ga.??

knapa nggak dipisah saja $var1 dan $inivar. karena kalo deklarasinya seperti itu isi $var1 akan berupa string "$inivar = 'isi variable';" dan $inivar bukan sebuah deklarasi variabel karena didalam ""

mending ceritain aja contoh kasusnya biar bisa dikomentari lebih terarah lagi heee

salam,
 

anthoplara

Beginner 2.0
OK :D

Saya ingin membuat sebuah query yang bisa di custom tanpa masuk page source, cukup nyediain edit query yang ngupdate db. misal:

PHP:
$query="SELECT * FROM ants_apps WHERE app_id = 1";
$hasil=mysql_query($query);
$query_saved=mysql_fetch_array($hasil);
	$test = $query_saved['app_information']; //row berisi SELECT * FROM ants_apps WHERE app_id = '".$no_id."'

selanjutnya akan dibuatkan sebuah query dari hasil pengambilan diatas
$no_id = 1;
$query2="$test";
Nah gtu Om,, tapi dalam kasus ini, query 2 ga bisa nampilin data hasil querynya... gmn coba.??

Ato gini,, kasus yg simple dan ga jauh beda sama kasus diatas,,
PHP:
$var1 = '$inivar'; //sebuah variable didalam variable
$inivar = "test";
echo "$var1"; //disini pengen muncul "test"
 

dpnux

Expert 1.0
PHP:
<?php 
$var1 = "\$inivar = 'isi variable';"; //variable $inivar di dalam cvariable $var1 
eval($var1);
echo $inivar;

hehe :)
 

galuh82

Hosting Guru
Verified Provider
$query2 tidak menjalankan query. jadi yang muncul isi dari field 'app_information' pada tabel ants_apps

$var1 = '$inivar'; //sebuah variable didalam variable
$inivar = "test";
echo "$var1"; //disini pengen muncul "test"

code dibaca dari atas ke bawah, jadi dengan kondisi diatas isi $var1 itu kosong karena inisialisasi $inivar dilakukan setelahnya.
 

galuh82

Hosting Guru
Verified Provider
PHP:
<?php 
$var1 = "\$inivar = 'isi variable';"; //variable $inivar di dalam cvariable $var1 
eval($var1);
echo $inivar;

hehe :)

yup, kalo pake eval() baru bisa heee ... dengan catatan $var1 dikasih "\" sebelum variabel :) seperti yang diinfokan dpnux
 

anthoplara

Beginner 2.0
PHP:
$var1 = '$inivar = "isi variable";'; //variable $inivar di dalam cvariable $var1 
eval($var1);
echo $inivar;
ini juga bisa tanpa "\"

yang masih jadi masalah, penerapan eval ke query,,, silahklan,, selagi saya belum bisa, kalo ada yg mw bantu :D
 

maseko

Apprentice 1.0
OK :D

Saya ingin membuat sebuah query yang bisa di custom tanpa masuk page source, cukup nyediain edit query yang ngupdate db. misal:

PHP:
$query="SELECT * FROM ants_apps WHERE app_id = 1";
$hasil=mysql_query($query);
$query_saved=mysql_fetch_array($hasil);
	$test = $query_saved['app_information']; //row berisi SELECT * FROM ants_apps WHERE app_id = '".$no_id."'

selanjutnya akan dibuatkan sebuah query dari hasil pengambilan diatas
$no_id = 1;
$query2="$test";
Nah gtu Om,, tapi dalam kasus ini, query 2 ga bisa nampilin data hasil querynya... gmn coba.??

Ya khan query2 belum dieksekusi :) bukan begitu? query2 saat itu hanyalah variable yang berisi string saja. CMIIW
 

anthoplara

Beginner 2.0
Saya sudah menemukan jawaban'n,, :) makasih atas smua bantuan'n :D

Ini yg saya cari,, agak njlimet c, tapi sementara mungkin yg saya bisa cuman nyampe sini. :D
Code:
CREATE TABLE `ants_apps` (
  `app_id` mediumint(8) NOT NULL auto_increment,
  `app_name` varchar(50) NOT NULL,
  `app_since` int(11) NOT NULL,
  `app_information` text NOT NULL,
  PRIMARY KEY  (`app_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

INSERT INTO `ants_apps` (`app_id`, `app_name`, `app_since`, `app_information`) VALUES 
(1, 'Berhasil kah.??', 2010, 'SELECT * FROM ants_apps WHERE app_id = :numb');
PHP:
$query="SELECT * FROM ants_apps WHERE app_id = 1";
$hasil=mysql_query($query);
$query_saved=mysql_fetch_array($hasil);
	$no_id = 1;
	$get_query = $query_saved['app_information'];
	$get_query = str_replace(':numb', "$no_id", $get_query);
	$diakalan = '$evaleun_query = "$get_query";';
	eval($diakalan);

$query2 = "$evaleun_query";
$hasil2=mysql_query($query2);
$query_saved2=mysql_fetch_array($hasil2);
	echo $query_saved2['app_name'];

Saya tunggu koreksian'n,,
 
Status
Not open for further replies.

Top