Veritabanına şifreli olarak kaydedilmiş veriyi, veritabanından çekerken şifresi çözülmüş olarak çekmek gerekmiyor mu? Mantığını tam anlayamadım galiba?
Cevap veren yok galiba? :)
Grid'de de, flex'de de "justify-content" kullanılıyor diye. Fark eder mi acaba?
Tekrar merhaba. Arkadaşlar problemi biraz daha çözdüm gibi. Filtrelenen veri sayısı 3. Veri her sayfada 2 adet görünecek. Şu anda hem 1. sayfada hem de 2. sayfada 3 veri de listeleniyor. Aşağıdaki resim hem 1 sasyfada hem de 2. sayfada aynı. Kodlara ve resimlere bakabilir misiniz?
https://www.hizliresim.com/szfolhw
<div class="arama-alani-div">
<form action="arama.php" method="POST">
<input type="text" name="kelime" placeholder="Arama yap">
<input type="submit">
</form>
</div>
<?php
$ara = '';
if(!empty($_POST['kelime'])) {
$ara = $_POST['kelime'];
}
if(!empty($_GET['kelime'])) {
$ara = $_GET['kelime'];
}
if(!empty($ara))
{
$sayfalamasorgusu = "SELECT * FROM yaziekle WHERE yaziekle_baslik like '%$ara%'";
$sayfalamasorgu = $db->query($sayfalamasorgusu);
$sayfasay = $sayfalamasorgu->num_rows;
if($sayfasay > 0) {
$sayfa = @$_GET['sayfa'];
if((empty($sayfa)) or (!is_numeric($sayfa))) { $sayfa = 1; }
$kacar = 2;
$sayfasayisi = ceil($sayfasay/$kacar);
$neredenbaslasin = ($sayfa*$kacar)-$kacar;
$sorgusu = "SELECT * FROM yaziekle ORDER BY yaziekle_id DESC LIMIT $neredenbaslasin, $kacar";
$sorgu = $db->query($sorgusu);
foreach($sayfalamasorgu as $sorgu) {
?>
<div class="container-fluid">
<div class=icerikalani-div>
<div class="icerik-ic-alani">
<div class="resim-div">
<img src="images/eklenenyaziresimleri/<?php echo $sorgu['yaziekle_resim']; ?>">
</div>
<div class="baslik-ve-yazi-alani-kategori-ve-devaminioku">
<div class="yazi-alani-baslik">
<?php echo $sorgu['yaziekle_baslik']; ?>
</div>
<div class="yazi-alani-yazi">
<?php echo nl2br($sorgu['yaziekle_konu']); ?>
</div>
<div class="kategori-ve-devaminioku-alani">
<div class="yazi-alani-kategori">
<?php echo $sorgu['yaziekle_kategori']; ?>
</div>
<div class="yazi-alani-devaminioku">
<a href="devaminioku.php?devam=<?php echo $sorgu['yaziekle_id']; ?>">Devamını Oku</a>
</div>
</div>
</div>
</div>
</div>
</div>
<?php } ?>
<?php
for($i=1; $i<=$sayfasayisi; $i++)
{
echo "<a href='arama.php?sayfa={$i}&kelime=$ara'>{$i}</a>";
}
?>
<?php } else { echo "0"; } ?>
<?php } ?>
Ya çok bildiğimden değilde, geçen nerede gördüm, session verisini md5 ve rastgele seçilen anahtarlara bağlamışlar. Acaba bunun bir faydası olabilir mi acaba? Benimkisi fikir, ustalar bilir yine. :)
Arkadaşlar, arttığım kelime ile listeleme yaptım. Ve, mesela 3 adet sonuç çıktıysa ve sayfada 2 adet göster dediysem "1 2" diye sayılar çıkıyor ama bütün sonuçları 1. sayfada gösteriyor. 2. sayfa boş. Sorun çözülüyor gibi. Bir bakabilir misiniz?
<?php
if($_POST) {
$ara = $_POST['kelime'];
$sayfalamasorgusu = "SELECT * FROM yaziekle WHERE yaziekle_baslik like '%$ara%'";
$sayfalamasorgu = $db->query($sayfalamasorgusu);
$sayfasay = $sayfalamasorgu->num_rows;
if($sayfasay > 0) {
$sayfa = @$_GET['sayfa'];
if((empty($sayfa)) or (!is_numeric($sayfa))) { $sayfa = 1; }
$kacar = 2;
$sayfasayisi = ceil($sayfasay/$kacar);
$neredenbaslasin = ($sayfa*$kacar)-$kacar;
$sorgusu = "SELECT * FROM yaziekle ORDER BY yaziekle_id LIMIT $neredenbaslasin, $kacar";
$sorgu = $db->query($sorgusu);
foreach($sayfalamasorgu as $sorgu) {
?>
<div class=icerikalani-div>
<div class="icerik-ic-alani">
<div class="resim-div">
<img src="images/eklenenyaziresimleri/<?php echo $sorgu['yaziekle_resim']; ?>">
</div>
<div class="baslik-ve-yazi-alani-kategori-ve-devaminioku">
<div class="yazi-alani-baslik">
<?php echo $sorgu['yaziekle_baslik']; ?>
</div>
<div class="yazi-alani-yazi">
<?php echo nl2br($sorgu['yaziekle_konu']); ?>
</div>
<div class="kategori-ve-devaminioku-alani">
<div class="yazi-alani-kategori">
<?php echo $sorgu['yaziekle_kategori']; ?>
</div>
<div class="yazi-alani-devaminioku">
<a href="devaminioku.php?devam=<?php echo $sorgu['yaziekle_id']; ?>">Devamını Oku</a>
</div>
</div>
</div>
</div>
</div>
<?php } ?>
<?php
for($i=1; $i<=$sayfasayisi; $i++)
{
echo "<a href='arama.php?sayfa={$i}'>{$i}</a>";
}
?>
<?php } else { echo "0"; } ?>
<?php } ?>
Dediğinizi yaptım ama aynı hatayı alıyorum. Bu arada mütevazı davranıyorsunuz. Bence iyisiniz.
Sorgunun adını değiştirdim ama yine aynı hatayı veriyor.
Şimdi ilk olarak "index.php" sayfasında veriler listeleniyor ve sayfalama yapıyorum. "index.php" sayfasındaki arama alanına aratacağım kelimeyi yazıp arattığımda "arama.php" sayfasına gidiyor. Bu sayfada da veriler filtrelenip listeleniyor ama sayfalama da kullanmak istiyorum. Aslında işleri kolaylaştırdım biraz galiba. Kodları şu şekilde değiştirdim tekrar. Zahmet olacak tekrar bakmanız mümkün mü? Çok bir değişiklik yok.
arama.php
<?php
if($_POST) {
$ara = $_POST['kelime'];
$sayfalamasorgusu = "SELECT yaziekle_id, yaziekle_resim, yaziekle_baslik,
yaziekle_konu, yaziekle_kategori FROM yaziekle WHERE yaziekle_baslik like '%$ara%'";
$sayfalamasorgu = $db->query($sayfalamasorgusu);
?>
<?php
$sayfa = @$_GET['sayfa'];
if((empty($sayfa)) or (!is_numeric($sayfa))) {
$sayfa = 1;
}
$kacar = 3;
$sayfalamasorgusu = "SELECT yaziekle_id, yaziekle_resim, yaziekle_baslik,
yaziekle_konu, yaziekle_kategori FROM yaziekle";
$sayfalamasorgu = $db->query($sayfalamasorgusu);
$sayfalamasorgusay = $sayfalamasorgu->num_rows;
$sayfasayisi = ceil($sayfalamasorgusay/$kacar);
$neredenbaslasin = ($sayfa*$kacar)-$kacar;
$bulsorgusu = "SELECT * FROM $sayfalamasorgusu ORDER BY yaziekle_id DESC LIMIT $neredenbaslasin, $kacar";
$bulsorgu = $db->query($bulsorgusu);
foreach($bulsorgusu as $bul) {
?>
<div class=icerikalani-div>
<div class="icerik-ic-alani">
<div class="resim-div">
<img src="images/eklenenyaziresimleri/<?php echo $bul['yaziekle_resim']; ?>">
</div>
<div class="baslik-ve-yazi-alani-kategori-ve-devaminioku">
<div class="yazi-alani-baslik">
<?php echo $bul['yaziekle_baslik']; ?>
</div>
<div class="yazi-alani-yazi">
<?php echo nl2br($bul['yaziekle_konu']); ?>
</div>
<div class="kategori-ve-devaminioku-alani">
<div class="yazi-alani-kategori">
<?php echo $bul['yaziekle_kategori']; ?>
</div>
<div class="yazi-alani-devaminioku">
<a href="devaminioku.php?devam=<?php echo $bul['yaziekle_id']; ?>">Devamını Oku</a>
</div>
</div>
</div>
</div>
</div>
<?php } ?>
<?php
for($i=1; $i<=$sayfasayisi; $i++) {
echo "<a href='arama.php?sayfa={$i}'>{$i}</a>";
}
?>
<?php } ?>
Hata:
PHP Warning: Invalid argument supplied for foreach() in
Arkadaşlar acaba elinde site içi arama yaptıktan sonra listeleme yapabilen bir kod var mı elinizde? Kendi uğraştığım yerde nerede hata yapıyorum anlarım. Veya aşağıdaki kodlar bana şu hatayı veriyor?
Hata :
PHP Fatal error: Uncaught Error: Call to a member function fetch_array() on string in
index.php
<div class="arama-alani-div">
<form action="arama.php" method="POST">
<input type="text" name="kelime" placeholder="Arama yap">
<input type="submit">
</form>
</div>
arama.php
<?php
if($_POST) {
$ara = $_POST['kelime'];
$sayfalamasorgusu = "SELECT yaziekle_id, yaziekle_resim, yaziekle_baslik,
yaziekle_konu, yaziekle_kategori FROM yaziekle WHERE yaziekle_baslik like '%$ara%'";
/* $sayfalamasorgu = $db->query($sayfalamasorgusu); */
?>
<?php
$sayfa = @$_GET['sayfa'];
if((empty($sayfa)) or (!is_numeric($sayfa))) {
$sayfa = 1;
}
$kacar = 3;
$sayfalamasorgusu = "SELECT yaziekle_id, yaziekle_resim, yaziekle_baslik,
yaziekle_konu, yaziekle_kategori FROM yaziekle";
$sayfalamasorgu = $db->query($sayfalamasorgusu);
$sayfalamasorgusay = $sayfalamasorgu->num_rows;
$sayfasayisi = ceil($sayfalamasorgusay/$kacar);
$neredenbaslasin = ($sayfa*$kacar)-$kacar;
$bulsorgusu = "SELECT * FROM $sayfalamasorgusu ORDER BY yaziekle_baslik DESC LIMIT $neredenbaslasin, $kacar";
/* $bulsorgu = $db->query($bulsorgusu); */
$row = $bulsorgusu -> fetch_array(MYSQLI_ASSOC);
foreach($row as $bul) { ?>
<div class=icerikalani-div>
<div class="icerik-ic-alani">
<div class="resim-div">
<img src="images/eklenenyaziresimleri/<?php echo $bul['yaziekle_resim']; ?>">
</div>
<div class="baslik-ve-yazi-alani-kategori-ve-devaminioku">
<div class="yazi-alani-baslik">
<?php echo $bul['yaziekle_baslik']; ?>
</div>
<div class="yazi-alani-yazi">
<?php echo nl2br($bul['yaziekle_konu']); ?>
</div>
<div class="kategori-ve-devaminioku-alani">
<div class="yazi-alani-kategori">
<?php echo $bul['yaziekle_kategori']; ?>
</div>
<div class="yazi-alani-devaminioku">
<a href="devaminioku.php?devam=<?php echo $bul['yaziekle_id']; ?>">Devamını Oku</a>
</div>
</div>
</div>
</div>
</div>
<?php } ?>
<?php
for($i=1; $i<=$sayfasayisi; $i++) {
echo "<a href='arama.php?sayfa={$i}'>{$i}</a>";
}
?>
<?php } ?>