İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

Mysql'dan rasgele veri de sorun

WebWizard

0
İyinet Üyesi
Katılım
5 Haziran 2008
Mesajlar
80
Reaction score
0
Veritabanımda videos diye bir tablo var bunda da id,title,description,hit gbi sütünlar var
benim istediğim şu mysqldan 10 tane rasgele video çekmek
bi sürü kod gördüm araştırınca ama anlayamadım
biri bana kodu verip detaylı biçimde açıklayabilir mi?
 

WebWizard

0
İyinet Üyesi
Katılım
5 Haziran 2008
Mesajlar
80
Reaction score
0
ne kadar açıklayıcı bir anlatım
onu bende biliyorum zaten
sayfada nerelere ekliyceğimi bilmiyorum bi kere yaptım 10 sonuç ta aynısı çıktı
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
$query = mysql_query("SELECT * FROM videos ORDER BY RAND() LIMIT 10");

while ($array = mysql_fetch_array($query)) {
echo "$a[id] - $a[title] <br>";
}
 

WebWizard

0
İyinet Üyesi
Katılım
5 Haziran 2008
Mesajlar
80
Reaction score
0
Angelo verdiğin kodu yazdm
-
-
-
-
-
-
-
-
-
-
bunlar çıktı :(
 

WebWizard

0
İyinet Üyesi
Katılım
5 Haziran 2008
Mesajlar
80
Reaction score
0
Böyle Tekli yabtım çalıştı ancak 10 tane yaparsam 10 video başlığı için de $randtitle mı kullanıcam ??? $randtitle = video başlık adı

PHP:
<?php
include "Settings.php";
  $sql = "SELECT * FROM videos ORDER BY RAND() LIMIT 1";
  $query = @mysql_query($sql) or die ("hata");;
  $result = @mysql_fetch_array($query) or die ("hata2");;
  $randvideoid = $result['id'];
  $randtitle = $result['title'];
  $randvidurl = $result['url']
  

?>
<font face="Tahoma" size="3"><?=$randtitle;?></font>
										<p><font size="2">
							<embed src="flvplayer.swf" quality="high" width="450" height="320" allowfullscreen="true" name="VideoPlayer" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="file=<?=$randvidurl;?>&width=450&height=320&displaywidth=450&displayheight=320&overstretch=true&autostart=false&showfsbutton=true&logo=http://hilarydufftr.com/hilarytube/images/htube-logo.png&link=http://hilarydufftr.com/hilarytube/&linktarget=_blank&backcolor=0xFFFFFF" wmode="transparent" border="0"><br>
										Link:  http://www.hilarydufftr.com/hilarytube/izle.php?id=<?=$randvideoid;?></font></td>
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
$a değil, $array olacak ilk yazdığım kodda. O zaman çalışır. Birer birer olmaz.
 

WebWizard

0
İyinet Üyesi
Katılım
5 Haziran 2008
Mesajlar
80
Reaction score
0
Bu bembeyaz bir ekrana neden oluyor :( nerde yanlış yabtım anlamdım

<?php
include "Settings.php";
$query = mysql_query("SELECT * FROM videos ORDER BY RAND() LIMIT 4");

while ($array = mysql_fetch_array($query)) {



?>
<table border="0" width="100%" id="table7" cellspacing="0" cellpadding="0">
<tr>
<td><font size="2"> </font><a href="izle.php?id=<? echo $array['id'];?>"><font size="2"><img width="100" height="100" src="thumbs/thumb<? echo $array['id'];?>.png"></font></a></td>
<td><a href="izle.php?id=<? echo $array['id'];?>"><font size="2"><img width="100" height="100" src="thumbs/thumb<? echo $array['id'];?>.png"></font></a></td>
<td><a href="izle.php?id=<? echo $array['id'];?>"><font size="2"><img width="100" height="100" src="thumbs/thumb<? echo $array['id'];?>.png"></font></a></td>
<td><a href="izle.php?id=<? echo $array['id'];?>"><font size="2"><img width="100" height="100" src="thumbs/thumb<? echo $array['id'];?>.png"></font></a></td>
</tr>
<tr>
<td><font size="2"> <a href="izle.php?id=<? echo $array['id'];?>"><? echo $array['title'];?></a></font></td>
<td><font size="2"> <a href="izle.php?id=<? echo $array['id'];?>"><? echo $array['title'];?></a></font></td>
<td><font size="2"> <a href="izle.php?id=<? echo $array['id'];?>"><? echo $array['title'];?></a></font></td>
<td><font size="2"> <a href="izle.php?id=<? echo $array['id'];?>"><? echo $array['title'];?></a></font></td>
</tr>
<tr>
<td><font size="1"> <? echo $array['hit'];?> kere izlendi</font></td>
<td><font size="1"> <? echo $array['hit'];?> kere izlendi</font></td>
<td><font size="1"> <? echo $array['hit'];?> kere izlendi</font></td>
<td><font size="1"> <? echo $array['hit'];?> kere izlendi</font></td>
</tr>
</table>
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
while {

} <- kapama eksik.

while'ın arasına aldığın bölüm 4 kez tekrarlanacak, ona göre al, bilmediğim için o konuda yorum yapamıyorum.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Sadece şunu yazar mısın

<?php
include "Settings.php";
$query = mysql_query("SELECT * FROM videos ORDER BY RAND() LIMIT 4");

while ($array = mysql_fetch_array($query)) {
echo $array[id].'<br>';
}
?>
 

WebWizard

0
İyinet Üyesi
Katılım
5 Haziran 2008
Mesajlar
80
Reaction score
0
sadece id çıkar
ben onu istemiyorum
daha önce verdiğim dosyadaki gibi tablolar halinde yanyana 4 tane istiyorum
anlatabildim mi?
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Tamam verinin çekip çekmediğini kontrol ediyorsun bu şekilde, önce bir veriyi alıyor musun bir bak sonra tablo çiz. Bembeyaz ekran geliyor dediğinde birşey anlaşılmıyor. Sunucu da hata mesajları kapalı olabilir, bu durumda hatayı teşhis etmen olanaksız olduğu için echo, var_dump yaparak test ede ede adım adım ilerlersin.
 

WebWizard

0
İyinet Üyesi
Katılım
5 Haziran 2008
Mesajlar
80
Reaction score
0
yok hata vermiyor baktım senin ilk verdiğin kod da array[id] - array[title] şeklinde sıraladı.
alt alta güzelce
ama array[title] bunu bir tabloya yerleştirince çaklışmadı beyaz ekran gelmedi ama tablo boştu

bende şimdi her video için ayrı çağırı yapıyorum ama bu seferde aynı videolar 2-3 kere çıkabiliyor
bunu gibi :
//Random Video 1
include "Settings.php";
$sql1 = "SELECT * FROM videos WHERE id < 4 ORDER BY RAND() LIMIT 1";
$query1 = @mysql_query($sql1) or die ("hata");
$result1 = @mysql_fetch_array($query1) or die ("hata2");;
$vid1 = $result1['id'];
$tit1 = $result1['title'];
$hit1 = $result1['hit'];
//Random Video 2
include "Settings.php";
$sql2 = "SELECT * FROM videos WHERE id > 10 ORDER BY RAND() LIMIT 1";
$query2 = @mysql_query($sql2) or die ("hata");
$result2 = @mysql_fetch_array($query2) or die ("hata2");;
$vid2 = $result2['id'];
$tit2 = $result2['title'];
$hit2 = $result2['hit'];
//Random Video 3
böyle kod yabtım idareten :)
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Öyle birşey olmaz, tablo kodun hatalı demek ki.
Her seferinde include etmene gerek yok, her seferinde query yapmana hiç gerek yok. :)
 

SCouNDReL

0
İyinet Üyesi
Katılım
27 Temmuz 2008
Mesajlar
16
Reaction score
0
$query = mysql_query("SELECT * FROM videos ORDER BY RAND() LIMIT 4");

yerine

$query = mysql_query("SELECT * FROM videos ORDER BY RAND()*4");

şeklinde denesene birde.
 

gjorfindel

0
İyinet Üyesi
Katılım
3 Aralık 2007
Mesajlar
77
Reaction score
0
Hocam ben phpden anlamam ama Burda mantık olarak bir yanlışlık yok mu? her çektirdiğin veri için tek tek yazıosun.

Asp de şöyle bir sistem kullanmıştım zamanında

bunu hem php hemde asp bilen arkadaşlar yardımcı olur diye düşünüyorum


Kod:
<%b=b-91
	 set rs1 = veri.execute("Select link,isim from Tabloadi where onay=1 order by rand() desc limit 0,10")
do while not rs1.eof

b=b+1
%>
			<tr>
				<td width="9%"><IMG src="admin/images/stats.gif" border=0></td>
				<td width="91%">
				<a href="<%=replace(rs1("link")," ","-",1,-1,1)%>"><font color="white"><%=b%><b>-<%=rs1("isim")%></b></font></a></td>
			</tr>
			<%rs1.movenext : loop
rs1.close
set rs1= nothing%>		</table>

burda mantık mysqlden çektirdiğin veriyi döngüye sokmak phpde varmı bilmiyorum ama verdiğim sql sorgusunu deye bilirsin birde.
 

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