wmaraci reklam

php tablodan veri çekme hatası

5 Mesajlar 1.495 Okunma
smmexpress

olkunmustafa olkunmustafa WM Aracı Kullanıcı
  • Üyelik 18.04.2012
  • Yaş/Cinsiyet 36 / E
  • Meslek Web & Android Developer
  • Konum
  • Ad Soyad M** O**
  • Mesajlar 423
  • Beğeniler 60 / 44
  • Ticaret 0, (%0)
Admin paneli yapımı mantığını öğrenmek için ufak bir işlem yapıyorum.Mysql veritabanımın sayfalar tablosundan 2 adet veri çekiyorum. Zaten iki adet veri var:D Şimdi kod yapısına geleyim;



Sayfalar tablomdan iki adet veri çekiyorum ve row[1] satırını $konubasligina , row[2] satırını da $konuicerigi ne atıyorum. Sayfanın farklı yerlerinde kullanmak üzere hazırlıyorum ve anasayfada 4 tane yazı gözüksün istiyorum ve aklıma gelen en basit yöntemiyle şöyle bişe hazırladım.

echo "

".$konu_basligi."

";
echo "

".$konu_icerigi."

";} ?>


Olarak hazırladım. Ancak böyle bu durumda son yazımı bana 4 kere getiriyor. Yani mysqlfetcharray fonksiyonu satırları tek tek dolaşmıyor tek satırda kalıyor. Bunu neden yaptığını mantığımı zorlamama rağmen anlayamadım. Yardımlarınızı bekliyorum. Herkese kolay gelsin

Not: kodlama da ufak tefek hatalar olabilir buraya getirirken bazı yerler silindi o yüzden burada tekrar yazdım. Onları çok dikkate almayın
 

 

wmaraci
reklam

Altinkaynak Altinkaynak WM Aracı Kullanıcı
  • Üyelik 26.08.2012
  • Yaş/Cinsiyet 32 / E
  • Meslek Öğrenci
  • Konum Samsun
  • Ad Soyad ** **
  • Mesajlar 99
  • Beğeniler 0 / 27
  • Ticaret 0, (%0)
Merhaba,

Neden LIMIT ile 4 adet veriyi çekip sıralamayı tercih etmek yerine, tüm verileri çekip 4 tanesini sıralıyorsun ? Bu yüksek sayıda kayıt içeren veritabanlarında gereksiz yere sorgu hacmini geniş tutar.

Alternatif olarak aşağıdaki kod yapısı eğer anlattıklarını doğru anladıysam yardımcı olacaktır.



$veriCek="SELECT * FROM sayfalar LIMIT 1,4";
$veriAl=mysql_query($veriCek);

while($row=mysql_fetch_array($veriAl))
{
$konu_basligi= $row[1];
$konu_icerigi= $row[2];

echo $konu_basligi; echo " "; echo $konu_icerigi;
echo "
";
}
?>
 

 

ofismobilya ofismobilya WM Aracı Kullanıcı
  • Üyelik 09.01.2012
  • Yaş/Cinsiyet 47 / E
  • Meslek webmaster
  • Konum Düzce
  • Ad Soyad ** **
  • Mesajlar 107
  • Beğeniler 22 / 12
  • Ticaret 1, (%100)
$vericek=mysql_query("SELECT * FROM sayfalar ORDER by sayfaid DESC LIMIT 1,4");
son eklenen kayıtlarıda bu şekilde çekebilirsin sayfalara bir id vermisindir. sayfa id yazan yerede onu yazarsan sıralamayıda yapmış olursun
 

 

Freezby Freezby IMZA YASSAKK :) Kullanıcı
  • Üyelik 08.03.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek Tamsurum.net
  • Konum Kırklareli
  • Ad Soyad F** S**
  • Mesajlar 1359
  • Beğeniler 88 / 287
  • Ticaret 5, (%100)
Kusura bakma konuyu dağıtmak gibi olmasın ama şu cümleye öldüm '' sayfalar tablosundan 2 adet veri çekiyorum. Zaten iki adet veri var'' :D :D :D
olkunmustafa

kişi bu mesajı beğendi.

wmaraci
wmaraci

olkunmustafa olkunmustafa WM Aracı Kullanıcı
  • Üyelik 18.04.2012
  • Yaş/Cinsiyet 36 / E
  • Meslek Web & Android Developer
  • Konum
  • Ad Soyad M** O**
  • Mesajlar 423
  • Beğeniler 60 / 44
  • Ticaret 0, (%0)
Arkadaşları yardımlarınız için çok teşekkür ederim. Olayı kendimce bambaşka bir mantıkda array_push fonksiyonu kullanarak çözdüm.


$eklenenler=array("");


while($row=mysql_fetch_array($veriAl)){

array_push($eklenenler,$row[1],$row[2]);
}
$rakamAl=count($eklenenler);
for ($i=1; $i<$rakamAl; $i+=2){
echo "

".$eklenenler[$i]."

";
echo "

".$eklenenler[$i+=1]."

";
}

?>
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al