buyur dostum
<table border="1">
<thead>
<tr>
<th>MODEL ADI</th>
<th>MALAFA</th>
<th>TEL ÖLÇÜSÜ</th>
<th>TEL GRAM</th>
<th>TEL ADET</th>
<th>DÖKÜM</th>
<th>DÖKÜM ADET</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2">
pc101
</td>
<td></td>
<td>130x130</td>
<td>90</td>
<td>220</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>200 TERS DOÇ</td>
<td>40</td>
<td>200</td>
<td></td>
<td></td>
</tr>
<tr>
<td>ADET</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td rowspan="2">
20
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
yapacağın şey $elemanlar
değişkeninde sanırım db'den kategorileri çekiyorsun, join ile urunler tablona bağlanacaksın, böylece sadece ürün olan kategorileri döndürecek join eşleşmesinden dolayı, fonksiyonda bir şey yapmaya gerek yok.
şöyle bir sorgu olabilir
select kategoriler.* from kategoriler
inner join urunler on urunler.kat_id = kategoriler.id
yani şöyle düşün, fonksiyonda parametre olarak geçtiğin elemanı değiştirmek istiyorsan ama onu geriye döndürmek yerine değerinin direk etkilenmesini istiyorsan kullanabilirsin, sonuçta fonksiyonun sadece onunla ilgili bir işlemi olmayabilir, ya da aldığın parametreye göre fonksiyon farklı bir işlem için değer döndürebilir ama alınan parametreninde bundan etkilenilmesi istenebilir.
kısaca referans aldığın değişkenin değerini etkiliyor bu şekilde kullanırsan, en basit örneği;
<?php
$text = 'hello';
function changeText(&$text) {
$text .= ' world';
}
changeText($text);
echo $text; // hello world
başka bir örnek
<?php
$numbers = [2, 3, 5];
function multiply(&$nums) {
$nums = array_reduce($nums, function($prev, $num) {
$prev[] = $num * 2;
return $prev;
}, []);
}
multiply($numbers);
print_r($numbers);
/*
Array
(
[0] => 4
[1] => 6
[2] => 10
)
*/
tabi bu olay sadece parametre geçmekle alakalı değil, örneğin şöyle kullanımlarıda var;
$text1 = 'hello';
$text2 = &$text1;
$text2 = 'deneme';
echo $text1;
$text2
oluşturulurken $text1
referansıyla oluşturuluyor, dolayısı ile $text2
değiştirince aslında referansı yani $text1
değişiyor. Bu tarz kullanımlara çok takılma, vakti gelirse zaten ihtiyacın olduğu bir noktada mutlaka kullanırsın :)
bunun için neden css kullanmıyorsun, özel bir sebebi mi var?
<div style="background: green"> ... </div>
ya da css değişkenleri;
<div class="content" style="--color: green"> .. </div>
<style>
.content {
background: var(--color, #000); /* 2. parametre fallback */
}
</style>
problem senden kaynaklı değil, genelpara.com'dan kaynaklı. client-side istekleri kabul etmediği için bu hatayı alıyorsun, yapabileceğin en mantıklı çözüm back-end tarafında bu isteği atıp client-side'a oradan dönmek.
corsanywhere gibi proxyleri kullanabilirsin ama production ürünü ise çok mantıklı değil haberin olsun :)
neden oluştururken direk ilgili klasöre oluşturmuyorsun? boşu boşuna rename()
ile uğraşmadan direk ilgili klasöre yol verip oluşturabilirsin.
$.player fonksiyonunu şöyle değiştir
$.player = function(ses='uyari.wav',tip='wav', callback) {
$('.player').html('<audio autoplay="autoplay"><source src="ses/'+ses+'" type="audio/'+tip+'" /></audio>');
$('.player audio')[0].on('ended', callback);
};
ve şöyle kullan;
$.player('open.mp3','mp3', function() {
window.location.href='./';
});
reverse engineering ile yapanlar var ama bu ileri seviye bilgi gerektiren bir konu, kolay yoldan yapabileceğin tek şey official whatsapp api'leri kullanmak ya da unofficial olanlara aylık ödeme yapıp kullanmak olur.
iframe içeriğine ulaşmak için jquery'de .contents()
metodunu kullanabilirsin ama güvenlikten dolayı büyük ihtimalle erişmen mümkün değil dolayısı ile istediğin şeyde bu aşamada pek mümkün görünmüyor :)
Çünkü iframe'i yeni bir url'le değiştirmek farklı şey, o çerçevenin içinden değer almak bambaşka. Eskiden tarayıcılar izin veriyordu ama artık muhtemelen vermiyordur.
Denemesi bedava tabi ki şu kodu deneyebilirsin
function switchVideo(videoId) {
$(".video-container iframe").attr('src', 'https://open.spotify.com/embed/episode/' + videoId + '?utm_source=generator');
$(".selected").removeClass('selected');
$("#vid-" + videoId).addClass('selected');
// iframe içinden <title> değerini almaya çalışır
const title = $(".video-container iframe").contents().find('title').html()
}
muhtemelen tarayıcı bunu neden yapamayacağını daha net söyleyecektir console'da.
sunucu ayarını yapman gerekiyor, apache kullanıyorsan bir .htaccess
dosyası oluştur proje dizininde içine şunu yaz
RewriteEngine On
RewriteRule ^(.*?)$ index.html [QSA]