Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » PHP » PHP anasayfasında döngü ile bir ürün listesi hazırlamak ve Detay.php ye link döngüsü


Yanıt
 
LinkBack Seçenekler
Old 24.05.2007   #1 (permalink)
 
Üyelik Tarihi: 16.08.2000
Yer: amerikanya
Mesaj: 59
PHP anasayfasında döngü ile bir ürün listesi hazırlamak ve Detay.php ye link döngüsü


Merhabalar programcı ve tasarımcı gençlik;


PHP ile biraz kavga ettik iyice tepemi attırdı. müsadenizle probelemimi açıklayayım
1- PHP ve MySQL database kullanarak basit bir e-ticaret sitesi yapıyorum ve en cok işlem gören 6 urunu anasayfada görüntülemek istiyorum.
2- detay.PHP linkinde bir dongu kullanarak hangi resmin altındaki detya.PHP ye basarsan dongude o resme karşılık gelen id numarasından databaseden o urunun tum detaylarını getirsin istiyorum kodlarımı müsadenizle koyayım varın siz varar verin nasıl bir dongu kurmam lazım. Lakin bu işin içinden çıkamadım.

-------------index.PHP----------------------------------
PHP Code:
<?PHP
$connection 
mysql_connect('localhost''root''1234');

if (!
$connection) {
    die(
'Baglanti gerçeklestirilemedi: ' mysql_error());
}


@
mysql_select_db('giyerim');



$qryURUN ="SELECT * FROM urun  where ID=$URUNID";
$rsURUN=mysql_query($qryURUN,$connection);

$numURUN=mysql_numrows($rsURUN);

echo 
"<table border=1>\n";


$i=0;
While (
$i $numURUN)
{
   
$URUNID=mysql_result($rsURUN,$i,"ID") ;
   
$TURU=mysql_result($rsURUN,$i,"TURU") ;
   
$MARKASI=mysql_result($rsURUN,$i,"MARKASI");
   
$MODEL=mysql_result($rsURUN,$i,"MODEL");
   
$BEDEN=mysql_result($rsURUN,$i,"BEDEN") ;
   
$RENK=mysql_result($rsURUN,$i,"RENK");
   
$FIYAT=mysql_result($rsURUN,$i,"FIYAT");
   
$RESIM=mysql_result($rsURUN,$i,"RESIM");


echo 
"<tr>\n";
echo 
"<td ><img src='$RESIM' width='150px' height='150px'>$Resim</td>\n";
echo 
"</tr>\n";
++
$i;
}
echo 
"<a href='dty.PHP?urunid=".$rsURUN['ID']."'>Detay</a>";
mysql_close($connection);

echo 
"</table>";

?>
---------------dty.PHP-------------------------
PHP Code:
<?PHP
$connection
mysql_connect('localhost''root''1234');
if (!
$connection) {
    die(
'Baglanti Saglanamadi: ' mysql_error());
}
//echo 'Baglanti Saglandi';


if (!mysql_select_db('giyerim'$connection)) {
    echo 
'Veritabani bulunamadi';
    exit;
}



$qryURUN='SELECT * FROM urun where ID=$id';
$rsURUN=mysql_query($qryURUN,$connection);


if (!
$rsURUN) {
    echo 
"Sorgu yapilamadi\n";
    echo 
'MySQL Hatasi: ' mysql_error();
    exit;
}

$numURUN=mysql_numrows($rsURUN);


echo 
"<table border=1>";

echo 
"<table border=1> \n";
echo 
"<tr><td>Türü</td><td>Markası</td><td>Modeli</td><td>Bedeni</td><td>Rengi</td><td>Fiyatı</td><td>Resmi</td></tr>\n";

$i=0;
While (
$i $numURUN)
{
   
$ID=mysql_result($rsURUN,$i,"ID") ;
   
$TURU=mysql_result($rsURUN,$i,"TURU") ;
   
$MARKASI=mysql_result($rsURUN,$i,"MARKASI");
   
$MODEL=mysql_result($rsURUN,$i,"MODEL");
   
$BEDEN=mysql_result($rsURUN,$i,"BEDEN") ;
   
$RENK=mysql_result($rsURUN,$i,"RENK");
   
$FIYAT=mysql_result($rsURUN,$i,"FIYAT");
   
$RESIM=mysql_result($rsURUN,$i,"RESIM");

echo 
"<tr>\n";
echo 
"<td >$TURU</td><td>$MARKASI</td><td>$MODEL</td><td>$BEDEN</td><td>$RENK</td><td>$FIYAT</td><td><img src='$RESIM' width='150px' 

height='150px'></td>\n"
;
echo 
"</tr>\n";
++
$i;

}
echo 
"</table>";
mysql_free_result($rsURUN);


mysql_close($connection);
?>
__________________
Struggle is my life
!!!////FREEDOM\\\\!!!
rintintin şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.05.2007   #2 (permalink)
 
hayalet's Avatar
 
Üyelik Tarihi: 07.10.2002
Yer: İstanbul
Yaş: 26
Mesaj: 986
Re: PHP anasayfasında döngü ile bir ürün listesi hazırlamak ve Detay.php ye link döng

Merhaba,

Öncelikle konunun "Sunucu Tabanlı Programlama" bölümünde olması gerektiğini düşündüğümü belirtmeliyim.

Kodları yazılımsal olarak çok inceleyemedim (yazım hatası varmı, vb...). Ama şunu söyleyeyim, iki dosyanın yaptığı şey hemen hemen aynı değil mi? İki dosyada da belirli bir ürün için sorgulama yapıyorsun (ID sütununa göre). Dolayısıyla çıkan sonuçlar birbirine benzemeli, değil mi?

Son olarak, bu adres işini biraz daha kolaylaştırır gibi geldi bana.

Kolay gelsin.
hayalet şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 25.05.2007   #3 (permalink)
 
Üyelik Tarihi: 06.07.2006
Yer: İstanbul
Yaş: 22
Mesaj: 216
Re: PHP anasayfasında döngü ile bir ürün listesi hazırlamak ve Detay.php ye link döng

Ilk olarak urunlerin hangisinin en cok izlendigini bulman lazim. Bunun icin de bir cesit sayac uygulamasi gerekiyor. En kisa yolu, birisi detay.PHP'ye girdigi zaman, MySQL tablosunda o urune ait sayac kolonunu artir... Bunu yapmis sayarak ilk dosyayi olustur...
Kod:
<?PHP 
$connection = mysql_connect('localhost', 'root', '1234'); 
if (!$connection) 
    die('Baglanti gerçeklestirilemedi: ' . mysql_error()); 
@mysql_select_db('giyerim'); 

echo "<table border=1>\n"; 

$qryURUN ="SELECT id, resim FROM urun  ORDER by sayac DESC LIMIT 6"; 
$rsURUN=mysql_query($qryURUN,$connection); 
while($row=mysql_fetch_array($rsURUN)){
	$id=	$row['id'];
	$resim=	$row['resim'];

	echo "<tr>\n"; 
	echo "<td><img src=\"".$resim."\" width=\"150px\" height=\"150px\">".$resim."<br />"; 
	echo "<a href=\"dty.PHP?urunid=".$id."\">Detay</a></td>\n"; 
	echo "</tr>\n"; 
}

mysql_close($connection); 

echo "</table>"; 
?>
Ikinci dosyaya gelecek olursak...
Kod:
<?PHP 
$connection= mysql_connect('localhost', 'root', '1234'); 
if (!$connection)
    die('Baglanti Saglanamadi: ' . mysql_error()); 
//echo 'Baglanti Saglandi'; 
if (!mysql_select_db('giyerim', $connection)) { 
    echo 'Veritabani bulunamadi'; 
    exit; 
} 
$id=$_GET['urunid'];
$qryURUN='SELECT * FROM urun WHERE ID=$id'; 
$rsURUN=mysql_query($qryURUN,$connection); 

if (!$rsURUN) { 
    echo "Sorgu yapilamadi\n"; 
    echo 'MySQL Hatasi: ' . mysql_error(); 
    exit; 
} 
echo "<table border=1>"; 
echo "<tr><td>Türü</td><td>Markasi</td><td>Modeli</td><td>Bedeni</td><td>Rengi</td><td>Fiyati</td><td>Resmi</td></tr>\n"; 
while($row=mysql_fetch_array($rsURUN)){
	$ID=$row['id']; 
	$TURU=$row['turu']; 
	$MARKASI=$row['markasi']; 
	$MODEL=$row['model']; 
	$BEDEN=$row['beden']; 
	$RENK=$row['renk']; 
	$FIYAT=$row['fiyat']; 
	$RESIM=$row['resim']; 
	$sayac=$row['sayac'];
	
	echo "<tr>\n"; 
	echo 	"<td >".$TURU."</td>".
			"<td>".$MARKASI."</td>".
			"<td>".$MODEL."</td>".
			"<td>".$BEDEN."</td>".
			"<td>".$RENK."</td>".
			"<td>".$FIYAT."</td>".
			"<td><img src=\"".$RESIM."\" width=\"150px\" height=\"150px\"></td>\n";
	echo "</tr>\n"; 
} 
echo "</table>"; 
mysql_free_result($rsURUN); 

$query=sprintf("UPDATE giyerim SET sayac=%d WHERE id='%s'", $sayac+1, $ID);
$result = mysql_query($query) or die(mysql_error());  

mysql_close($connection); 
?>
Kodu daha da guzellestirebilirsin... Ozellikle class yaratip, cok daha rahat erisim saglaman mumkun. Boylece ayni bilgileri birden fazla kullaniyorsan, her defasinda MySQL'e girmezsin ama objeyi olusturduktan sonra bunu diger sayfaya aktarmak mantiksiz tabi.. Bu nedenle ayni sayfa icinde AXAJ kullanarak gostermen optimize edecektir kodu. Ayrica gozumden kacmis bir iki yer olabilir simdiden uyarayim.
bgul şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 26.05.2007   #4 (permalink)
 
Üyelik Tarihi: 16.08.2000
Yer: amerikanya
Mesaj: 59
Re: PHP anasayfasında döngü ile bir ürün listesi hazırlamak ve Detay.php ye link döng

teşekkürler hayalet verdiğin linkte bir çok fetch_assoc ve döngü uygulamaları vardı hepsini bir arada görmemiştim deneyerek bir tane işime yarar hale getirdim ve şu an çalışıyor

bgul senin tavsiyenide yabana atmadım ama farklı yaptım biraz sayaç yerine urunkodu gibi bir şey oluştuırdum ki ilerde bu urunkodu stok numarası olarakda kullanilabilsin diye ve bunu da dongu haline getirdim kodun son halini gönderiyorumki forumda bir katkı olarak bulunsun.


ayrıca anasayfada sadece fırsat urunleri görüntulensin diye fırsat diye bir field oluşturdum ve buna 1 ve 0 değerleri verdim dolayısı ile anasayfada goruntulenecek urunu belirleyebilme yetkim var artık. Detay a tıklandıgında MySQL den ilgili döngü ile aynı numarayı tasıyan urunun detay bilgileride ekrana gelmiş olacak bu sadece motor aşamasıydı grafik görsel tasarım aşamasına geçebilirim artık

-----index.PHP----------------------
PHP Code:
<?PHP
$connection 
mysql_connect('localhost''root''1234');

if (!
$connection) {
    die(
'Baglanti gerçeklestirilemedi: ' mysql_error());
}


@
mysql_select_db('giyerim');



$qryURUN ="SELECT * FROM urun  where FIRSAT=1";
$rsURUN=mysql_query($qryURUN,$connection);

$numURUN=mysql_numrows($rsURUN);

echo 
"<table border=1>\n";

$fields_num mysql_num_fields($rsURUN);

for(
$i=0$i<3$i++)
{

    
$field mysql_fetch_field($rsURUN);

    echo 
"<td><a href='dty.PHP?urunid=$i'>DETAY</a></td>";


       
$RESIM=mysql_result($rsURUN,$i,"RESIM") ;
    echo 
"<td><img src='$RESIM' width='150px'height='150px'></td>\n";
}
if (
$i == 3) {
$i 0;
echo 
'</tr><tr>';
}
echo 
"</tr>\n";

while(
$row mysql_fetch_row($rsURUN))
{
    echo 
"<tr>";

  
    foreach(
$row as $cell)

    echo 
"</tr>\n";
}

mysql_close($connection);

echo 
"</table>";

?>

-----dty.PHP-------

PHP Code:
<?PHP
$connection
mysql_connect('localhost''root''1234');
if (!
$connection) {
    die(
'Baglanti Saglanamadi: ' mysql_error());
}
//echo 'Baglanti Saglandi';


if (!mysql_select_db('giyerim'$connection)) {
    echo 
'Veritabani bulunamadi';
    exit;
}



$qryURUN="SELECT * FROM urun where Code=$urunid";
$rsURUN=mysql_query($qryURUN,$connection);


if (!
$rsURUN) {
    echo 
"Sorgu yapilamadi\n";
    echo 
'MySQL Hatasi: ' mysql_error();
    exit;
}

$numURUN=mysql_numrows($rsURUN);


echo 
"<table border=1>";

echo 
"<table  border=1> \n";
echo 
"<tr><td align=center>Resmi<br>(büyütmek için tıklayın)</td><td align=center>Türü</td><td align=center>Markası</td><td align=center>Modeli</td><td align=center>Bedeni</td><td align=center>Rengi</td><td align=center>Fiyatı</td></tr>\n";

$i=0;
While (
$i $numURUN)
{
   
$RESIM=mysql_result($rsURUN,$i,"RESIM");
   
$urunid=mysql_result($rsURUN,$i,"ID") ;
   
$TURU=mysql_result($rsURUN,$i,"TURU") ;
   
$MARKASI=mysql_result($rsURUN,$i,"MARKASI");
   
$MODEL=mysql_result($rsURUN,$i,"MODEL");
   
$BEDEN=mysql_result($rsURUN,$i,"BEDEN") ;
   
$RENK=mysql_result($rsURUN,$i,"RENK");
   
$FIYAT=mysql_result($rsURUN,$i,"FIYAT");
   

echo 
"<tr>\n";
echo 
"<td><a href='$RESIM'><img src='$RESIM' width='150px' height='150px'></td></a><td>$TURU</td><td>$MARKASI</td><td>$MODEL</td><td>$BEDEN</td><td>$RENK</td><td>$FIYAT</td>\n";
echo 
"</tr>\n";
++
$i;


}
echo 
"</table>";
mysql_free_result($rsURUN);


mysql_close($connection);
?>
__________________
Struggle is my life
!!!////FREEDOM\\\\!!!
rintintin şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 26.05.2007   #5 (permalink)
 
Üyelik Tarihi: 06.07.2006
Yer: İstanbul
Yaş: 22
Mesaj: 216
Re: PHP anasayfasında döngü ile bir ürün listesi hazırlamak ve Detay.php ye link döng

Hesaba katmadigin bir kac nokta var yalniz.
1. Ilk dosyada, eger her hangi bir urunu silersen daha sonra, id sirasi degisecektir. su an detay icin link'leri verirken for loop'taki $i degerine gore veriyorsun. Bunu daha sistematik yapmak icin hazir bilgileri SQL sorgusuyla almisken, ordaki id'leri kullan.
2. Yine index'te, SQL sorgusunda butun field bilgilerini aliyorsun; ancak sadece resim bolumunu kullaniyorsun. (belki bir de id'yi kullanacaksin..) "SELECT *" yerine "SELECT id, resim" kullanmani oneririm, boylece gereksiz yerleri almamis olursun.
3. SQL sorgusuyla aldigin bilgileri dogrudan kullanmak yerine bi array'e kaydedersen, daha sonra ayni dosya icinde kullanman gerektiginde dogrudan array'e basvurursun. Yoksa tekrar tekrar sorguyu yollaman gerekir.

NOT: benim tavsiyelerim daha cok optimization ile ilgili. Bu aralar ona kafayi takmis durumdayim. Yapmazsan da calisir tabi; ama 0.005 degil de 0.015 surer. Tabi urun sayisi arttikca etkisi artar optimization'in.
bgul şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 29.05.2007   #6 (permalink)
 
Üyelik Tarihi: 16.08.2000
Yer: amerikanya
Mesaj: 59
Re: PHP anasayfasında döngü ile bir ürün listesi hazırlamak ve Detay.php ye link döng

çok teşekkürler bgul .
Profesyonel yaklaşımın ve yardımların için sağol.
Çok önemli noktalara değinmişsin.
Traşlama dediğim tasarım kısmında optimizasyona da önem veriyorum tabi. Dediklerini uygularım. Başta yapılan herşey sadece çalışması içindi. Ama ID de dediğin gibi bir problem olacak ilerde, şimdi onu düşünüyorum. Otomatik ID yerine ne atasam acaba.
Hazır yapılmış sitelerin PHP kodlarına nasıl ulaşırım ki? benim yapmaya çalıştığım gibi basit bir e-ticaret sitesi taslağı varsa oldugu gibi alıp kullanmak değil ama belki bazı kodlarından faydalanmak isterim.
__________________
Struggle is my life
!!!////FREEDOM\\\\!!!
rintintin şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 29.05.2007   #7 (permalink)
 
Üyelik Tarihi: 06.07.2006
Yer: İstanbul
Yaş: 22
Mesaj: 216
Re: PHP anasayfasında döngü ile bir ürün listesi hazırlamak ve Detay.php ye link döng

Asagidaki gibi kullanirsan ID'leri de tablodan almis olursun.
Kod:
$numURUN=mysql_numrows($rsURUN); 

echo "<table border=1>\n"; 

$fields_num = mysql_num_fields($rsURUN); 

for($i=0; $i<$numURUN; $i++) 
{ 

    $field = mysql_fetch_field($rsURUN); 
$ID=mysql_result($rsURUN,$i,"ID") ; 
    echo "<td><a href='dty.PHP?urunid=$ID'>DETAY</a></td>"; 


       $RESIM=mysql_result($rsURUN,$i,"RESIM") ; 
    echo "<td><img src='$RESIM' width='150px'height='150px'></td>\n"; 
}
bgul şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

php , anasayfasinda , dongu , urun , listesi , hazirlamak , detayphp , link , dongusu



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting h