Bir db var adı " arac " tablo adı da " tbl_arac " htmlde hazırladığım formdan gelen verileri tabloya eklemek istiyorum. Eklediğim bilgileride kontrol etmek istiyorum. İlk kontrol boş dolu kontrolü. Çalışıyor ve eğer dolu ise yüklüyor. Dbyebaktığımda yükleme işlemi tamam. sorun aynı kaydın birde fazla girilmesini engellemek. bunuda plaka üzerinden yapacağım. ama bir türlü beceremedim.
denediğim kod bu şekilde
$kontrol=mysql_query("SELECT * FROM tbl_arac WHERE plaka=$plaka", $dbconn);
bu şekilde db den formdan gelen $plaka verisi ile eşleşen data olup olmadığını anlamaya çalışıyorum ama hata vermiyor ve yükleme yapıyor.
if ($kontrol) { echo "bu araç kayıtlı." ; } elseif ($marka=="" or $model=="" or $plaka=="") { echo "Alanlar boş olmamalı..."; } else { $sql="INSERT INTO tbl_arac (marka,model,plaka,mhacim,mno,sno,tfcikis,acins,lokasyon,muayene,tpul,kasko,locu) VALUES ('$marka ' ,' $model ',' $plaka',' $mhacim',' $mno',' $sno',' $tfcikis ',' $acins',' $lokasyon',' $muayene',' $tpul',' $kasko',' $locu')"; $sorgu=mysql_query($sql); print "bilgi girişi tamam"; }
Şu an hatasız halide bu.
" <?php $dbconn= mysql_connect("localhost", "root" ) or die ("Bağlantı da hata"); mysql_select_db("arac", $dbconn ) or die ("db de hata");
Kayıt eklemeden önce bir fonksiyon yaz. Bu fonksiyon ile db deki plaka alanını girdiğin plaka ile kontrol ettir eğer değer tutuyor ise hata mesajı fırlat değilse kaydı gerçekleştir ;) PHP de yeniyim ama mantık budur;)
ekleme:
ayrıca db deki plaka alanını unique(benzersiz veri) olarak tanımlarsan aynı kayıttan 2. kez kaydetmene izin vermez;)
arkadaşın dediği mantıkla önce kontrol ettir. eğer tutmuyor ise die; komutu ile işlemeyi durdur. böylece die; dan sonraki komutlar işlemez ve veri tabanına kayıt yapmaz.
db de plaka uniq. kaydı yaptırmadan kontrol edeceğim ama komutları yazdığımda değişen birşey olmuyor. yada ben yanlış yazıyorum. " $kontrol=mysql_query("SELECT * FROM tbl_arac WHERE plaka=$plaka", $dbconn);
if ($kontrol) { echo "bu araç kayıtlı." ; } elseif " diye devam ediyor. ama bu yazım doğru değil.
Merhaba arkadaşım; Plaka alanının tipi sayı değildir sanırım. Bu durumda doğru SQL cümlesinin; $kontrol=mysql_query("SELECT * FROM tbl_arac WHERE plaka='$plaka'", $dbconn); şeklinde olması gerektiği kanaatindeyim. Tırnaklara dikkat! Umarım böyle çalışır. Aslında en güzeli şöyle yapmak olurdu herhalde;
$sql = "SELECT * FROM tbl_arac WHERE plaka = '" . $plaka . "'"; $kontrol=mysql_query($sql, $dbconn);
Gerçi şu addslashes fonksiyonlarına da kafam takılmadı değil hani.. Kolay gelsin..
< Bu mesaj bu kişi tarafından değiştirildi Elshuf -- 13 Kasım 2007; 18:02:02 >
Bir db var adı " arac " tablo adı da " tbl_arac " htmlde hazırladığım formdan gelen verileri tabloya eklemek istiyorum. Eklediğim bilgileride kontrol etmek istiyorum. İlk kontrol boş dolu kontrolü. Çalışıyor ve eğer dolu ise yüklüyor. Dbyebaktığımda yükleme işlemi tamam. sorun aynı kaydın birde fazla girilmesini engellemek. bunuda plaka üzerinden yapacağım. ama bir türlü beceremedim.
denediğim kod bu şekilde
$kontrol=mysql_query("SELECT * FROM tbl_arac WHERE plaka=$plaka", $dbconn);
bu şekilde db den formdan gelen $plaka verisi ile eşleşen data olup olmadığını anlamaya çalışıyorum ama hata vermiyor ve yükleme yapıyor.
if ($kontrol)
{
echo "bu araç kayıtlı." ;
}
elseif ($marka=="" or $model=="" or $plaka=="")
{
echo "Alanlar boş olmamalı...";
}
else
{
$sql="INSERT INTO tbl_arac (marka,model,plaka,mhacim,mno,sno,tfcikis,acins,lokasyon,muayene,tpul,kasko,locu) VALUES ('$marka ' ,' $model ',' $plaka',' $mhacim',' $mno',' $sno',' $tfcikis ',' $acins',' $lokasyon',' $muayene',' $tpul',' $kasko',' $locu')";
$sorgu=mysql_query($sql);
print "bilgi girişi tamam";
}
Şu an hatasız halide bu.
"
<?php
$dbconn= mysql_connect("localhost", "root" ) or die ("Bağlantı da hata");
mysql_select_db("arac", $dbconn ) or die ("db de hata");
$marka = addslashes($_POST['marka']);
$model = addslashes($_POST['model']);
$plaka = addslashes($_POST['plaka']);
$mhacim = addslashes($_POST['mhacim']);
$mno = addslashes($_POST['mno']);
$sno = addslashes($_POST['sno']);
$tfcikis = addslashes($_POST['tfcikis']);
$acins = addslashes($_POST['acins']);
$lokasyon = addslashes($_POST['lokasyon']);
$muayene = addslashes($_POST['muayene']);
$tpul = addslashes($_POST['tpul']);
$kasko = addslashes($_POST['kasko']);
$locu = addslashes($_POST['locu']);
if ($marka=="" or $model=="" or $plaka=="")
{
echo "Alanlar boş olmamalı...";
}
else
{
$sql="INSERT INTO tbl_arac (marka,model,plaka,mhacim,mno,sno,tfcikis,acins,lokasyon,muayene,tpul,kasko,locu) VALUES ('$marka ' ,' $model ',' $plaka',' $mhacim',' $mno',' $sno',' $tfcikis ',' $acins',' $lokasyon',' $muayene',' $tpul',' $kasko',' $locu')";
$sorgu=mysql_query($sql);
print "bilgi girişi tamam";
}
?>
"
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.