Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

mysqli hakkında


khazadum

Öne çıkan mesajlar

Merhabalar,

Yıllardan beridir yarım yumalak kalan PHP bilgimi tazelemek istedim. Ama sağolsun PHP 5.5 sürümünden sonra MySQL desteğini bırakıp MySQLi veya PDO kullanmaya zorluyor insanları.



Başta belirttiğim gibi yarım yumalak olan PHP bilgim iyice alt üst olmadan bilgili arkadaşlardan yardım almak istedim.

Çoğu yere baktım ama bir türlü çözemedim şu MySQLi muhabbetini.


MySQL varken databaseye query 'i yollayıp basit bir while ile verileri çekebiliyordum. O seviyedeydim yani :D


<?php

$sorgu = mysql_query("select * from kategori");
while($data=mysql_fetch_assoc($sorgu))
{
?>

<tr>
<td class="text-center"><?php echo $data['kat_id']; ?></td>
<td><strong><?php echo $data['kategori_adi']; ?></strong></td>
<td>-</td>
<td class="text-center">
<a href="/admin/kategori-duzenle" data-toggle="tooltip" title="Kategoriyi Düzenle" class="btn btn-effect-ripple btn-xs btn-success"><i class="fa fa-pencil"></i></a>
<a href="javascript:void(0)" data-toggle="tooltip" title="Kategoriyi Sil" class="btn btn-effect-ripple btn-xs btn-danger"><i class="fa fa-times"></i></a>
</td>
</tr>
<?php } ?>


şimdi bunun aynı mantığını mysqli 'de beceremedim bir türlü. Bana bu işlemi mysqli de nasıl yapabileceğimi bilale anlatır gibi anlatacak bir arkadaş arıyorum.

Şimdiden teşekkür ederim.
Link to comment
Sosyal ağlarda paylaş

If you're using a function called mysql_connect() or mysql_query() you really need to take note and change what you're doing. I understand that it's not easy to change current large projects, but look to change future ones.

Ben şurdan bakarak yapmıştım değişiklikler ufak bi resim galerisi için

http://codular.com/php-mysqli

Senin içinde yarayabilir belki
Link to comment
Sosyal ağlarda paylaş

Evet kategori listeleme işi tamamlandı. Teşekkür ederim Editor. Bir ufak soru daha sorayım.

Ürün listeleme sayfasında kategori adını da gösterebilmem için urun tablosunun yanı sıra kategori tablosununda verilerini çekmem ve oluşturduğum while döngüsünde her iki tablodan gelen veriyi yazdırmam gerek sanırım.

tablo urun
- urun_id
- urun_aciklama

tablo kategori
- kat_id
- kategori_adi

bu iki farklı tablodaki verileri nasıl tek bir while içine sokabilirim.

İlk postta dediğim gibi. Daha bir çok soru soracağım size. Bilale anlatır gibi anlatın :D

-- düzenleme --

bunu da SQL sorgusuyla (INNER JOIN) hallettim fakat verileri listelerken aynı veriyi 4 kez yazdırıyor. Bunu nasıl çözebilirim acaba.

-- düzenleme 2 --

yok bu INNER JOIN ile olmadı. Ürünü eklerken seçtiğim Kategori ID 'sine göre atamıyor. Rastgele atamış. İstediğim şey, urunler tablosundaki kat_id 'nin kategori tablosundaki kat_id ile birlikte çalışıp buna göre tüm ürünleri listelemek. Yardımlarınızı bekliyorum.
Link to comment
Sosyal ağlarda paylaş

Tablolarım şu şekilde;

kategori sql;
- kat_id (primary, AI)
- kategori_adi
- kategori_aciklamasi

ürün sql;
- urun_id (primary, AI)
- kat_id
- urun_adi
- urun_aciklama


urun-liste.php 'de tüm ürünleri tablo şeklinde listeliyorum.





Bu da query için sorgu kodu;


<?php

$sql = "SELECT * FROM urun INNER JOIN kategori";


if(!$result = $db->query($sql)) {
die('Veritabanında bir sorun oluştu [' . $db->error . ']');
}


?>


bu da listeleme kodu;

<?php
while($row = $result->fetch_assoc()){

echo '

<tr>
<td class="text-center">'.$row['urun_id'].'</td>
<td class="text-center">'.$row['kategori_adi'].'</td>
<td><strong>'.$row['urun_adi'].'</strong></td>
<td>'.$row['urun_aciklama'].'</td>
<td class="text-center">
<a href="/admin/kategori-duzenle" data-toggle="tooltip" title="Kategoriyi Düzenle" class="btn btn-effect-ripple btn-xs btn-success"><i class="fa fa-pencil"></i></a>
<a href="javascript:void(0)" data-toggle="tooltip" title="Kategoriyi Sil" class="btn btn-effect-ripple btn-xs btn-danger"><i class="fa fa-times"></i></a>
</td>
</tr>
';
}
?>


bu şekilde yaptığımda ilk screendeki gibi saçma sapan veriler çekmeye başladı. Şu INNER JOIN olayını anlatabilecek arkadaş olursa çok sevineceğim.
Link to comment
Sosyal ağlarda paylaş

Cik. Karismaz. Soyle ki;

kategori sql;

- id (primary, AI)
- kategori_adi
- kategori_aciklamasi



ürün sql;

- id (primary, AI)
- kat_id
- urun_adi
- urun_aciklama


olsun.



SELECT urunler.*, kategori.kategori_adi FROM urunler
LEFT JOIN kategori ON kategori.id = urunler.kat_id
WHERE ...



Sonuc olarak geriye

- id
- kat_id
- urun_adi
- urun_aciklama
- kategori_adi



alanlarini almis olacaksin.

Dersenki iki tabloyu birden cekiyorum SELECT * diyerek ve sutun isimleri ayni oldugundan birini kaybediyorum, o zaman da derim ki

... urunler.id AS urun_id, kategori.id AS kategori_id ...


seklinde cast et ama pek ihtiyacin olacagini sanmiyorum.
Link to comment
Sosyal ağlarda paylaş

çoğu problemi halletim sayılır teşekkür ederim hepinize. Şimdi bir sorum daha olacak.

Ürün listeleme sayfasında;


<?php
while($row = $result->fetch_assoc()){
echo '
<tr>
<td class="text-center">'.$row['id'].'</td>
<td><strong>'.$row['kategori_adi'].'</strong></td>
<td>'.$row['kategori_aciklama'].'</td>
<td class="text-center">
<a href="/admin/kategori-duzenle" data-toggle="tooltip" title="Kategoriyi Düzenle" class="btn btn-effect-ripple btn-xs btn-success"><i class="fa fa-pencil"></i></a>
<a href="/admin/kategori-sil.php?id="'.$row['id'].'"data-toggle="tooltip" title="Kategoriyi Sil" class="btn btn-effect-ripple btn-xs btn-danger"><i class="fa fa-times"></i></a>
</td>
</tr>
';
}
?>


şeklinde bir tablom var. Tabloda verileri listelerken ID 'yi $row['id']; şeklinde çekebiliyorum ama silmek için a tagına aynı değeri verdiğimde URL'de görünmüyor. Yani şu kısım;


href="/admin/kategori-sil.php?id="'.$row['id'].'"


çektiğim verileri sadece 1 kere mi echo 'layabiliyorum. Ya da problem nerede acaba?
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...