chat eczaonline.com yazılım uzmanı gaziantep web tasarım

mysql da 3. sutunu almak

B

Baria

#1
Aşagıda birşeyler yapmaya calıstım timesplayed 3. sıradakileri almak istedim ve o satırda bulunan gameicon u resim e atamak istedim. dogru mu yaptım?hayır

bunun dogrusu nasıl alırım

$tablo = "SELECT * from games WHERE gamestatus = 1 ORDER BY timesplayed DESC LIMIT 3 1";
$sorgu= mysql_query ($tablo);
$resim= $tablo[gameicon];
 

zbahadir

Müptela
Katılım
19 Mar 2006
Mesajlar
2,416
Beğeniler
0
Konum
Trabzon
#2
Satırı istersen şu şekilde yap;

PHP:
$tablo = "SELECT * from games WHERE gamestatus=1 ORDER BY timesplayed DESC LIMIT 3,1";
$sorgu= mysql_query ($tablo);
$resim= $tablo[gameicon];
Kısmen doğru, bir de burada benzer bir konu işlenmiştir işinize yarıyacağını tahmin ediyorum.
 
B

Baria

#3
<?
$veri_yolu = mysql_connect("localhost", "oyun","");

if ( ! $veri_yolu ) die ("MySQL ile veri bağlantısı kurulamıyor!");
$tablo = "SELECT * from games WHERE gamestatus = 1 ORDER BY timesplayed DESC LIMIT 3, 1";
$sorgu= mysql_query ($tablo);
$resim= $tablo[gametitle];
echo"$resim";

?>
kod bu ama "S" harfini veriyor sayfada :S anlamadım gitti. Burda timesplayed en çok oy alan listeliyordum
bu şekilde

SELECT * from games WHERE gamestatus = 1 ORDER BY timesplayed DESC LIMIT 6
şimdi yapmaya calıstıgım en çok listelenenler değilde 3. sıradakini almak istiyorum

 

zbahadir

Müptela
Katılım
19 Mar 2006
Mesajlar
2,416
Beğeniler
0
Konum
Trabzon
#4
Üçüncü satırdaki bilgileri almak için şu şekilde yapabiliyormuşsun;

atasever'in önerisiydi;
select * from games limit 3,1

Edit;
veya tabloyu gönder ona göre bakalım. Bu saatlerde konuyu alıgılamam zayıflıyor da. :)
 
B

Baria

#5
ama timesplayed en çok oy alanı sıralayacaz sonra en çok oy alanların 1 ve 2 degil 3. yü alacaz.
 

zbahadir

Müptela
Katılım
19 Mar 2006
Mesajlar
2,416
Beğeniler
0
Konum
Trabzon
#6
Baria' Alıntı:
ama timesplayed en çok oy alanı sıralayacaz sonra en çok oy alanların 1 ve 2 degil 3. yü alacaz.
Tabloyu ve verileri gönder yapayım yapayım sizin için ;)

Edit:
Bu arada gözümden kaçmış DESC tersten sıralamışsın onun yerine ASC kullan bakalım olacak mı?
 
B

Baria

#7
veri :)
<?
$veri_yolu = mysql_connect("localhost", "oyun","");

if ( ! $veri_yolu ) die ("MySQL ile veri bağlantısı kurulamıyor!");
$tablo = "SELECT * from games WHERE gamestatus = 1 ORDER BY timesplayed ASC LIMIT 3, 1";
$sorgu= mysql_query ($tablo);
$resim= $tablo[gametitle];
echo"$resim";

?>
buyur sql daki tablo
 

metadige

Profesyonel
Katılım
23 Ara 2005
Mesajlar
354
Beğeniler
4
#10
$sorgu= mysql_query ($tablo);
$resim= $tablo[gametitle];

olmaz ki $resim değişkenine sorguyu atıyorsun halbuki sorgunun sonucunu mysql_fetch_array, mysql_result vb. ile almıyorsun:

PHP:
<?php 
.....
......

$sonuc=mysql_fetch_array($sorgu);
$resim=$sonuc['gametitle'];
echo $resim;

?>
Ayrıca asc demeye gerek yoktur zaten varsayılan ASC yani küçükten büyüğedir. DESC ise sıralamayı tersten yaparak büyükten küçüğe doğru sıralar
 

zbahadir

Müptela
Katılım
19 Mar 2006
Mesajlar
2,416
Beğeniler
0
Konum
Trabzon
#11
Baria' Alıntı:
O zaman şöyle bir şey işini görebilir.

PHP:
$sql= mysql_query ("SELECT gameicon from games where gamestatus = 1 ORDER BY timesplayed DESC LIMIT 3, 1");
list($resim)=mysql_fetch_row($sql);
echo $resim;
 

zbahadir

Müptela
Katılım
19 Mar 2006
Mesajlar
2,416
Beğeniler
0
Konum
Trabzon
#12
Madem en çok oy alanı seçmemiz gerekiyor neden 3. sıradaki diyoruz? Doğrudan o sırayı seçebiliriz.

Konudışı:
Kusura bakma bu saatlerde pek kafam çalışmaz da :)

Bu da alternatif seçenek hangisi uyarsa onu kullanırsın;

$sql= mysql_query ("SELECT gameicon from games where gamestatus = 1 ORDER BY timesplayed ASC LIMIT 1, 1");
$resim=mysql_fetch_row($sql);
echo $resim[0];
 
B

Baria

#13
ben mi yanlsı yapıyorum yoksa calısmıyor mu? hepinizinkini denedim hata verdi
$tablo = "SELECT * from games WHERE gamestatus = 1 ORDER BY timesplayed ASC LIMIT 3, 1";
$sonuc=mysql_fetch_array($tablo);
$resim=$sonuc['gametitle'];
echo $resim;


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
 

zbahadir

Müptela
Katılım
19 Mar 2006
Mesajlar
2,416
Beğeniler
0
Konum
Trabzon
#14
mysql_fetch_array kullanıyorsunu neden?

timesplayed'in en yüksek değerine göre veri çeken şu örneği deneyin;

PHP:
$sql= mysql_query ("SELECT gameicon from games where gamestatus='1' ORDER BY timesplayed DESC limit 1");
list($resim)=mysql_fetch_row($sql);
echo "$resim<br>";
 
B

Baria

#15
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\appserv\www\oyun\test.php on line 6


senin local de calısıyor mu?
 

metadige

Profesyonel
Katılım
23 Ara 2005
Mesajlar
354
Beğeniler
4
#16
hata verir tabii, bu sefer de sqle sorguyu göndermeden sonucu almaya kalkmışsın.Önce sorgunu göndereceksin, sonra dönen sonucu alacaksın. Ayrıca sadece resim adresini almak istiyorsan, * ile boş yere hepsini çekme ihtiyacın olan yeri çek sadece
PHP:
<?php
$sorgu =mysql_query('select * from games where gamestatus = 1 order by timesplayed limit 3, 1');
$sonuc=mysql_fetch_array($sorgu); 
$resim=$sonuc['gametitle']; 
echo $resim;
?>
 
B

Baria

#17
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\oyun\test.php on line 6


delirecem. olmadı 6. satırda $sonuc=mysql_fetch_array($sorgu); var
 

zbahadir

Müptela
Katılım
19 Mar 2006
Mesajlar
2,416
Beğeniler
0
Konum
Trabzon
#18
zbahadir' Alıntı:
mysql_fetch_array kullanıyorsunu neden?

timesplayed'in en yüksek değerine göre veri çeken şu örneği deneyin;

PHP:
$sql= mysql_query ("SELECT gameicon from games where gamestatus='1' ORDER BY timesplayed DESC limit 1");
list($resim)=mysql_fetch_row($sql);
echo "$resim<br>";
Sen en iyisi bu kodu kullan.
 

Bu konuyu okuyanlar (Üyeler: 1, Misafirler: 1)

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. iyinet.com sayfalarında yer alan yazı, görsel ve linklerle ilgili hukuki şikayetleriniz için Buradan iletişime geçmeniz durumunda, ilgili kanunlar ve yönetmelikler çerçevesinde en geç 7 gün içerisinde iyinet yönetimince tarafınıza dönüş sağlanacaktır. Betcup Artemisbet Forum pulibet
Üst