Yaptığın hataları ve yapacaklarını söyleyeyim
öncelikle input name="IlceAdi" değil name="IlceAdi[]" olmalı.
POST kısmında ise sana array() olarak bu veri gelecektir, bunu 2 türlü veritabanına ekleyebilirsin.
1. array()' ı direk serialize edip veritabanına ekleyebilirsin.
$ilceadi = serialize($_POST['IlceAdi']);
2. implode() kullanıp aralarına virgül ekleyerek veritabanına ekleyebilirsin.
$ilceadi = $_POST['IlceAdi'];
$ilceadi = implode(',', $ilceadi);
Cevabınız için teşekkür ederim. Verdiğiniz iki çözümü de denedim ama sorunu çözemedim. İki kod da aynı sonucu veriyor. Seçtiğim iki ilçeyi farkli id'lerle ve aynı isimle kaydediyor. Yani iki ilçe seçtiğimde şu şekilde ekliyor;
IlceID--IlceAdi
1------Gaziemir
2------Gaziemir
Doğru mu anladım bilmiyorum ama bir kişiye birden çok ilçede yetki vermek istiyorsun sanırım. Bence bunun en kolay yolu, yetkilendirmeler için ayrı bir tablo oluşturup, orada kisiID ve ilceAdi gibi iki sütunda sıralama yapmak. Ardından da okuma esnasında o kişiyle ilişkili tüm ilçeleri listeleyebilirsin. Ben buna benzer bir kodu kullanıyorum, ne kadar doğru yanlış bilmiyorum ama bende işe yarıyor.
$islemUserID = $_POST['kisiID']; // bu değeri hidden olarak çekebilirsiniz
$islemOnay = "1";
if ( isset($_POST['ilceAdi']) ) { // herhangi bir ilçe seçilmiş mi diye bakalım
$delete = $db->exec("DELETE FROM ilceYetkiler WHERE kisiID='{$islemUserID}'"); // aynı satır tekrar oluşmasın diye önce bu kişiye ait kayıtları silelim.
$array = $_POST['ilceAdi'];
foreach ($array as $yenideger) { // şimdi checkbox da işaretlenmiş her ilçe için yeni bir satır oluşturalım.
$ilceYetki = $db->prepare("INSERT INTO ilceYetkiler SET
ilceAdi = :yeni_ilceAdi,
kisiID = :yeni_kisiID,
onay = :yeni_onay
");
$ilceYetki->execute(array(
"yeni_ilceAdi" => $yenideger,
"yeni_kisiID" => $islemUserID,
"yeni_onay" => $islemOnay
));
}
if($ilceYetki->rowCount()){
echo 'İşlem tamam';
}
} else {
echo 'En az bir ilçe seçmelisin';
}
Cevabınız için teşekkür ederim. Doğru anlamışssınız. Doktor ve hemşirelere ilçeler atamak istiyorum. Bunlar için doktorlar ve hemsireler tablolarini oluşturdum. Örnek olarak DoktorID DoktorAdi ve IlceID şeklimde oluşturdum. Ek olarak İlçeler tablosunu da oluşturdum.IlceID ve IlceAdi şeklinde. Doktor ve hemşirelere nasıl birden çok ilçe ekleyeceğimin mantığını tam anlayamadım. Tabloları oluşturuken mi hata yaptım aceba. Verdiğiniz kodu da tam anlayamadım.