PHP Çoklu Update Nasıl Yapılır

Kodla Büyü

valid20

Üye
Mesajlar
12
Merhabalar,
Php ile db den çoklu veri çekiyorum amam bunları topluca nasıl güncelleye bilirim.

uyduzenle.php


echo "
<body bgcolor=\"#03747A\">
<div align=\"center\">
<table border=\"5\" cellpadding=\"5\" cellspacing=\"5\" bordercolorlight=\"#FF0000\" bordercolordark=\"#FFFFFF\" bgcolor=\"#03747A\">
<tr>
<td align=\"center\" colspan=\"4\"><b><font color=\"#FFFFFF\" size=\"4\"> AKTİF TÜM ÜYE BELEDİYE İLETİŞİM BİLGİLERİNİ GÜNCELLEME</font></b></td>
</tr>
";

$no;
$sor =mysql_query("SELECT id,beladi,Telefon,fax From kayitWhere aktif in ('1') order by beladi");
while($dizi=mysql_fetch_array($sor)){
$id =$dizi["id"];
$beladi =$dizi["beladi"];
$telefon =$dizi["telefon"];
$fax =$dizi["fax"];
$no=$no+1;

echo"
<tr>
<td><font color=\"#FFFFFF\">$no</font></td>
<td> <form action=\"iletisimtumuyelerduzenlekayit.php\" method=post><font color=\"#FFFFFF\"><input type=text value=\"$beladi\" name=\"beladi\" size=\"20\" tabindex=\"1\"></font></td>
<td> <font color=\"#FFFFFF\"> <input type=text value=\"$telefon\" name=\"telefon\" size=\"20\" tabindex=\"2\"></font></td>
<td><font color=\"#FFFFFF\"><input type=text value=\"$fax\" name=\"fax\" size=\"20\" tabindex=\"3\"></font></td>
</tr>
";
}

echo"
<tr>
<td> </td>
<td> </td>
<td colspan=\"2\"> <p align=\"center\"><font color=\"#FFFFFF\"> <input type=submit value=\"TÜMÜNÜ_KAYDET\" style=\"font-weight: 700\"></font></td>
</form>
</tr>
</table>
</div>
";


iletisimtumuyelerduzenlekayit.php

?? Nasıl olması gerekir lütfen yazarmisiniz
Şimdiden teşekkür ederim
 
Kod:
update tablo_adi set alan1='deger1', alan2='deger2' where id=php_den_gelen_id
şeklinde yazabilirsiniz.
 
anladığım kadarı ile bir tabloda birden fazla kayıt var, sen o kayıtları listeliyorsun ve güncelle deyince sayfadaki tüm kayıtlar güncellensin istiyorsun. Bunu ancak şu şekilde yaparsın. db den çektiğin verileri öncelikle belli bir düzen içindeki form elemanlarına ( textbox vs ) aktarırsın, daha sonra güncelle dediğinde ise yine bir döngü ile ( while vs ) aynı düzenle verileri alıp güncellersin, çok zor bir şey değil. örnek form düzeni;

<input type="hidden" id="birincilanahtar">
<input type="text" id="adsoyad1" value="deger1">
<input type="text" id="telefon1" value="deger1">
<input type="text" id="email1" value="deger1">
...

bu şekilde her kayıt için id değerinin sonundaki rakamı bir arttırırsan, güncelleme kısmında yine döngüyü kayıt sayısı kadar döndürür ve her seferinde formdan sadece o kayıta ait kutucuklardaki bilgiyi çekersin.
 
Herkese teşekkür ederim. Sorun çözüldü başkalarına da faydalı olması dileğimle çalışan kodları aşağıya ekliyorum.


uyduzenle.php

echo "
<body bgcolor=\"#03747A\">
<div align=\"center\">
<table border=\"5\" cellpadding=\"5\" cellspacing=\"5\" bordercolorlight=\"#FF0000\" bordercolordark=\"#FFFFFF\" bgcolor=\"#03747A\">
<tr>
<td align=\"center\" colspan=\"4\"><b><font color=\"#FFFFFF\" size=\"4\"> AKTİF TÜM ÜYE BELEDİYE İLETİŞİM BİLGİLERİNİ GÜNCELLEME</font></b></td>
</tr>
";

$no;
$sor =mysql_query("SELECT id,beladi,telefon,fax From kayit Where aktif in ('1') order by id");
while($dizi=mysql_fetch_array($sor)){
$id =$dizi["id"];
$beladi =$dizi["beladi"];
$telefon =$dizi["telefon"];
$fax =$dizi["fax"];
$no=$no+1;

echo"
<tr>
<td><font color=\"#FFFFFF\">$no</font></td>
<td> <form action=\"kategoriler.php\" method=post><font color=\"#FFFFFF\"><input type=text value=\"$beladi\" name=\"beladi[$id]\" size=\"20\" tabindex=\"1\"></font></td>
<td> <font color=\"#FFFFFF\"> <input type=text value=\"$telefon\" name=\"telefon[$id]\" size=\"20\" tabindex=\"2\"></font></td>
<td><font color=\"#FFFFFF\"><input type=text value=\"$fax\" name=\"fax[$id]\" size=\"20\" tabindex=\"3\"></font></td>
<input type=\"hidden\" name=\"id[$id]\" value=\"$id\">
</tr>
";
}

echo"
<tr>
<td> </td>
<td> </td>
<td colspan=\"2\"> <p align=\"center\"><font color=\"#FFFFFF\"> <input type=submit value=\"TÜMÜNÜ_KAYDET\" style=\"font-weight: 700\"></font></td>
</form>
</tr>
</table>
</div>
";





iletisimtumuyelerduzenlekayit.php

foreach ($_POST['id'] as $id){

$beladi =$_POST['beladi'];
$telefon =$_POST['telefon'];
$fax =$_POST['fax'];

$guncelle =mysql_query("UPDATE kayit set beladi='$beladi[$id]',telefon='$telefon[$id]',fax='$fax[$id]' WHERE id='$id'");
if ($guncelle){
echo "Güncellendi";
}else{
echo "Hata";
}
}
 
Geri
Üst