Yorum Mantığı nedir?.
Ben siteme haber modülü kodladım. Veritabanımda iki adet tablo oluşturdum.
=> haber
=>yorum
Haber tablomda..
haber_id = Auto increment = anahtar
haber_baslik
haber
onay
resim alanları mevcut..
Yorum tablomda ise...
Yorum_id = Auto increment = Anahtar
haber_id
yorumcu
yorum_baslik
saat
tarih
ip
onay
alanları mevcut... ben şunun mantığını kavrayamadım....
yazılan yorumların hepsi bütün haberlerde çıkıyor.. her haberin yorumlarının sadece o haberde görünmesinin mantığı nedir.. ben şu şekilde düşündüm. ama yapamadım. yardım ederseniz sevinirim..
/yorum_ekle.php?haber_id=haber_id bu sayede haberin id sine yorum yazılmıs olacak.
yorum_id = 1 olabilir ama.. haber_id=48 ise ve otomatik değişmediği için 48 id olan haberde görünecektir.
$sor = mysql_query("SELECT * FROM yorum where haber_id ORDER BY yorum_id DESC");
while($yaz=mysql_fetch_array($sor)){
örn: haberimiz. index.php ´ de görünüyor ama sadece haberin bir kısmı
devamı yazısına tıklandığında haberler.php?haber_id=haber_id olarak nasıl başka bir sayfada göstereceğiz.. yeni sayfada açtırabilirim ama haber_id nin benim seçtiğim haber_id olmasını nasıl tanımlayabilirim. haber.php sayfasının içeriği nasıl olmalıdır.
aktifhaber.com daki gibi bişey olsun istiyorum. anasayfada haberin bir bölümü. ve tıkladığında yeni sayfada açılıyor. ve altta haber için yorum bölümü var. ve o yorumlar sadece o haberde görünüyor..
yardımcı olursanız sevinirim
silmedim
Uyarı: ilk olduğunuz için konuyu taşıdım. bidahakine ders bölümüne soru sorarsanız silerim.
YORUM
yorum tablosunda "haber_id" alanını kullanırsanız her haberde çıkmaz. mysql cümlenizde eksik var:
örnek: 5 numaralı haberde hangi yorumlar görünecek:
$sor = mysql_query("SELECT * FROM yorum where haber_id=5 ORDER BY yorum_id DESC");
HABER
Haberleri başka sayfada açmak çok kolay:
adres satırı: haberler.php?haber_id=haber_id
mysql kodu:
$haberno=htmlspecialchars($_GET["haber_id"]); // bu satır güvenlik için
$sor = mysql_query("SELECT * FROM haber where haber_id=$ haberno");
Tşk ederim
index.php nin kodları şöyle
<?php
include("../baglanti.php");
$sor = mysql_query("SELECT * FROM haber where onay=´0´ ORDER BY haber_id DESC LIMIT 10");
while($yaz=mysql_fetch_array($sor)){
$haber_id = $yaz["haber_id"];
$haber_konu = $yaz["haber_konu"];
$haber_baslik = $yaz["haber_baslik"];
$haber_resim = $yaz["haber_resim"];
echo "
<table cellSpacing=\"0\" cellPadding=\"0\" width=\"481\" align=\"center\" border=\"0\" id=\"table498\">
<tr>
<td width=\"14\" rowSpan=\"3\">
<img id=\"iczemin_r1_c63\" height=\"45\" alt=\"\" src=\"resimler/iczemin_r1_c1.jpg\" width=\"14\" border=\"0\" name=\"iczemin_r1_c62\"></td>
<td width=\"453\" background=\"resimler/iczemin_r1_c2.jpg\" colSpan=\"2\" height=\"10\"> </td>
<td width=\"14\" rowSpan=\"3\">
<img id=\"iczemin_r1_c64\" height=\"45\" alt=\"\" src=\"resimler/iczemin_r1_c3.jpg\" width=\"13\" border=\"0\" name=\"iczemin_r1_c63\"></td>
</tr>
<tr>
<td class=\"baslik12\" width=\"453\" background=\"resimler/iczemin_r2_c2.jpg\" colSpan=\"2\" height=\"22\">
<span style=\"FONT-WEIGHT: 700; FONT-SIZE: 11pt\">
<font style=\"font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; font-family: Tahoma\" color=\"#000080\">
<span style=\"FONT-WEIGHT: 700; FONT-FAMILY: Tahoma\">$haber_baslik</span></font><font style=\"font-weight: normal; font-size: 11pt; font-style: normal; font-family: Tahoma; font-variant: normal\" color=\"#000080\">
</font>
<img height=\"14\" src=\"resimler/new.gif\" width=\"30\" border=\"0\"></span></td>
</tr>
<tr>
<td width=\"453\" background=\"resimler/iczemin_r3_c2.jpg\" colSpan=\"2\" height=\"13\"> </td>
</tr>
<tr>
<td width=\"14\" background=\"resimler/iczemin_r4_c1.jpg\">
</td>
<td class=\"parag12\" vAlign=\"top\" width=\"303\">
<table border=\"0\" width=\"98%\" id=\"table499\">
<tr>
<td height=\"121\"><b>$haber_konu</b></td>
</tr>
<tr>
<td>
<p align=\"right\">
<font color=\"#000080\" style=\"font-style: normal; font-variant: normal; font-weight: normal; font-size: 8pt; font-family: Tahoma\"><b>
<a href=\"haber.php?haber_id=$haber_id\">Devamı....</a></b></font></td>
</tr>
</table>
</td>
<td class=\"parag12\" width=\"150\">
<p style=\"TEXT-ALIGN: center\"><img src=\"$haber_resim\" width=\"150\" height=\"150\" border=\"0\"></td>
<td width=\"14\" background=\"resimler/iczemin_r4_c3.jpg\">
</td>
</tr>
<tr>
<td>
<img id=\"iczemin_r5_c63\" height=\"17\" alt=\"\" src=\"resimler/iczemin_r5_c1.jpg\" width=\"14\" border=\"0\" name=\"iczemin_r5_c62\"></td>
<td width=\"453\" background=\"resimler/iczemin_r5_c2.jpg\" colSpan=\"2\" height=\"17\">
<div class=\"main_container\">
<div class=\"base clearfix\">
<div class=\"base_middle\">
<div class=\"base_middle_inner\"
<div class=\"middle_content\">
<div class=\"navigation\">
<div class=\"container\">
<div class=\"inner\">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</td>
<td>
<img id=\"iczemin_r5_c64\" height=\"17\" alt=\"\" src=\"resimler/iczemin_r5_c3.jpg\" width=\"13\" border=\"0\" name=\"iczemin_r5_c63\"></td>
</tr>
</table>
";
}
?>
bu kodlarla veri tabanımdaki bilgileri en fazla 10 olacak şekilde son eklenen en başta olmak üzere güzelce yayınlıyorum..
burada yapmak istediğim şey. devamı... yazısına tıklandığına
haber.php?haber_id=$haber_id sayfasına gidiyor.. fakat. burada bütün haberler görünüyor. sadece o haberin id sinin görünmesini istiyorum.
benim haber.php dosyamın içeriği..
<?php
include("../baglanti.php");
$sor = mysql_query("SELECT * FROM haber where haber_id");
while($yaz=mysql_fetch_array($sor)){
$haber_id = $yaz["haber_id"];
$haber_konu = $yaz["haber_konu"];
$haber_baslik = $yaz["haber_baslik"];
$haber_resim = $yaz["haber_resim"];
$haber_devami = $yaz["haber_devami"];
$saat = $yaz["saat"];
$tarih = $yaz["tarih"];
echo "
<table border=\"0\" width=\"57%\" id=\"table1\" height=\"240\">
<tr>
<td><img border=\"0\" src=\"$haber_resim\" width=\"250\" height=\"229\"></td>
<td width=\"314\">
<table border=\"0\" width=\"100%\" id=\"table2\" height=\"228\">
<tr>
<td height=\"30\">$haber_baslik</td>
</tr>
<tr>
<td>$haber_konu</td>
</tr>
</table>
</td>
</tr>
</table>
<table border=\"0\" width=\"57%\" id=\"table3\">
<tr>
<td>
<table border=\"0\" width=\"100%\" id=\"table4\">
<tr>
<td height=\"196\">$haber_devami</td>
</tr>
<tr>
<td>
<table border=\"0\" width=\"101%\" id=\"table5\">
<tr>
<td width=\"120\"><b>$saat</b></td>
<td><b>$tarih</b></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
";
}
?>
böyle olunca veri tabanındaki bütün haberler listeleniyor. yapmak istediğim sadece seçmiş olduğum haberin listelenmesi.
teşekkür ederim
php
cevabımı okumadan aynı soruyu tekrar soruyorsun, kodunda eksik var, aşağıda kırmızı:
cevap:
$sor = mysql_query("SELECT * FROM haber where haber_id=$haberno");
php
onuda yaptım olmadı.....
bu sefer o kodun olduğu satırda hata veriyor...
php
$habernoyerine yanlışlıkla$ haberno yazmışım.
dolardan sonra boşluk olursa hata verir.
haberno kısmının veri tabanında benzersiz olmasına da dikkat etmek gerek değilmi... otomatik de değilse orda aynı haberno dan birden fazla oluşabilir. :# saygılar.