Anladığım kadarı ile zaten iki farklı tablon var. O hale yukarıda belirttiğim şekilde listeleme yapabilirsin.
Burada önemli olan iki farklı arasındaki tablolarda birbirine eşit olan değerlerin olması.
Attığın görsellerde gördüğüm kadarı ile albüm id ile resim id lerin birbirine eşit. Yukarıda belirttiğim şekilde listeleme
yaptığında sorun yaşamayacağını düşünüyorum.
Bunun için şehir isimleri ile resimleri ayrı tabloda tutabilirsin. Örnek olarak resimler ve isimler diye iki tablo oluştur.
Daha sonra isimler tablosundaki id ile resimler tablosundaki isim_id birbirine eşit olsun. Daha sonra önce isimler tablosundan veri çek
daha sonra isimler tablosundan gelen id yi resimler tablosundaki resim_id eşitleyerek çekebilirsin.
isimler tablosu
id | isim |
---|---|
11 | Adana |
12 | Rize |
resimler tablosu
id | isim_id | resim |
---|---|---|
1 | 11 | resim_url1 |
2 | 12 | resim_url2 |
$isimcek = $db->query("SELECT * FROM isimler);
foreach($isimcek as $isim)
{
$isimId = $isim['id'];
$isimcek = $db->query("SELECT * FROM resimler WHERE isim_id = $isimId);
}
Eğer resim ve isimleri bu şekilde iki ayrı tabloda yaparak çekerek yapabilirsin. Bu şekilde aynı isim altındaki resimleri aynı blok
altına yerleştirebilirsin.
Umarım açıklayıcı olmuştur.
Şimdiden kolay gelsin.
Selamlar
Öncelikle pdf dosyasını veri tabanına kayıt etme olayını anlamadım. Pdf bir dosyadır veri tabanında değil sunucu içerisinde tutulur.
Pdf dosyanı sunucu da tutarak ve dosya yolunu veri tabanına yazdırarak işlem yapabilirsin.
Öncelikle bunu neden yapmak istediğini söyleyebilir misin? Bunun için daha farklı bir yolda önerebiliriz sana.
Tayfun Erbilen'in yazdığı basicdb sınıfını kullanabilirsin. Ben bu sınıfı kullanıyorum.
BasicDB sınıfına bu link üzerinden ulaşabilirsin.
Kullanması basit ve anlaşılabilir.
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body><br><br>
<div class="container">
<form action="" method="post">
<div class="row">
<div class="col">
<input type="text" class="form-control" name="isim" placeholder="Isim" aria-label="Soy Isim">
</div>
<div class="col">
<input type="text" class="form-control" name="soyisim" placeholder="Soy Isim" aria-label="Soy Isim">
</div>
</div>
<div class="d-grid gap-2 col-12 mx-auto">
<button name="submit" class="btn btn-primary m-2 ">Ekle</button>
</div>
</form>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW"
crossorigin="anonymous"></script>
</body>
</html>
Öncelikle html kodun yukarıdaki gibi olması gerekiyor. form ile veri post edebilmen için
<form></form> etiketlerini kullanman lazım ayrıca girdiğin input değerlerine de name vermen
gerekiyor. Yukarıdaki kodu bu şekilde uyarladım.
<h2>BasicDB İle Veri Tabanına Gönderme</h2>
<?php
include 'basicdb.php'; // Basicdb sınıfını dosyamıza dahil ediyoruz.
// basicdb veri tabanı bağlantasısı
$db = new ErbilenDatabaseBasicDB('localhost', 'testdb', 'testuser', 'password');
if(isset($_POST['submit']))
{
// Burada formdan gelen veriyi post metodu ile alıyoruz.
$isim = $_POST['isim'];
$soyisim = $_POST['soyisim'];
// Daha sonra bunu bir array haline getiriyoruz.
$data = [
'isim' => $isim,
'soyisim' => $soyisim
];
$insert = $db->insert('table_name') // insert işlemi burada yapılıyor.
->set($data); // yukarıda oluşturduğumuz arrayi burada kullanıyoruz.
}
?>
İstersen bunu farklı bir dosya da yaparak <form action="islem.php" method="post"></form>
Bu şekilde veri tabanı bilgilerini ve tablo ismini girerek yapabilirsin.
$data = [
'isim' => $isim,
'soyisim' => $soyisim
];
burada bulunan 'isim' ve 'soyisim' veri tabanındaki sütun isimleri ile aynı olması gerekiyor.
Yazdığım kodu test etmedim. Ancak bu şekilde çalışması gerekiyor. Sende bu şekilde deneyebilirsin.
<?php
function getsData($params)
{
global $db;
$perma = $params['perm'];
$data = $db->query("SELECT * FROM testers WHERE Permalink = '{$perma}'",PDO::FETCH_ASSOC);
foreach ($data as $item) {
return $item['value'];
}
}
add_shortcode('giris','getsData');
?>
Bu şekilde değer alarak sorunu çözdüm. İstediğim değeri istediğim şekilde getirebiliyorum.
Wordpress standartlarına göre de aşağıda ki gibi kullanılıyor.
<?php
// [bartag foo="foo-value"]
function bartag_func( $atts ) {
$a = shortcode_atts( array(
'foo' => 'something',
'bar' => 'something else',
), $atts );
return "foo = {$a['foo']}";
}
add_shortcode( 'bartag', 'bartag_func' );
?>
Hocam çok basit blog sitesi yapabilirsin mesela. Mesela veri tabanına panel üzerinde kayıt ekleyebildiğin düzenleyebildiğin ve silebildiğin bir panel yapabilirsin. Daha sonra bunları web sitesine çekerek gösterebilirsin.
Burada üzerinde durman konu seflink yapısı seo dostu url ler yapabilirsin.
Tam olarak nasıl bir hata alıyorsunuz bilmiyorum ancak phpstorm üzerinde host ile bağlantı kurarken mapping kısmında aynı dosya yolu ile eşleştirmeniz gerekmektedir.
Merhaba, son güncellemeler ile birlikte maalesef instagram bu özelliği kapattı. İllegal instagram apiler ile login olarak fotoğrafları listeleyebilirsiniz.
erbilen.net üzerinde bununla ilgili bir makale olması gerekiyor. İlgili Makale