İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. SDN Forum
  3. Programlama
  4. Web Programlama (PHP, ASP, HTML, CSS, JavaScript)
Web Programlama (PHP, ASP, HTML, CSS, JavaScript)

Php mysql tabloda hata yapmak

fatih_8026.04.201012 cevap3.742 görüntüleme
#1
arkadaşlar sorunum şu veri tabanında bilgiler adında tablo ve onun içinde tc_no adında bir sutun var. ben php ile tc noyu girdiğimde eğer bu tcno veritabanında var ise hata mesajı verecek yok ise kayıt yapacak. ben kayıt etmek kısmını yaptım. fakat arama kısmını yapamadım. yani tc no girince arama yaparak hata verdirme kısmını
Cevaplar
#2
Aslında direkt kod verme taraftarı değilim ama bu seferlik olsun. Aşağıdaki kod işini görmesi lazım.

<?php

$sql="select tc_no from bilgiler";
$sorgu=mysql_query($sql);

if($sorgu)
{
    echo("Bu TC No veritabanına kayıtlı.");
}

?>
fatih_80 Konuyu açan
#3
tesekkürler
#4
N3CAT1 dedi: ↑
Aslında direkt kod verme taraftarı değilim ama bu seferlik olsun. Aşağıdaki kod işini görmesi lazım.

<?php

$sql="select tc_no from bilgiler";
$sorgu=mysql_query($sql);

if($sorgu)
{
    echo("Bu TC No veritabanına kayıtlı.");
}

?>
Bunun yerine tabllonuzdaki tc_no alanını unique yapın. Böylece aynı tc_no dan sadece bir tane girilebilir. Diğeri girilmeye kalktığında hata verir.
fatih_80 Konuyu açan
#5
ben bu koda tcnoyu nasıl girdireceğim.
#6
Pardon sql sorgusunda where koşulunu yazmayı unutmuşum:
$sql="Select tc_no from bilgiler where tc_no='"+$tcNo+"' ";
Burdaki $tcNo senin kontrol edeceğin tc no. $tcNo 'ya değer atayıp yapacaksın sorguyu.
fatih_80 Konuyu açan
#7
<?php

$tc=$_POST["tc"];

$ad=$_POST["ad"];

$soyad=$_POST["soyad"];

$adrs=$_POST["adrs"];

$telf=$_POST["telf"];

if(($tc=="")){
echo"Lütfen TC kimlik numarasını Giriniz";
exit();
}
if(($ad=="") or ($soyad=="")){
echo"Lütfen Adınızı ve Soyadınızı giriniz";
exit();
}

if(($adrs=="")){
echo"Lütfen adresinizi Giriniz";
exit();
}
if(($telf=="")){
echo"Lütfen Telefon numarası Giriniz";
exit();
}

$baglan = mysql_connect(localhost,root,12345) or die ("mysql baglantı hatası");

mysql_select_db(hasta_kayit,$baglan) or die ("veri tabanına baglandı");

mysql_query ("insert into bilgiler(TC_no,Adi,soyadi,adres,telefon) values('$tc','$ad','$soyad','$adrs','$telf')");

$sql="Select TC_NO from bilgiler where TC_NO='"+$tc+"' ";
$sorgu=mysql_query($sql);

if($sorgu)
{
echo("Bu TC No veritabanına kayıtlı.");
}

?>

bu kodların neresinde hata var. kayıtta sorun yok ama sorguyu yapamadım.
#8
Hatalı olan yerlerin düzeltilmişi

mysql_select_db(hasta_kayit,$baglan) or die ("veri tabanına bağlanamadı");
$sql="Select TC_NO from bilgiler where TC_NO='$tc' ";
$sorgu=mysql_query($sql);
if($sorgu)
{
echo "Bu TC No veritabanına kayıtlı.";
}

else{

echo "Kayıt gerçekleşti";

}

Benim renkli yaptığım gibi yap bakalım.
fatih_80 Konuyu açan
#9
yok olmuyor
#10
$sql="Select tc_no from bilgiler where tc_no='".$tc."' ";
Olarak değiştirir misin. Yani + olan yerler . olacak.
fatih_80 Konuyu açan
#11
olmuyor.
#12
fatih_80 dedi: ↑
olmuyor.
Zaten olsa da doğru olmaz. Sanırım yeni öğreniyorsunuz, doğru olarak öğrenin. Tablonuzdaki tc_no alanını unique yapın (phpMyAdmin ile bunu yapabilirsiniz)
Bu işlemi yaptıktan sonra devam ederiz.
#13
$bak=mysql_num_rows(mysql_query("select TC_NO from bilgiler where TC_NO='$tc'"));

bu işlem sonucunda tc numarası veritabanında varsa $bak içine kaç tane olduğu gelir, eğer yoksa da 0 gelir zaten. daha sonra if ($bak==0) veya if ($bak) ifadesiyle işini halledebilirsin. kolay gelsin...

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.