Kimin elemanları bir veritabanından php tarafından getirilen bir javascript dizi oluşturmak zorunda. Bu mümkün mü? Eğer öyleyse, nasıl?
(I dont want to use ajax to do that)
Bir dizideki değerleri toplamak ve JSON dönüştürmek json_encode
a>:
$array = array();
while ($row = mysql_fetch_assoc($result)) {
$array[] = $row['key'];
}
echo 'var array = '.json_encode($array).';';
Cevap 1: Evet, bu yapılabilir.
2 Cevap: İşte nasıl:
$js_array = "[";
$result = mysql_query("some query of yours");
while( $row=mysql_fetch_array($result, MYSQL_NUM) ) {
$js_array .= $row[0]; // assuming you just want the first field
// of each row in the array
$js_array .= ",";
}
$js_array{ strlen($js_array)-1 } = ']';
echo "var db_array = $js_array ;";
Şerefe!
Bir dizi oluşturma basit, veritabanı içerikleri üzerinde döngü yapabilirsem:
echo "var myArray = [";
Burada dizi döngü ve değerleri ayırmak için virgül ekleyin.
echo "];";
Sizin myArray değişken istemci tarafında satışa sunulacak. Bu gibi görünmelidir:
var myArray = [1, 3, 2, 4];
Aşağıdaki gibi alternatif ve döngü tabanlı dize birleştirme nedeniyle fazladan bir virgül önlemek için, istemci değişkeni yazabilirsiniz:
echo "var myArray = [];"
... Ve her veri satırı için aşağıdakileri yapın:
echo "myArray.push($db_data);"
Önceki yaklaşım olarak oldukça temiz değil ama bu, etkilidir. Aşağıdakine benzer bir kod ile sona erecek:
var myArray = [];
myArray.push(3);
myArray.push(5);
myArray.push(1);
alert(myArray); // will display "3, 5, 1"
PHP ile çok aşina olmak, ama bu herhangi bir sunucu tarafı dili ile yapılabilir bir şey değildir için özür dilerim.