Php mysql tabloda hata yapmak

fatih_80

Öğrenci
Katılım
25 Nisan 2010
Mesajlar
21
Reaksiyon puanı
0
Puanları
0
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ı
 

N3CAT1

Dekan
Emektar
Katılım
20 Nisan 2008
Mesajlar
6,607
Reaksiyon puanı
144
Puanları
243
Aslında direkt kod verme taraftarı değilim ama bu seferlik olsun. Aşağıdaki kod işini görmesi lazım.

Kod:
<?php

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

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

?>
 

ersin

Asistan
Katılım
28 Aralık 2009
Mesajlar
236
Reaksiyon puanı
33
Puanları
0
Aslında direkt kod verme taraftarı değilim ama bu seferlik olsun. Aşağıdaki kod işini görmesi lazım.

Kod:
<?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

Öğrenci
Katılım
25 Nisan 2010
Mesajlar
21
Reaksiyon puanı
0
Puanları
0
ben bu koda tcnoyu nasıl girdireceğim.
 

N3CAT1

Dekan
Emektar
Katılım
20 Nisan 2008
Mesajlar
6,607
Reaksiyon puanı
144
Puanları
243
Pardon sql sorgusunda where koşulunu yazmayı unutmuşum:

Kod:
$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

Öğrenci
Katılım
25 Nisan 2010
Mesajlar
21
Reaksiyon puanı
0
Puanları
0
<?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.
 

Al Arabi

Profesör
Katılım
2 Mart 2010
Mesajlar
1,426
Reaksiyon puanı
43
Puanları
0
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.
 

N3CAT1

Dekan
Emektar
Katılım
20 Nisan 2008
Mesajlar
6,607
Reaksiyon puanı
144
Puanları
243
Kod:
$sql="Select tc_no from bilgiler where tc_no='".$tc."' ";
Olarak değiştirir misin. Yani + olan yerler . olacak.
 

ersin

Asistan
Katılım
28 Aralık 2009
Mesajlar
236
Reaksiyon puanı
33
Puanları
0
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.
 

Champion78

Profesör
Katılım
29 Eylül 2006
Mesajlar
1,716
Reaksiyon puanı
43
Puanları
228
$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...
 
Üst