let testNames = [ {testName: 'test'}, {testName: 'test2'} ];
function createElement(testNames) {
const container = document.getElementById('container');
testNames.forEach(function(x){
let li;
li = document.createElement('li')
li.classList.add('li-item')
li.innerHTML += `<p>${x.testName}</p>`;
container.innerHTML(li)
})
}
testNames[0].testName = 'name changed';
createElement(testNames)
Ekrana yazdırmış olduğun değerleri tekrar güncellemen gerekiyor. Şimdi işlemi nasıl yaptırıyorsun bilmiyorum sadece dizi içindeki nesneyi değiştiriyorsan çalışmaz zaten.
Eğer tekrar foreach kullanıyorsan appendChild
kullandığın için üstüne ekleme yapar o yüzden innerHtml
kullanarak eski değerleri silmesini ve yeni değerleri yazmasını sağlarsın.
Uzman bir arkadaş farklı bir bakış açısı ile benden daha faydalı olabilir. Test edemediğim zaman kod hatası yapabailiyorum.
$table = [];
$bakiye = 0;
$id = 0;
while ($a = $harcamalar->fetch_array()) {
$id += 1;
$a["ID"] += $id;
$a["total"] = $a["quan"] * $a["price"];
$bakiye += $["total"];
$["bakiye"] = $bakiye; // ile
$table[] = $a;
}
function harcamalar($table, $n) {
if($n == "list") {
foreach ($table as $val) {
echo '<tr>
<th scope="row">'.$val["ID"].'</th>
<td>'.$val["name"].'</td>
<td>'.$val["quan"].'</td>
<td>'.$val["price"].'</td>
<td>'.$val["total"].'</td>
<td>'.$val["bakiye"].'</td> // Ben şimdilik buraya ekledim değerlendirmene göre tekrar düzenlerim.
</tr>';
}
} else {
// burasını tam anlayamadım bakiye bilgisini almaya çalışıyorsun sanki ama neden tablonun dışında?
}
}
harcamalar($table, "list")
Merhaba ben de bu konuda takılmıştım sanırsam güncelleme ile beraber şifrelemelerin yapılarında değişiklik olmuş.
Tayfun Hoca'nın videosunda kullandığı şifreleme algoritması AES-128-CBC
kullandığım zaman için Vector(iv)
uyarısı veriyor.
Daha önce veri şifreleme üzerine sorulan bir soruya verdiği cevapta AES-128-ECB
algoritmasını kullanmış.
Test ettim Vector(iv)
uyarıyısı gelmiyor.
Bilgilendirme için teşekkür ederim.
Teşekkür ederim Tayfun hocam sayenizde sorunu çözdüm.
function convertData($array) {
if (is_numeric($array)) return (float)$array;
return $value;
}
foreach ($faturalar as $key => $val)
{
$faturalar[$key]["toplam"] = convertData($faturalar[$key]["toplam"]);
$faturalar[$key]["odenecek"] = convertData($faturalar[$key]["odenecek"]);
$faturalar[$key]["vergi"] = convertData($faturalar[$key]["vergi"]);
$faturalar[$key]["oran"] = $faturalar[$key]["vergi"] * 100 /$faturalar[$key]["toplam"];
}
// var_dump($faturalar);
echo json_encode($faturalar);
Teşekkür ederim. tedious, mssql falan kullandığımda çözememiştim. Verdiğin bağlantıdan yola çıkarak driver konusunu afaştırdığımda aşağıdaki msnodesqlv8 modülünü buldum.
const sql = require("msnodesqlv8");
const connectionString = "Server=makine\\ZRVSQL2008;Database=zirvegenel;Uid=kullaniciadi;Pwd=sifre;Trusted_Connection=No;Driver={SQL Server Native Client 11.0}";
const query = "SELECT klavuz FROM FirmalarListesi where subeno = 1 and gmorid='G'";
sql.query(connectionString, query, (err, rows) => {
if (err){
console.log(err)
}
else{
console.log(rows);
}
});
Aşağıdaki gibi kullanınca çalıştı şimdilik sorun yok gibi :)
function tokenAl(tokenOpt) {
request(tokenOpt, function (error, response, body) {
if (error) throw new Error(error);
tokenId = JSON.parse(body).token;
for (let key in zaman[ay]) {
faturaTarihBas = yil + "-" + ay.toString().padStart(2, 0) + "-" + zaman[ay][key][0];
faturaTarihSon = yil + "-" + ay.toString().padStart(2, 0) + "-" + zaman[ay][key][1];
let jp = { faturaTarihBas: faturaTarihBas, textBox: "", faturaTarihSon: faturaTarihSon }
faturaSorgula(tokenId, jp)
setTimeout(function () {
if (key == Object.keys(zaman[ay]).length) {
oturumKapat(tokenId)
}
}, key * 300);
};
});
}
Merhaba cevabın için teşekkür ederim. Konuları araştıracağım. İşlemleri nodejs ile yapmaya çalışıyorum.
Ajax ile yaptığımda token bilgisi alırken aşağıdaki hatayı alınca.
Önce php curl denedim çalıştı. Fakat bana gereken javascript veya nodejs üzerinde çalışabilen olması.
Sonunda nodejs > request ile başarılı bir sorgu alabildim.
Access to XMLHttpRequest at 'postUrl' from origin 'http://localhost' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.