yazdıklarıma sadece kendini vermeni öneririm kardeşim
aradıklarında bundan pek farklı olmayacak.
3 4 tane tabloyu birbine bağlicaksan inner join kullanıp ve tablolarındaki sütünlar aynı isimlere sahiple
sql sorgusunda bunaların adlarını değiştirip sorun çıkmamasını sağlayabailirsin
ben yine sana yazim bir örnek inner join ile
$veri = $db->prepare("
SELECT
yazar.id as YazarID,
yazar.adi as YazarAdi,
konu.id as KonuID,
konu.adi as KonuAdi
FROM
yazar
INNER JOIN
konu
ON
yazar.id = konu.id
WHERE
yazar.adi LIKE (:yazaradi) OR
konu.adi LIKE (:konuadi)
ORDER BY yazar.id DESC LIMIT 5");
$veri->execute([
":yazaradi" => "%".$word."%",
":konuadi" => "%".$word."%"
]);
ne yaptık yazar ve konu tablolarını bir tabloymuş gibi sıraladık
ve aradığın kelime " ahmet " ise yazar tablosundaki adi sütünan bakar bulamaz ise konu tablosundaki adi sutununa bakar
bulursa yazdırırkenden
foreach($veri as $row){
if($row["YazarAdi"] == ""){ // yazar adı boş ise konuadini verir
echo $row["KonuAdi"]
}else{
echo $row["YazarAdi"] // yazadı adı boş değilse yazar adını verir
}
}
//bide seninkinden yola çıkalım
$sql = $connect->query("
SELECT * FROM
oyunlar
INNER JOIN
programlar
ON
oyunlar.id = programlar.id
WHERE
programlar.baslik LIKE '%".$word."%' or
programlar.aciklama LIKE '%".$word."%' or
programlar.etiket LIKE '%".$word."%' LIMIT 7");
//sanırım böyle yapsan olur alel acele bu kadar :)
bundan sonrasınıda kendine göre uyarlarsın artık herhalde :)
başkalarının yaptıklarını oku tabiki ama her zaman kendin tekrar ve tekrar yaz
yoksa sadece copy paste yaparsın ve hiç bir şey öğrenemezsin
kendi yazarak yaparsan keyif alarak yaparsın öğrendikçede hevesin artar.
kodlarında $ekle için herhangir bir işlem yaptırmamışsın ki
sadece değişkene sorguyu yazmışsın ama sorguyu çalıştırmamışsın
$ekle = connect->prepare("INSERT INTO genel SET baslik=?, aciklama=? ,adre=? s,logo=? ,etiket=? ");
$ekle->execute([$baslik, $aciklama, $adres, $logo, $etiket]);
if($ekle->rowCount() ){
echo "eklendi";
}else{
echo "eklenmedi";
}
kısacası bir elseif daha çekmen gerekiyor senin kodlarına göre yada son elseif den sonra bir else daha
yani 2 tur de yok sa else çalışıyor
yada 3. bir tür varsa elseif $ekle çalışır
benim sorunum cevabı verdiğin cevap uygun değil fakat
başka yerlerden de çekmek hatta boş değer halinde bir başka yerden çekmek
daha iyi olur
bende 4 farklı firmadan çekmeye karar verdim
boş geldikçe alta atlıyor
üstüne bide kişiye özel panel tarafına manuel güncelleme ekledim artık isteyen istediği gibi yapar :)
hatta belki birilerinin işine yarar diye sadece senin verdiğin linkten nasıl çekeceklerinin fonksiyonunu paylaşayım.
kendimce basit bir şekilde bu şekilde yaptım ekstra bişiler yapmak isteyenlerde
yapabilirler.
function CanliDoviz($deger){
$jsonVeri = file_get_contents("https://canlidoviz.com/doviz-kurlari.jsonld",true);
$veri = json_decode($jsonVeri,1);
$response = $veri["mainEntity"]["itemListElement"];
$birim = $response[$deger]["currency"];
$result = $response[$deger]["currentExchangeRate"]["price"];
return $result;
}
// kullanırken
echo CanliDoviz(0); //->Dolar
echo CanliDoviz(1); //->Euro
strtotime() fonksiyonu ile halledersin
oyunlar tablonda baslik var ise
programlar tablonda baslik var ise hata verir zaten.
hangi baslik a göre belirtmemişsin
select * yerine
select
programlar.id as Pid,
urunler.id as uid,
programlar.baslik as pbaslik,
urunler.baslik as ubaslik
vs gibi işlem yap
on don sonra baslik yerine pbaslik yada programlar.baslik kullan ki düzgün olsun
ayrıca
programlar.baslik like blablabla
or
urunlar.aciklama like blablabla
or
programlar.etiket like blablabla
or
urunler.etiket like blablala
gibi yap bence.
html şifrelenir kardeşim şifrelenmez değil de :)
dinamik tarafı nasıl şifrelenir onu merak ediyorum.
çıktı tarafı düz html de şifreli halde çıktı alabiliyoruz zaten
yanılmıyorsam tayfunerbileninde bununla ilgli bir makalesi vardı.
hatta js ile tüm html çıktısını kaynak görüntüle kısmından şifreleyen bir çok site de gördüm
öyle yapınca httrack vb yazılımlar ile site kopyasınıda alamıyorlar haliyle :)
sıkıştırma php tarafından html çıktıyı ob_start içinden sıkıştırıyourm ama istediğim o değil komple şifrelenmesi
orayı gören vazgeçmeli :)
teşekkürler kardeşim ilgin için ben halletmiştim unuttum buraya yazmayı
ilk yazdığın makaledeki işlemler doğru olan benim yaptığımda ona yakındı
valla google nin standartlarına uygun etiketler kullanmalısın bence.
misal dışarı bağlantı verirken target"_blank" kullanıyorken mesela
rel="noopener" kullanmak zorundasın
yine başka bir örnek
<a href"link"></a> bu şekilde kullanmayı google amca sevmiyor
böyle olması şart
<a href"link">selam dünya</a>
<a href"link" title="selam dünya"></a>
gibi gibi bir çok zımbırtısı var
bide son zamanlarda çok denk geldiğim <label></label> olayı var css ona uygun değilse işkence oluyor bana
input id değerleri ile label for değerlerinin aynı olması gerekiyor ve inputlarda label kullanmak gerekiyor.
bunun gibi bir çok detay var bence araştır ona göre işlemlerini yap.
self kullanıyorsun muhtelemen .php vs kullanmamışsın madem self link kullanıyorsun neden geti de oraya eklemedin :D
RewriteRule ^AnaSayfa/([0-9a-zA-Z-_]+)/$ seninphpdosyan.php?name=$1 [L,QSA]
### kullanırkende siteadresi.com/AnaSayfa/merhaba/
işim garip tarafına gelelim şimdi niye geçmediğini ben halletim bu arada.
session dan geçmiyor
sayfada sessionları görmüyordu
ama görmemesi içinde hiç bir sebep yok
o zaman silme işlemleri çalışmaz
fonksiyon dosyasını dahil ettim bütün işlemlerim ordan döndüğü için
sorun halloldu. fakat ben HALA O SESSION oraya neden girmediğini ve MADEM SİLME İŞLEMİNDE AYNI SORGU KÜMESİ ÇALIŞIYOR
NEDEN UPDATE KÜMESİNDE SESSSION U GÖRMÜYOR HADE GÖRMÜYON MUBAREK HATA VERSENE HATA KODLARINIDA KAPATARAK ÇALIŞAN BİRİ DEĞİLİM :)