Veritabanına veri gönderme.

serdarS. serdar

Merhaba,

Veri tabanına veri göndermek için bir form yaptım, ve aşağıda vereceğim kodlarla verı gönderiyorum. Sorun şu ben gönderilen aynı değerleri kaydedilmesini istemiyorum yada uyarılmasını istiyorum. umarım derdimi anlatabildim

$yazar = $_POST['yazar'];
$eser = $_POST['eser'];

$kaydet = mysql_query("insert into defter (id, yazar, eser) values (NULL, '$yazar', '$eser')");

if($kaydet){
 echo "Gönderildi";
} else{
echo "Gönderilmedi";
}
2010-09-04 15:11:19 Edit:2010-09-04 15:13:44

Ne kaydedilmesini istiyorsunuz peki ?

bunun yeirne ne gelecek mesela :

$yazar = $_POST['yazar'];

Birde şu satırda kısaltma olabilir. Auto_increment ise :

$kaydet = mysql_query("insert into defter (yazar, eser) values ('$yazar', '$eser')");

Her programcı birgün Php yi tadacaktır
2010-09-04 23:08:10

serdarS. serdar

şöyle diyeyim A adlı yazarın B adlı kitabı kayıtlı ise bu bir daha gönderildiğin de bunun kayıtlı olduğunu bildirsin

2010-09-05 00:10:14

cvp.

nssasmazNursin ŞaşmazAvatar
$sql=mysql_query("SELECT id FROM `eser` WHERE `yazar`='A' and `eser_adi`='B'");
if(mysql_num_rows($sql)==0) {
$kaydet= { sizin sorgunuz ve işlemleriniz .... }
} else {
echo 'Eklemek istediğiniz eser daha önceden kayıt edilmiştir.';
}
Gitme vakti gelince gitmek mi zordur kalmak mı?
2010-09-06 12:42:59

serdarS. serdar

Cevap için teşekürler,

ama hata veriyor Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in xxxxxxxxxx/kayd.php on line 8

8. sırada ise    if(mysql_num_rows($sql)==0) { var,

2010-09-06 23:18:15

Edit:

Edit:

theSinanSinan AY

necati kardeşim

$sql=mysql_query("SELECT id FROM `eser` WHERE `yazar`='A' and `eser_adi`='B'");
if(mysql_num_rows($sql)==0) {
$kaydet= { sizin sorgunuz ve işlemleriniz .... }
} else {
echo 'Eklemek istediğiniz eser daha önceden kayıt edilmiştir.';
}

bu şekilde yazmış

$sql=mysql_query("SELECT id FROM eser WHERE `yazar`='A' and `eser_adi`='B'");
if(mysql_num_rows($sql)==0) {
$kaydet= { sizin sorgunuz ve işlemleriniz .... }
} else {
echo 'Eklemek istediğiniz eser daha önceden kayıt edilmiştir.';
}

yukarda yeşil renkte eser yazan bölümde tek tırnak olmayıp sizin tablonuzun adı olması gerekir

öyle bir deneyin

2010-09-07 09:55:19

serdarS. serdar

Hatayı göstermiyor ama eski sorgudan da bir farkı yok bunun yani yine tablomdaki degerleri göz önünde buundurmadan gönderilen her şeyi kayd ediyor. Galiba ben sorunumu tam anlatamadım tablom aşağıda

id    yazar              eser
1      Ahmet            Kar

Diyelim ki tablomda Ahmedin Kar  adlı esri kayıtlıdır, eğer bir daha Ahmedin Kar adlı eseri gönderilirse bu veri tabanına kayıt edilmesin.

2010-09-07 14:45:35

Edit:

theSinanSinan AY

$yazar = $_POST['yazar'];
$eser = $_POST['eser'];

//gelen bilgileri tabloda sorgulatıyoruz

$sorgula=mysql_query("select * from defter where yazar='".$yazar."' and eser='".$eser."'");

//bulunan sutun sayısını değişkene atıyoruz

$varmi=mysql_num_rows($sorgula);

/*değişken degeri 0 ise false 0 dan fazla isle true değeri döndürdüğünden değeri kontrol ettiriyoruz */

if($varmi){

//değişken degeri 0 dan fazla ise ekrana mesaj yazdırıp sayfayı durduruyoruz

echo " $yazar 'a ait $eser adlıı eser daha önce sistemde kayıtlı

kayit islemi yapılmadı lütfen başka bir kayıt girmeyi deneyin";

exit();

}


$kaydet = mysql_query("insert into defter (id, yazar, eser) values (NULL, '$yazar', '$eser')");

if($kaydet){
 echo "Gönderildi";
} else{
echo "Gönderilmedi";
}

2010-09-08 13:29:55

serdarS. serdar

Şimdi de gönderilen tüm verilere a ya ait  adlı eser daha önce sistemde kayıtlı dır mesajı veriyor ve veri tabanında boş satırlar oluşturuyor.

2010-09-09 16:27:14

theSinanSinan AY

$yazar = $_POST['yazar'];
$eser = $_POST['eser'];

//gelen bilgileri tabloda sorgulatıyoruz

$sorgula=mysql_query("select * from defter where yazar='$yazar' and eser='$eser'");

//bulunan sutun sayısını değişkene atıyoruz

$varmi=mysql_num_rows($sorgula);

/*değişken degeri 0 ise false 0 dan fazla isle true değeri döndürdüğünden değeri kontrol ettiriyoruz */

if($varmi){

//değişken degeri 0 dan fazla ise ekrana mesaj yazdırıp sayfayı durduruyoruz

echo " $yazar 'a ait $eser adlıı eser daha önce sistemde kayıtlı

kayit islemi yapılmadı lütfen başka bir kayıt girmeyi deneyin";

}
else
{

$kaydet = mysql_query("insert into defter (id, yazar, eser) values (NULL, '$yazar', '$eser')");

if($kaydet){
 echo "Gönderildi";
} else{
echo "Gönderilmedi";
}

}

sıkıntı devam ederse

1 kodu localde mi webte mi deniyorsun

2 php versiyonu nedir

3 mysql_connect atadığın değişken ismi nedir

bunlar foruma yaz yada tablonun sql ni ve kullandığın kodu zipleyip atach et göz atalım

2010-09-11 19:17:56

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro