Forum

PHP - MYSQL Update ...
 
Bildirimler
Hepsini Temizle

PHP - MYSQL Update Komut Sorunu

6 Yazılar
2 Üyeler
0 Likes
1,991 Görüntüleme
(@artemis)
Gönderiler: 37
Trusted Member
Konu başlatıcı
 

iyi çalışmalar..

php yi öğrenmeye yeni başladım fakat 2-3 gündür takıldığım bir konu var oda şu telefon defteri yapıyorum yani yapmak istediğim o defter diye bir veritabanı ve onun altına genel diye bir tablo oluşturdum ondada ad, soyad .. vs. gibi field ları içermekte.
şimdi tabloma yani defterime kayıt yaptırabiliyorum sıkıntı yo veriyide çekiyorum fakat tek sorun yani şimdilik tek 🙂 verinin yanında düzenle butonuna bastığım zaman yeni id ile boş bir satır açıyor yani yeni id diğer veriler boş birde bununla beraber düzenlemek istediğim veriyi düzgün bir şekilde arayüz tabloma çekiyor düzenlenmek üzere ve ben gerekli değişikliği yapıp güncelle butoununa basınca güncelliyor fakat güncellediği verinin aynısından bir kayıt daha oluşturuyor bunun sebebi nedir nasıl düzeltebilirim ben baktım baktım  bulamadım düzenle ye basınca çift kayıt , güncelleye basınca çift kayıt bunun sebebi nedir çok enteresan geldi bana...

Yardımlarınız için şimdiden tşk. ederim...!

 

------------ Bahsettiğim Kod ------------------------------------------------------------------------------------------------------------------------------

 

<?php

$id=$HTTP_POST_VARS[id];
$adi=$HTTP_POST_VARS[adi];
$soyadi=$HTTP_POST_VARS[soyadi];
$adres=$HTTP_POST_VARS[adres];
$ilce=$HTTP_POST_VARS[ilce];
$il=$HTTP_POST_VARS[il];
$cep_tel=$HTTP_POST_VARS[cep_tel];
$ev_tel=$HTTP_POST_VARS[ev_tel];

//bağlantı
$baglan= mysql_connect("localhost","root","");

//database seçimi
mysql_select_db("defter",$baglan);

//bağlantı testi
/*if($baglan)
{
echo "Bağlantı Başarılı..!";
}else {
echo "Bağlantı Başarısız..!";
}*/

//veri ekleme
$sql="insert into genel(adi,soyadi,adres,ilce,il,cep_tel,ev_tel)
    values
    ('$adi','$soyadi','$adres','$ilce','$il','$cep_tel','$ev_tel')";

if (!mysql_query($sql,$baglan))
{
    die ('Hata: ' . mysql_error());
}
//---------------------------------------------------------------------------

$islem=$_GET["islem"];
switch ($islem){
    case "Duzenle";
    Duzenle();
    break;
 
   case "Guncelle";
    Guncelle();
    break;      
   
}

$sorgu=mysql_query("SELECT * FROM genel order by id asc");

echo"

<table align=\"center\" >
<tr>
    <td>Adı</td>
    <td>Soyadı</td>
    <td>Adres</td>
    <td>İlçe</td>
    <td>İl</td>
    <td>Cep Tel</td>
    <td>Ev Tel</td>
</tr>";

while ($verigetir=mysql_fetch_array($sorgu)){

$id=$verigetir['id'];   
$adi=$verigetir['adi'];
$soyadi=$verigetir['soyadi'];
$adres=$verigetir['adres'];
$ilce=$verigetir['ilce'];
$il=$verigetir['il'];
$cep_tel=$verigetir['cep_tel'];
$ev_tel=$verigetir['ev_tel'];

echo "<tr>
        <td>$adi</td>
        <td>$soyadi</td>
        <td>$adres</td>
        <td>$ilce</td>
        <td>$il</td>
        <td>$cep_tel</td>
        <td>$ev_tel</td>
        <td><a href=\"formkayit.php?islem=Duzenle&id=$id\">Düzenle</a>&nbsp;|&nbsp;<a href=\"formkayit.php?islem=Sil&id=$id\">Sil</a></td>
        </tr>";
             
}
echo       "</table>";

function Duzenle(){
    $id=$_GET["id"];
    $sorgu=MYSQL_QUERY("SELECT * FROM GENEL WHERE id='$id'");
   
    $cek=mysql_fetch_array($sorgu);
    
$adi=$cek['adi'];
$soyadi=$cek['soyadi'];
$adres=$cek['adres'];
$ilce=$cek['ilce'];
$il=$cek['il'];
$cep_tel=$cek['cep_tel'];
$ev_tel=$cek['ev_tel'];

echo "
<form id=\"form1\" action=\"formkayit.php?islem=Guncelle&id=$id\" method=\"post\">

<div align=\"center\">
        <table border=\"1\" bgcolor=\"#C0C0C0\" width=\"31%\" bordercolor=\"#0082D6\" style=\"border-style: solid; border-width: 2px\">
        <tr>
            <td>
           
            <table border=\"0\" width=\"119%\" >
        <tr>
                <td width=\"49%\" height=\"36\"><b>&nbsp;Adı&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </b>&nbsp;
                <input type=\"text\" name=\"adi\" value=\"$adi\" size=\"20\" tabindex=\"1\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"20\">
                   
                </td>
           
                <td width=\"48%\" height=\"36\"><b>Soyadı</b>&nbsp;
                    <input type=\"text\" name=\"soyadi\"  value=\"$soyadi\" size=\"20\" tabindex=\"2\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"20\">

                </td>
           
        </tr>
        <tr>
                <td colspan=\"2\" height=\"35\" valign=\"top\" align=\"left\">
                <b>Adres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </b><textarea name=\"adres\" cols=\"30%\" rows=\"2\" tabindex=\"3\" maxlength=\"5\" style=\"height: 31; width:282; Times New Roman; font-size: 11px\">$adres</textarea></tr>
        <tr>
            <td width=\"49%\" height=\"39\" align=\"left\">
                <b>İlçe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>
                <input type=\"text\" name=\"ilce\"  value=\"$ilce\" size=\"20\" tabindex=\"4\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"20\">

            </td>
            <td width=\"48%\" height=\"39\" align=\"left\">
                <b>İl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <input type=\"text\" name=\"il\"  value=\"$il\" size=\"20\" tabindex=\"5\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"11\">

            </td>
        </tr>
        <tr>
            <td width=\"49%\" height=\"39\"><b>Cep Tel </b>&nbsp;&nbsp;
                <input type=\"text\" name=\"cep_tel\"  value=\"$cep_tel\" size=\"20\" tabindex=\"6\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"11\">

            </td>
            <td width=\"48%\" height=\"39\"><b>Ev Tel</b>&nbsp;
                <input type=\"text\" name=\"ev_tel\"  value=\"$ev_tel\" size=\"20\" tabindex=\"7\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"11\">
               
</td>

    </table>

           
            </td>
        </tr>
       
       
       
   
    </table>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   
    <input type=\"submit\" value=\"Güncelle\" name=\"submit\">";

}
   
function Guncelle(){
    $id=$_GET["id"];
   
    $adi=$_POST['adi'];
    $soyadi=$_POST['soyadi'];
    $adres=$_POST['adres'];
    $ilce=$_POST['ilce'];
    $il=$_POST['il'];
    $cep_tel=$_POST['cep_tel'];
    $ev_tel=$_POST['ev_tel'];
   
    $guncelle=mysql_query("update genel set adi='$adi',soyadi='$soyadi',adres='$adres',ilce='$ilce',il='$il',cep_tel='$cep_tel',ev_tel='$ev_tel' where id='$id'");

    if($guncelle){
        echo "Güncellendi";
    }
    else{
        echo "Hata";
    }
}

  
?>

 
Gönderildi : 22/07/2010 15:01

(@OnurVARGUN)
Gönderiler: 157
Estimable Member
 

Siz insert ve update işlemlerini şayet Post edilmiş bir işlem var sa yapmalısınız

form içinde islem diiye bir alan tutun ve hidden olsun siz form u veri eklemek için atıyorsanız

ekle.php?islem=add

update için açıyorsanız

 ekle.php?islem=up

olsun

<input type="hidden" name="ISLEM" value="<?=$_GET['islem'] ?>">

değişkeni ile formun açılış tipini tutarsınız

daha sonra post ettiğiniz yerde şu kontrolü yapın 

if($_SERVER['REQUEST_METHOD']=="POST")
    {
       if($_POST['ISLEM']=="up")//Demekki Güncelleme Var
         {

              Guncelle();

         }

else {// Demekki ekleme için gelmiş

       $sql="insert into genel(adi,soyadi,adres,ilce,il,cep_tel,ev_tel)
    values
    ('$adi','$soyadi','$adres','$ilce','$il','$cep_tel','$ev_tel')";

}

}

sizin yaptığınız mantıkta formun post edildiği durumda update için mi yoksa insert için mi gelmiş kontrol etmiyor her iki durumdada insert işlemini yapıyor

 

 
Gönderildi : 22/07/2010 16:41

(@artemis)
Gönderiler: 37
Trusted Member
Konu başlatıcı
 

yardımın için teşekkür ederim cidden çok iyi mantık bende acaba empty() ile  bir adi yada soyadinin kontrolünü mü yaptırsam acab diye düşünüyordum..

ehh işte sizin bu bakış acınıza tecrübe bizimkine acemilik deniyor 😉 inş. yavaş yavaş atıcaz tşk.ler tekrar

 
Gönderildi : 23/07/2010 01:44

(@artemis)
Gönderiler: 37
Trusted Member
Konu başlatıcı
 

onur bey ;

bahsettiğiniz kodu uyguladım fakat yazni daha doğrusu tam olarak anlayamadım.Daha basit bir anlatımı mevcut olurmu acaba..

 
Gönderildi : 26/07/2010 16:45

(@OnurVARGUN)
Gönderiler: 157
Estimable Member
 

uyguladığınız kodu paylaşırmısınız hata nerde olabilir birlikte kontrol edelim 

 
Gönderildi : 26/07/2010 17:29

(@artemis)
Gönderiler: 37
Trusted Member
Konu başlatıcı
 

biraz uzun olacak ama tam anlamıyla anlayarak yapmak istiyorum.bir kez anlamam yeterli olacak bana

öncelikle form dizayndan başlayacağım yanlışımı iyice anlamak içim

form.htm

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<title>test</title>
</head>

<body>

<form id="form1" action="formkayit.php?islem=up" method="post">

<div align="center">
        <table border="1" bgcolor="#C0C0C0" width="31%" bordercolor="#0082D6" style="border-style: solid; border-width: 2px">
        <tr>
            <td>
           
            <table border="0" width="119%" >
        <tr>
                <td width="49%" height="36"><b>&nbsp;Adı&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>&nbsp;<input type="text" name="adi" size="20" tabindex="1" style="font-family: Times New Roman; font-size: 11px" maxlength="20">
                   
                </td>
           
                <td width="48%" height="36"><b>Soyadı</b>&nbsp;
                    <input type="text" name="soyadi" size="20" tabindex="2" style="font-family: Times New Roman; font-size: 11px" maxlength="20">

                </td>
           
        </tr>
        <tr>
                <td colspan="2" height="35" valign="top" align="left">
                <b>Adres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </b><textarea name="adres" cols="30%" rows="2" tabindex="3" maxlength="5" style="height: 31; width:282; Times New Roman; font-size: 11px"></textarea></tr>
        <tr>
            <td width="49%" height="39" align="left">
                <b>İlçe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>
                <input type="text" name="ilce" size="20" tabindex="4" style="font-family: Times New Roman; font-size: 11px" maxlength="20">

            </td>
            <td width="48%" height="39" align="left">
                <b>İl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <input type="text" name="il" size="20" tabindex="5" style="font-family: Times New Roman; font-size: 11px" maxlength="11">

            </td>
        </tr>
        <tr>
            <td width="49%" height="39"><b>Cep Tel </b>&nbsp;&nbsp;
                <input type="text" name="cep_tel" size="20" tabindex="6" style="font-family: Times New Roman; font-size: 11px" maxlength="11">

</td>
            <td width="48%" height="39"><b>Ev Tel</b>&nbsp;
                <input type="text" name="ev_tel" size="20" tabindex="7" style="font-family: Times New Roman; font-size: 11px" maxlength="11">
               
</td>
    </table>

           
            </td>
        </tr>
       
       
       
   
    </table>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
    <input type="submit" value="Kaydet" name="submit">
    <input type="reset" value="Temizle" name="reset">
    <input type="hidden" name="ISLEM" value="<?=$_GET['islem'] ?>">
   

        <p>&nbsp;</form>

</body>

</html>

 

ve formkayit.php

<?php
$id=$HTTP_POST_VARS["id"];
$adi=$HTTP_POST_VARS["adi"];
$soyadi=$HTTP_POST_VARS["soyadi"];
$adres=$HTTP_POST_VARS["adres"];
$ilce=$HTTP_POST_VARS["ilce"];
$il=$HTTP_POST_VARS["il"];
$cep_tel=$HTTP_POST_VARS["cep_tel"];
$ev_tel=$HTTP_POST_VARS["ev_tel"];

//bağlantı
$baglan= mysql_connect("localhost","root","");

//database seçimi
mysql_select_db("defter",$baglan);

//bağlantı testi
/*if($baglan)
{
echo "Bağlantı Başarılı..!";
}else {
echo "Bağlantı Başarısız..!";
}*/

$sorgu=mysql_query("select * from genel order by id ASC");

echo " <TABLE>
<TR>
    <TD>ADI</TD>
    <TD>SOYADI</TD>
    <TD>ADRES</TD>
    <TD>İLÇE</TD>
    <TD>İL</TD>
    <TD>CEP TEL</TD>
    <TD>EV TEL</TD>
</TR>";

while($verigetir=mysql_fetch_array($sorgu)){

$id=$verigetir['id'];
$adi=$verigetir['adi'];
$soyadi=$verigetir['soyadi'];
$adres=$verigetir['adres'];
$ilce=$verigetir['ilce'];
$il=$verigetir['il'];
$cep_tel=$verigetir['cep_tel'];
$ev_tel=$verigetir['ev_tel'];

echo "<TR>
    <TD>$adi</TD>
    <TD>$soyadi</TD>
    <TD>$adres</TD>
    <TD>$ilce</TD>
    <TD>$il</TD>
    <TD>$cep_tel</TD>
    <TD>$ev_tel</TD>
    <td><a href=\"formkayit.php?islem=up&id=$id\">Düzenle</a></td>
    </TR>";
}

echo "</table>";

if($_SERVER['REQUEST_METHOD']=="POST")
    {
       if($_POST['ISLEM']=="up")//Demekki Güncelleme Var
         {

              guncelle();

         }

else {// Demekki ekleme için gelmiş

        //veri ekleme
        $sql="insert into genel(adi,soyadi,adres,ilce,il,cep_tel,ev_tel)
            values
            ('$adi','$soyadi','$adres','$ilce','$il','$cep_tel','$ev_tel')";
       
       
               if (!mysql_query($sql,$baglan))
                {
                    die ('Hata: ' . mysql_error());
                }
               
    }
}

function guncelle(){
   
$id=$_GET['id'];
$adi=$_POST['adi'];
$soyadi=$_POST['soyadi'];
$adres=$_POST['adres'];
$ilce=$_POST['ilce'];
$il=$_POST['il'];
$cep_tel=$_POST['cep_tel'];
$ev_tel=$_POST['ev_tel'];

echo "<form id=\"form3\" action=\"formkayit.php?islem=add\" method=\"post\">

<div align=\"center\">
        <table border=\"1\" bgcolor=\"#C0C0C0\" width=\"31%\" bordercolor=\"#0082D6\" style=\"border-style: solid; border-width: 2px\">
        <tr>
            <td>
           
            <table border=\"0\" width=\"119%\" >
        <tr>
                <td width=\"49%\" height=\"36\"><b>
                &nbsp;Adı&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </b>&nbsp;
                <input type=\"text\" name=\"adi\" size=\"20\"  tabindex=\"1\" style=\"font-family: Times New Roman; font-size: 11px\" value=\"$adi\" maxlength=\"20\">
                   
                </td>
           
                <td width=\"48%\" height=\"36\"><b>Soyadı</b>&nbsp;
                    <input type=\"text\" name=\"soyadi\" value=\"$soyadi\" size=\"20\" tabindex=\"2\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"20\">

                </td>
           
        </tr>
        <tr>
                <td colspan=\"2\" height=\"35\" valign=\"top\" align=\"left\">
                <b>Adres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                </b>&nbsp;<!--webbot bot=\"Validation\" b-value-required=\"TRUE\" i-maximum-length=\"5\" -->
               
                <textarea name=\"adres\" cols=\"30%\" rows=\"2\" tabindex=\"3\" maxlength=\"50\" style=\"height: 31; width:282; Times New Roman; font-size: 11px\">$adres</textarea></tr>
        <tr>
            <td width=\"49%\" height=\"39\" align=\"left\">
                <b>İlçe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>
                <input type=\"text\" name=\"ilce\" value=\"$ilce\" size=\"20\" tabindex=\"4\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"20\">

            </td>
            <td width=\"48%\" height=\"39\" align=\"left\">
                <b>İl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <input type=\"text\" name=\"il\" value=\"$il\" size=\"20\" tabindex=\"5\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"11\">

            </td>
        </tr>
        <tr>
            <td width=\"49%\" height=\"39\"><b>Cep Tel </b>&nbsp;&nbsp;
                <input type=\"text\" name=\"cep_tel\" value=\"$cep_tel\" size=\"20\" tabindex=\"6\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"11\">

</td>
            <td width=\"48%\" height=\"39\"><b>Ev Tel</b>&nbsp;
                <input type=\"text\" name=\"ev_tel\" value=\"$ev_tel\" size=\"20\" tabindex=\"7\" style=\"font-family: Times New Roman; font-size: 11px\" maxlength=\"11\">

</td>
    </table>
           
            </td>
        </tr>
           
   
    </table>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
    <input type=\"submit\" value=\"Güncelle\" name=\"submit\">

        <p>&nbsp;</form>";

$Guncelle=mysql_query("UPDATE genel SET id='id',adi='$adi',soyadi='$soyadi',adres='$adres',ilce='$ilce',il='$il',cep_tel='$cep_tel',ev_tel='$ev_tel' WHERE id='$id' ");

if($Guncelle){
echo "Güncellendi";
}
else{
echo "Hata..!";
}

}

?>

 

kodlarım aynen bu şekilde şimdide anlam veremediğim bir şekilde if($_POST['ISLEM']=="up")//Demekki Güncelleme Var
         {

              guncelle();

         }

burdan güncelle fonksiyonuna sokamıyorum.gerçi bu fonksiyona girince sorunlar çözülmeyecektir fakat bu ayrıca yaşamış olduğum problem kodlar direk editörden kopyaladım..

MYSQL alanlarım anlaşılacağı gibi defter db sinde genel tablosunda

adi,soyadi,adres,ilce,il,cep_tel,ev_tel olarak açılmış durumda

çok uğraştırıyorum emekleriniz için şimdiden tşk. ederim...

 
Gönderildi : 27/07/2010 12:59

Paylaş: