link verme?? Yardım...

hhavci

New member
Katılım
12 Eki 2006
Mesajlar
45
Reaction score
0
Puanları
0
slm arkadaşlar,

aşağıdaki gibi bi kod hazırladım. oncesinde yapmak istedigimi kısaca ozetleyim. bi film arşivi oluşturuyom, site yoneticisi basit bi panel yardımıyla film bilgilerini veritabanına giriyo (barkod no, film adı, oyuncular, yonetmen, yapım yılı, konu vb.), ordan "listeler.php" diye bi sayfada bu bilgilerden sadece barkod no ve film adı listeleniyo. buraya kadar geldim, fakat listeden herhangi bi filmin ustune tıklayınca ufak bi pencerede filmle ilgili diger bilgilerin acılmasını istiyom, bunun mantıgını daha kuramadım.

yardımcı olursanız sevinirim arkadaşlar.

listeler.php:
<table border="1" width="84%" id="table1">
<tr>
<td width="197">
<p align="center"><b><font size="4">Film barkod</font></b></td>
<td>
<p align="center"><b><font size="4">Film adi</font></b></td>
</tr>
</table>


<?php


$baglanti = mysql_connect("localhost","root","cennetim");
if (!$baglanti) die ("msql ile veri baglantisi kurulamadi.");
mysql_select_db("film",$baglanti);

$sorgu = mysql_query("SELECT * FROM vcd", $baglanti);

while ($sutun = mysql_fetch_row($sorgu)){

echo "<table border='1' width='84%' id='table2'>
<tr>
<td width='7%'><p align='center'>".$sutun[1]."</td>
<td width='23%'><p align='center'>".$sutun[2]."</td>
</tr>
</table>";
}

?>


bu da kaydet.php:
<?php
$filmad = $_POST["film_ad"];
$barkod = $_POST["barkod"];
$oyuncu = $_POST["oyuncu"];
$yonetmen = $_POST["yonetmen"];
$yapim = $_POST["yapim"];
$konu = $_POST[konu];

$veri_yolu = mysql_connect("localhost","root","cennetim");
if (!$veri_yolu) die ("msql ile veri baglantisi kurulamadi.");

mysql_select_db("film",$veri_yolu);

$ekle = mysql_query("INSERT INTO vcd (barkod,ad,oyuncu,yonetmen,yapim,konu) VALUES ('$barkod','$filmad','$oyuncu','$yonetmen','$yapim','$konu')",$veri_yolu);


echo "kaydiniz tamamlanmistir, yönlendiriliyorsunuz....
<meta http-equiv=\"Refresh\" content=\"3;url=index.php\">";
?>
 
liste.php

PHP:
 <?php

// Bağlantı Kısmı
$baglanti = mysql_connect("localhost","root","cennetim");
if (!$baglanti) die ("msql ile veri baglantisi kurulamadi.");
mysql_select_db("film",$baglanti);

$sorgu = mysql_query("SELECT * FROM vcd");

for($i = 0; $i < mysql_num_rows($sorgu); $i++) {
$sutun = array(
mysql_result($sorgu, $i, 'sütun adı1'),
mysql_result($sorgu, $i, 'sütun adı2')
);

// Yazdır
echo "<table border='1' width='84%' id='table2'>
<tr>
<td width='7%'><p align='center'>".$sutun[1]."</td>
<td width='23%'><p align='center'>".$sutun[2]."</td>
</tr>
</table>";
}

?>

listeler.php ile ilgili bi tavsiyem olucak, bağlantı kısmı yazdım oraya,
ordaki kodları bi config dosyasına atıp ta require_once("config.php"); ile include etsen
daha yararlı olur.çünkü her sayfaya mysql connect yapmaktansa configi direk include et.


kaydet.php

PHP:
 <?php
// post değerleri
$filmad = escape_string($_POST["film_ad"]);
$barkod = escape_string($_POST["barkod"]);
$oyuncu = escape_string($_POST["oyuncu"]);
$yonetmen = escape_string($_POST["yonetmen"]);
$yapim = escape_string($_POST["yapim"];
$konu = escape_string($_POST[konu]);




#########
## Bağlantı Kısmıımız (sen yazarsın ben yazmıyorum) ##
#########



$ekle = "INSERT INTO vcd (barkod,ad,oyuncu,yonetmen,yapim,konu) VALUES 
('$barkod', '$filmad', '$oyuncu', '$yonetmen', '$yapim ', '$konu');";
// mysql sorgusunu uygula
mysql_query($ekle);

// not yine aynı şeyi yapmışsın fonksiyonu değişkene atamışsın :))


echo "kaydiniz tamamlanmistir, yönlendiriliyorsunuz....
<meta http-equiv=\"Refresh\" content=\"3;url=index.php\">"; 

// fonksiyonumuz.. eğer post ile girilen metinlerde tırnak işareti varsa SQL kodu çalışmıcaktır
// bu nedenle öncelikle tırnak işareti ( ' ) bulunan yerleri ( \' ) şekline dönüştürüyoruz

function escape_string($str) {
	if ($str !== null) {
		$str = str_replace(array('\\','\''),array('\\\\','\\\''),$str);

	} else {
		$str = "null";
	}
	return $str;
}

?>


kolay gelsin
 
çok tşkr ederim arkadaş verdigin bilgiler işime yarıyor, fakat tam istedigim konuyla ilgili bişey goremedim. kodlarda benim anlamadgıım bi yer mi var diye cok inceledim ama yok bulamadım... benim istedigim o listeye döktügümüz filmler var ya, listede onların sadece barkod no su ve ismi görünecek, farkettiysen 2 sutun yaptırdım zaten. ama o listeden herhangi bi filmin ustune tıklayınca da diğer bilgiler acılacak. artık ayrı bi pencere mi olur yoksa aynı mı farketmez... ben burda o link vermeyle ilgili bi yer bulamadım.
yine de çok tşkr ederim, vakit ayırıyosun, Allah razı olsun....
 
hmm o zaman şöyle yapıcaz; sen o VCD tablosu içinde birde id diye bi sütün oluştur..

id - INT 10 - UNSIGNED - not null - auto_increment - primary key

şeklinde oluştur.daha sonra listeler.php kısmında array içine id için olanı da ekleyelim

PHP:
$sutun = array(
mysql_result($sorgu, $i, 'sütun adı1'),
mysql_result($sorgu, $i, 'sütun adı2'),
mysql_result($sorgu, $i, 'id')
);

yazdır kısmında da mesela link verelim ID'ye göre

PHP:
<td width='7%'><p align='center'><a href='film.php?id".$sutun[3]."'>".$sutun[1]."</a></td>

film.php?id=12 şekllinde giricez mesela..

şimdi de film.php oluşturalım

PHP:
// bağlantı  
if($_GET['id'] != "") {
$film = mysql_fetch_array(mysql_query("SELECT * FROM vcd WHERE id = '$_GET[id]' "));
if(count($film) > 1 && $film != "") {
echo "Film Adı: $film[isim], Barkod $film[barkod]";
}
else {
echo "Belirtilen ID'ye göre film bulunamadı";
}
}
else {
echo "Geçersiz ID";
}

umarım doğru anlayıp yapmışımdır. yanlış yapsam bile taktiği gösterdim anlamışsındır ;)
 
tamamdır bi de boyle deneyim bakalım. çok saol
 
bu verdiğin kodlar çok işe yaradı arkadaş saol gerçekten. fazla olmazsa bi ricam daha olacak. ben bi sayfadaki ekrana yazdırılan bilgiyi başka sayfadaki bi textbox a cekmek istiyom. bunu nasıl yapabilirm. netten cok bakındım ama visual basic delphi falan var genelde. php ile ilgili yok...
 
Geri
Üst