İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Sorgudan Gelen Limitli Veriyi Tekrar Limitlendirerek Kullanmak

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
PHP:
$sorgu = "select * from tablo limit 0,50";
$sonuc = mysql_query($sorgu);

/* 
İlk bölüm burası ve yukarıdaki sorguyu kullanarak
limit 0,3 arasındaki veriyi buraya almak istiyorum.
yukarıdaki sorguyu nasıl parçalamam gerekiyor ?
*/

// Aşağıdaki bölümde limit 0,50 arasındaki veriler alınıyor.
// Herhangi bir sorun yok.

mysql_data_seek($sonuc,0);

while ($gelen = mysql_fetch_array($sonuc))
{
echo $gelen['icerik'];
}
 
E

Erturk

Misafir
İlk alanda ilk 3 verıyı geri kalan kesimde ise 47 verıyımı almak ıstıyorsunuz ? tam anlayamadım
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
PHP:
$q = mysql_query("SELECT something FROM table ORDER BY id ASC");

$i = 1;

	while ($a = mysql_fetch_array($q)) {
	
		if ($i >= 1 AND $i<=3) {
		$ilk_uc_veri .= $a['something'].'<br>';
		}

		if ($i > '25') {
		$yirmibesten_sonraki_veri .= $a['something'].'<br>';
	        }
	
	$i++;
	
	}
	
echo '<h1>Ilk Uc Veri</h1>'.$ilk_uc_veri;
echo '<h1>Yirmibesten Sonra</h1>'.$yirmibesten_sonraki_veri;

Sorularının zorluğu düşüyor biraz, gayret göstermiyorsun pek gibi. :)
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
Angelo uğraş uğraş bitmiyor napıyım arada işleri hızlandırmak lazım :) Bu koddan acayip sonuçlar çıktı kendime uyarladığımda.

Bu arada benim ilk sorgum limit 0,50 şeklinde ve o bölüm sayfalandırmaya ait olduğu için değiştirmek istemiyorum. Biraz uğraşayım Teşekkürler
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
PHP:
$i = 1;
    while ($a = mysql_fetch_array($sonuc)) {
    
        if ($i < 4) {
        $veri = $a['icerik'].'<br>';
		echo $veri;
        }
    $i++;

}

Bu şekil işimi görüyor ama bunu random şekline nasıl getirebilirim ? Yani sorgudan gelen veri içinden devamlı 3 veri çekecek ve random olucak
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
1) MYSQL de ORDER BY RAND() dersin gelen veri random olacağı için doğal olarak ilk 3 de random olur.

2) mysql_num_rows() ile gelen toplam veriyi -> $toplam bulursun. 1 den 3 e kadar for döndürüp, rand(1,$toplam) alıp, bunları array e atarsın. While ile sorgu içinde dönerken i nin bu array içinde olup olmadığına bakarsın.
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
1. yöntemle işim yok şu anda.

2. yöntem aşağıdaki şekildemi olmalı ? eğer böyle ise 4 den büyük sayılarda ekrana veri gelmiyor normal olarak.

PHP:
$toplam = mysql_num_rows($sonuc);

for ($i=1; $i<=3; $i++)
{
$sayi = rand(1,$toplam);
}

$dizi = array($sayi);

$i = $dizi[0]; 
    
while ($a = mysql_fetch_array($sonuc)) { 
     
        if ($i < 4) { 
        $veri = $a['icerik'].'<br>'; 
        echo $veri; 	
        } 
    $i++; 
}
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
PHP:
$toplam = mysql_num_rows($sonuc);

for ($i=1; $i<=3; $i++)
{
$sayi = rand(1,$toplam);
$dizi[] = $sayi;
}


$i = 1; 
    
while ($a = mysql_fetch_array($sonuc)) { 
     
        if (in_array($i,$dizi)) { 
        $veri = $a['icerik'].'<br>'; 
        echo $veri;     
        } 
    $i++; 
}

Geri kalanlari gostermek icin else de lazim tabi.
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
Geri kalanı boşver senin verdiğin şekilde çalışıyor şu anda benim kodda eksiklik varmış yine :) Teşekkürler
 

THR

0
İyinet Üyesi
Katılım
31 Ekim 2005
Mesajlar
0
Reaction score
3
PHP:
$sorgu = mysql_query("SELECT * FROM tablo LIMIT 0,50");
for($i=1;$i<=3;$i++) {
$kayit = mysql_fetch_assoc($sorgu);
echo $kayit['id'];
}
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst