try
{
$sql = mysql_query ("Select tbl.* From (select * from videolar order by RAND() limit 45) as tbl Order by tbl.id desc") or die(mysql_error());
$row = mysql_fetch_array($sql);
if(count($row) > 0):
foreach($row as $r):
echo $r['adi'] . '<br />';
endforeach;
else:
throw new Exeption('Kayıtlar alınamıyor');
endif;
}
catch(Exception $ex)
{
echo $ex->getMessage();
} php konusunda yardımlarınızı bekliyorum
33
●1.621
- 18-12-2010, 15:22:48Eposta Aktivasyonu GerekmekteŞunu deneyin bakalım.
- 18-12-2010, 15:29:51Kimlik doğrulama veya yönetimden onay bekliyor.sayfa direk hata veriyor bu şekilde üstadNiZZo_ adlı üyeden alıntı: mesajı görüntüle
- 18-12-2010, 15:33:12Eposta Aktivasyonu GerekmekteAldığın hatalarıda yazki ona göre birşeyler karalayalım.
Sadece şunu kullan
$sql = mysql_query("Select tbl.* From (select * from videolar order by RAND() limit 45) as tbl Order by tbl.id desc") or die(mysql_error()); $row = mysql_fetch_array($sql); if(count($row) > 0): echo 'Kayıtlar alındı - ' . count($row); else: echo 'Kayıtlar alınamıyor'; endif;Kayıtlar alındı yazısını görürsen döndüye girip istediğin alanları alabilirsin. - 18-12-2010, 21:07:34Parse error: syntax error, unexpected '}' in /home/vidyomus/public_html/rastgele-videolar.php on line 121NiZZo_ adlı üyeden alıntı: mesajı görüntüle
bu hatayı verdi üstad.
oradada bi parantez var onu kaldırdım tekrar attım bu seferde şöyle bi hata verdi
Incorrect key file for table '/tmp/#sql_208b_1.MYI'; try to repair it - 18-12-2010, 21:40:53normalde yeni viedolar , popüler videolar aynı kodla çekiyor fakat rastgele düne kadar çekiyordu bu gün çekmiyor.
- 18-12-2010, 21:58:52üstad zannedersem rand sorun çıkarıyor. veri çok olunca sunucu yoruluyor galiba. rand yerine kullanılabilecek bi komut varmı acaba.NiZZo_ adlı üyeden alıntı: mesajı görüntüle
- 18-12-2010, 22:18:38Eposta Aktivasyonu GerekmekteO zaman şöyle bir şey yapın sunucudan hata gelir ise son eklenen 45 videoyu gösterin. Hata oluşmaz ise zaten rastgele 45 bideo görüntülensin.
<?php try { $sql = ""; try { $sql = mysql_query("select * from videolar order by rand() DESC limit 45"); } catch(Exception $ex) { $sql = mysql_query("select * from videolar order by id DESC limit 45"); } while($cek = mysql_fetch_array($sql)): $adi=$cek["adi"]; $resim=$cek["resim"]; $sure=$cek["sure"]; $hit=$cek["hit"]; $id=$cek["id"]; $adibol=mb_substr($adi,0,34,'UTF-8'); endwhile; } catch(Exception $ex) { echo $ex->getMessage(); } ?>Bir öneride sql cache kullan eğer yüksek hitlerde bir site ise ve cache sistemi yok ise. - 18-12-2010, 22:26:42hata verdi üstad. dosyanın kodlarını aşağıda verdim.. senin veridğin kodu ekledim 133.ncü satır hata veriyor ordada bi parantez var. cache sistemi iyi olur fakat nasıl yapacağımı bilmiyorum. sitenin hiti günlük 5k+NiZZo_ adlı üyeden alıntı: mesajı görüntüle
Alıntı