Yeniden merahabalar arkadaşlar.
Artık çok soru sormaya başladım biliyorum, ama heves, insan kendini geliştirmek istiyor.
Daha önceki birkaç soruma cevap verenler bilir, XML sayfasından veri çekip description satırlarından resim URL'lerini bölüyorum bir süredir. Onları tamamladım ve sonuç mükemmel. Hatta çok satan kitaplarda arama bile yaptırabiliyorum.
Ama şimdi işin en zor kısmına geldik diye düşünüyorum. Sabahtan beri yüzlerce kaynakta aramama rağmen bulamadığım konu şu: XML'den çektiğim verileri sort etmem lazım. A'dan Z'ye doğru, Z'den A'ya doğru, soldan sağa doğru ve yukarıdan aşağı doğru olmak üzere verilerimi sort etmem lazım.
Topu size atmadan önce söylemem gereken bir şey var, XML dosyası benim kişisel serverımda değil. Çalıştığım yerin serverında. Bu yüzden XML içinden işlemler yapamıyorum.
Ve son olarak dosyalarım:
index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>internet kitapçınız kitapyurdu.com'da Çok Satanlar</title>
<link rel="stylesheet" HREF="css.css" type="text/css">
</head>
<?php
$kitapadi=$_GET["kitapadi"];
?>
<form name="frmSearch" action="dom.php">
<input name="kitapadi" type="text" value="<?php echo $kitapadi; ?>" />
<label>
<input type="submit" name="islem" value="Ara" />
</label>
</form>
<?php
include "fonksiyon.php";
$xmlDocument = new DOMDocument();
if ($xmlDocument->load('http://www.kitapyurdu.com/xml/coksatanlar.xml')) {
$xpath = new DOMXPath($xmlDocument);
$nodeList = $xpath->query('/rss/channel/item[contains(title, "'.$kitapadi.'")]', $xmlDocument);
}else{
echo "yüklenemedi.";
exit();
}
echo "Aradığınız kitap: $kitapadi";
getBestSellers(5, 5, $nodeList);
?>
</html>fonksiyon.php:
<?php
function str_sub ($str, $baslangic, $bitis)
{
$desc=$str;
$en=convert_uuencode($desc);
$desc= convert_uudecode($en);
for ($i=$baslangic; $i<=$bitis; $i++)
{
$str2.=$desc[$i];
}
return $str2;
}
function getBestSellers($satir, $sutun, $liste)
{
$kitapsayisi=$satir*$sutun;
if ($liste->length<$kitapsayisi)
{
$kitapsayisi=$liste->length;
}
echo '<table align="center">';
for ( $i=0; $i<$kitapsayisi; $i++)
{
if (fmod($i, $sutun)==0)
{
echo '<tr>';
}
$desc=$liste->item($i)->getElementsByTagName("description")->item(0)->nodeValue;
$strsub=str_sub($desc, strpos($desc, "http://"), strpos($desc, "boyut=60")+7);
$imgsrc=str_replace("www","dene","$strsub");
?>
<td align="center" width="20%" valign="top">
<table width="100%" border="0" height="100%">
<tr>
<td align="center"><a href="<?php echo $liste->item($i)->getElementsByTagName("link")->item(0)->nodeValue; ?>" target="_blank"><img src="<?php echo "$imgsrc"; ?>" width="60" border="0"/></a></td>
</tr>
<tr>
<td align="center"><?php echo $liste->item($i)->getElementsByTagName("title")->item(0)->nodeValue; ?></td>
</tr>
</table>
</td>
<?php
if (fmod($i, $sutun)==$sutun-1)
{
echo '</tr>';
}
}
echo '</table>';
}
?>Şimdiden teşekkürler.