Php Session Problemi
-
İşte orda 1 satırı silince, tüm satırların idlerini düzenlemez. Heryerde öyle, mesela tahribatta bi konu sildinmi bidaha o idde bir konu göremezsin.
Limit sayı atlamaya karışmıyor, limitin görevi sana 5 kaydı listelemek. Bahsettiğin olay karışıklık değil doğal bir durumdur.
-
hocam kod'um şu:
include("ayarlar.php");
$sorgu1 = mysql_query("SELECT COUNT(*) FROM haber where onay=1 ");
$yaz1 = mysql_result($sorgu1, 0);
$ok = $yaz1-5;$sorgu=mysql_query("select * from haber where onay=1 limit $ok , 5");
while ($yaz=mysql_fetch_array($sorgu))
{$id=$yaz["id"];
$konu=$yaz["konu"];$profile="<a href='habergoster.php?id=$id'>$konu</a>";
echo $profile."<br>";
}
mysql_free_result($sorgu);databasem ise:
id takmaad konu tarih yazi onay 62 ajan1111 g 11.01.2008 fghfghgf 1 61 ajan1111 f 11.01.2008 fghfghgf 1 60 ajan1111 e 11.01.2008 dfhggfhhgjhg 1 58 ajan1111 c 11.01.2008 dfgfhfg 1 57 ajan1111 b 11.01.2008 dfhgbdhgf 1 56 ajan1111 a 11.01.2008 dfgffd 1 63 ajan1111 h 11.01.2008 fgjhghjhg 1 64 ajan1111 j 11.01.2008 jhkjh 1 65 ajan1111 k 11.01.2008 jkljkl 1 71 ajan1111 fghgf 11.01.2008 jhghj 1 68 ajan1111 n 11.01.2008 hjghj 1 69 ajan1111 o 11.01.2008 1 70 ajan1111 ö 11.01.2008 ghjghj 1 aradan yine bi kayıt sildim. 71. kayıtı eklediğimde yine karıştı. sorun database'de sanırım. böyle karışmaması gerek.
merak ettim. rene. veya holy. hocam siz ana sayfadaki haberleri hangi mantıkla yaptınız? bi yol gösterseniz gerisini hallederim :)
-
burda onaylı olanları filitrele sonra enson kayıtlı olanları almı diyorsun yanlız iki sorgu biraz fazla değilmi sence zaten limit kullandığın sorguda filitreliyorsun.
-
-
PHP Kodu düzgün çıkmamış burdan indir:
http://rapidshare.com/files/83022291/listele.php.htmlTablo Yapısı:
CREATE TABLE `haber` (
`id` int(22) NOT NULL auto_increment,
`takmaad` varchar(22) NOT NULL,
`konu` varchar(22) NOT NULL,
`tarih` varchar(22) NOT NULL,
`yazi` varchar(22) NOT NULL,
`onay` varchar(22) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;--
-- Tablo döküm verisi `haber`
--INSERT INTO `haber` VALUES (1, '1', 'haber', '1', '1', '1');
INSERT INTO `haber` VALUES (2, '1', 'haber2', '1', '1', '1');Tablo yapısı seninkiyle aynı örnek olsun diye verdim, kod ise son eklenen 5 kaydın listesini verecek.
-
byhacking bunu yazdı:
-----------------------------
burda onaylı olanları filitrele sonra enson kayıtlı olanları almı diyorsun yanlız iki sorgu biraz fazla değilmi sence zaten limit kullandığın sorguda filitreliyorsun.
-----------------------------
hoca limit'in kullanımında bi sorun yok. limit'e bi kastımda yok :) sorun database'de bence. normal bi şekilde yeni kayıt yapıldığında id'ler artıyor. aradan birini siliyorum. sonra yeni kayıt eklediğimde64 ajan1111 j 11.01.2008 jhkjh 1 65 ajan1111 k 11.01.2008 jkljkl 1 71 ajan1111 fghgf 11.01.2008 jhghj 1 68 ajan1111 n 11.01.2008 hjghj 1 69 ajan1111 o 11.01.2008 1 70 ajan1111 ö 11.01.2008 ghjghj 1 gibi bişey oluyo.
silmeden önce 64,65,66,67,68,69,70,71 diye listeliydi. 66'yı sildim listelemede sorun yapmadı. 67'yi sildim yine sorun yapmadı. 64,65,68,69,70 olarak listeliyordu. sonra yeni kayıt ekledim. 71. kayıtı database nereye kaydetmiş...
tekrar kayıt ekliyorum. 70'den sonra 72,73 olarak devam ediyor. database neden böyle yapıyoooo?
kayıt ekleme kodumda şu:
include("ayarlar.php");
$takmaad=$username;
$konu=$_POST["konu"];
$tarih=$_POST["tarih"];
$yazi=$_POST["yazi"];
$onay="0";
mysql_query("insert into haber (takmaad, konu, tarih, yazi, onay) values ('$takmaad', '$konu', '$tarih', '$yazi', '$onay')");mysql_close();
-
mysql tablo türü olarak ne kullandın birde
REPAIR TABLE "tablo";bunu çalıştır bakalım ne olucak
-
SPY-CX5 bunu yazdı:
-----------------------------$sorgu=mysql_query("select * from haber where onay=1 order by id desc limit 0,5");
while ($yaz=mysql_fetch_array($sorgu))
{
echo "".$yaz['konu']."<br>";
}-----------------------------
hocam çok çok teşekkür ederim. database'nin o haline rağmen çalıştı. şu " order by id desc " yazısı eksikti benim kodumda. demek mesele onda bitiyormuş. iyi bi araştırmacı değilmişim anlaşılan.
hocam tekrar teşekkür ediyorum. ve diğer yardımcı olmaya çalışan arkadaşlarada teşekkür ediyorum. saolun.
-
$say= mysql_query("select count(*) id from tablo");
$kayit_sayi= $say['id'];
$kayit_alti=$kayit_sayi-5;
for($veriler=$kayitalti,$veriler<=$kayit_sayi,$veriler++){
$sorgu="select * from haber where id='$veriler'";
$ayrinti=mysql_query($sorgu);
$parca=mysql_fetch_array($ayrinti);
$id=$parca['id'];
$konu=$parca['konu'];
echo nl2br("<a href='habergoster.php?id=$id'>$konu</a>");
}bu şekilde hata vermemesi lazım arkadaşım
-
muhahahahaha
ya arkadaşım sabahtan beri millet yırtıyor kendi order by id desc diye :D