sen sorgunda tek tırnak kullanıp $my_user_id
diye değişken kullanmaya çalışmışsın ama burada değişkenin değerini değil direk string olarak değişkenin adını bastırır :) O yüzden :par
kısmına yaptığın gibi bu değer içinde aynı şekilde tanımlaman lazım. Yani kısaca aşağıdaki gibi;
$sorgu = $db->prepare('SELECT * FROM tbl_dokuman WHERE
Status LIKE 1 and (FIND_IN_SET(:my_user_id, yetkililer) or (ilgilisi = :my_user_id)) and (CONCAT(`dokumanadi`, `aciklama`)) LIKE :par');
$sorgu->execute(array(
'my_user_id' => $my_user_id,
'par' => '%'.$search.'%'
));
Evet ne yazık ki doğrudan img etiketine before ve after kullanamazsın. En basit çözümü bir kapsayıcı içine alıp ona before ve after uygulamak. img içinde en uygun kapsayıcı <picture>
etiketidir muhtemelen. Yani;
<picture>
<img src="sample.png" alt="">
</picture>
<style>
picture::before {
content: 'Öncesi';
}
picture::after {
content: 'Sonrası';
}
</style>
Aslında mantık çok basit. Sen konunu ileri bir tarihe göre kaydettin diyelim. Örneğin 2 gün sonrasına.
Konuları listelerken şöyle bir koşulda listeleyeceksin.
$query = $db->query('SELECT * FROM posts WHERE date <= NOW()')->fetchAll(PDO::FETCH_ASSOC);
foreach ($query as $row){
// konularını listele
}
Bu sayede sadece şu an ki zamana eşit ya da öncesi tarihte ekli konular listelenir. Ve hiçbir işlem yapmadan, 2 gün sonra otomatik olarak eklediğin konuda gözükür :) Panelinde de listelerken eğer şu anki tarihten büyükse henüz yayınlanmadı gibi bir işaret koyarsın, böylece hiç uğraşmadan basitçe problemini çözmüş olursun.
basit bir regex işini çözer;
$metin = "418941232ALINACAK KISIM4509k2";
preg_match('@^[0-9]{9}(.*?)[0-9a-zA-Z]{6}$@i', $metin, $result);
echo $result[1];
mantık olarak kaç gün olduğunu bilmek yetiyor çünkü -1 diyerek kaç gece olduğu da çıkıyor. Örnek vermek gerekirse;
function dayCalculate($startDate, $endDate){
$start = strtotime($startDate);
$end = strtotime($endDate);
$days_between = ceil(abs($end - $start) / 86400);
return ($days_between - 1) . ' Gece ' . $days_between . ' Gün';
}
echo dayCalculate('2019-12-21', '2019-12-23');
Yani doğal olarak 0 gelir. Insert işlemi olduğunda lastId() değer döndürür, sen herhangi bir insert işlemi yapmıyorsun :)
JS kullanmana gerek yok, şöyle de yapabilirsin @alpsar4l örneğini;
<?php
$user_ip = $_SERVER['REMOTE_ADDR']; // localostta denersen ip adresi ::1 olarak çıktı verir o yüzden hiç bir sonuç elde edemezsin burada bir sunucuda denemeni tavsiye ederim.
$ipapi = json_decode(file_get_contents("http://ip-api.com/json/$user_ip"));
$c_code = strtoupper($ipapi->location->languages[0]->code);
$countries = [
'TR' => 'Türkiye',
'NL' => 'Hollanda',
'DE' => 'Almanya'
];
?>
<select id='liste'>
<?php foreach($countries as $key => $val): ?>
<option <?=$key == $c_code ? ' selected ' : null ?> value="<?=$key?>"><?=$val?></option>
<?php endforeach; ?>
</select>
Şöyle bir örnek verebilirim;
musteriler tablosu
musteri_id | musteri_adi |
---|---|
1 | Test #1 |
3 | Test #3 |
satislar tablosu
satis_id | satis_musteri_id |
---|---|
1 | 1 |
2 | 2 |
3 | 2 |
4 | 1 |
5 | 3 |
odemeler tablosu
odeme_id | odeme_satis_id | odeme_tutar |
---|---|---|
1 | 1 | 120 |
2 | 2 | 200 |
3 | 3 | 140 |
4 | 4 | 150 |
5 | 5 | 50 |
Bu tablolara göre 2 nolu müşteri silindi. Bir sorgu atarak müşteriler tablosunda bulunmayan satışları şöyle alabiliriz;
SELECT * FROM satislar
LEFT JOIN musteriler on musteriler.musteri_id = satislar.satis_musteri_id
WHERE musteri_id IS NULL
IS NULL
ile kontrol ediyoruz, zaten müşteriler tablosunda olmadığı için NULL dönecek, artık sen biliyorsun hangi satışlar müşterisi olmayanlara ait. Buna göre satışları ve satış id'lerine göre ödemelerini silebilirsin.
Kolay gelsin.
Şöyle denediniz mi;
<?php echo date('Y-m-d H:i:s', strtotime($row["tarih"])); ?>
şöyle yapabilirsin;
<?php
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
echo '<input type=\'hidden\' name=\'url\' value=\'' . explode('?', $actual_link)[0] . '\'>';
if (isset($_GET['utm_source'])){
echo '<input type=\'hidden\' name=\'utm_source\' value=\'' . $_GET['utm_source'] . '\'>';
}
if (isset($_GET['utm_medium'])){
echo '<input type=\'hidden\' name=\'utm_medium\' value=\'' . $_GET['utm_medium'] . '\'>';
}
?>