Sorunu yapay zeka'ya (Gemini) sordum. Çözümü şöyle verdi. Sorun çözüldü. Cevap için teşekkür ederim.
$_POST['ilannumarasi'];
if (!mkdir("images/yenieklenenler/$ilannumarasi")) {
echo "Klasör oluşturma hatası!";
exit;
}
for($i=0; $i<count($_FILES['dosya']['name']); $i++) {
$dosyaadi[] = basename($_FILES['dosya']['name'][$i]);
$yuklenendosya = $_FILES['dosya']['tmp_name'][$i];
$hedefyol = "images/yenieklenenler/$ilannumarasi/" . $dosyaadi[$i];
move_uploaded_file($yuklenendosya, $hedefyol);
}
$resimler = implode(', ', $dosyaadi);
$query = "INSERT INTO yenieklenenler (yenieklenenler_resim, yenieklenenler_ad, yenieklenenler_ilannumarasi) VALUES ('$resimler', '$emlakadi', '$ilannumarasi')";
if (mysqli_query($db, $query) === TRUE) {
echo '<div style="margin-top:25px; text-align:center; font-size:35px;"> Kayıt Başarıyla Gerçekleştirildi</div>';
header("refresh:3; url=yenieklenenler.php");
} else {
echo '<div style="margin-top:25px; text-align:center; font-size:35px;"> Kayıt Başarısız. <br> Geldiğiniz Sayfaya Yönlendiriliyorsunuz.</div>';
header("refresh:5; url=yenieklenenler.php");
}
Update yapmak istediğim sayfaya gittiğimde il ve ilçe kısmını "selected='selected'" şeklinde çekebiliyorum ama il'i çektiğimde ilçe alanında sadece çektiğim veri gözüküyor. Diğer ilçeler görünmüyor.
Mesela, Veritabanına insert ettiğim veri il:İstanbul, ilçe:Kadıköy olsun.
Update sayfasında il alanı: İstanbul, ilçe alanı:Kadıköy görünüyor. İlçe alanında sadece çektiğim veri görünüyor. Diğer illerin de görünmesi lazım ki, kullanıcı diğer ilçeleri de seçebilsin.
İlçeler şu şekilde görünüyor. İl ve ilçeyi çektim diyelim. İl kısmını değiştiriyorum, mesela "Ankara" yapıyorum. Tekrar il kısmını İstanbul yaptığımda ilçeler görünüyor.
Bir resim koyayım daha iyi olur.
https://hizliresim.com/t6i0vpd
<option>.....</option>
Şimdi benim buradaki sorunum şu: Insert işleminde bir problem yok ama düzenleme işleminde var. Düzenle linkine yani
<a href="digersayfa.php=idgonder<?php echo $sorgu['id']; ?>"></a>
bu şekilde id gönderdiğimde, düzenleme sayfasına gittiğinde value'su "text" olan verileri alabiliyorum. İl seçimini de aşağıdaki şekilde yapabiliyorum
<Option Value="Samsun"
<?php if($vericek['yenieklenenler_il'] === "Samsun") { ?>
<?php
echo 'selected="selected"';
}
?>
>Samsun
</Option>
ama ilçe alanı boş. Yani ne veritabanındaki ilçeyi çekebiliyorum ne de veritabanındaki il'e ait diğer ilçeleri görüntüleyebiliyorum. Eğer il seçeneğini değiştirirsem ve tekrar o il'i seçersem, veriler geliyor. Veritabanındaki ilçe yine seçili değil tabiki.
Arkadaşlar javascript ile yapılan bir il-ilçe uygulamasında il kısmını, kodunu koyduğum şekliyle yaptım ama ilçe kısmı farklı. Sayfada düzenleme yapacağımda il'e uygun ilçeyi bu kodlarla nasıl seçtirebiliriz, veritabanından nasıl çektirebiliriz? Bu arada il ve ilçe uymuyor. Örnek olarak koydum.
İl kısmına örnek aşağıda.
<Option Value="Samsun"
<?php if($vericek['yenieklenenler_il'] === "Samsun") { ?>
<?php
echo 'selected="selected"';
}
?>
>Samsun
</Option>
İlçe kısmına örnek aşağıda.
<select name="ilce" id="ilce" value="<?php echo $vericek['yenieklenenler_ilce']; ?>" class="validate[required]" required="required">
<option value=""></option>
</select>
function findObj(n, d) { //v4.01
var p,i,x;
if(!d) d = document;
if((p = n.indexOf("?"))>0&&parent.frames.length) {
d = parent.frames[n.substring(p+1)].document;
n = n.substring(0,p);
}
if(!(x = d[n])&&d.all) x = d.all[n];
for (i = 0; !x&&i<d.forms.length;i++) x = d.forms[i][n];
for (i = 0; !x&&d.layers&&i<d.layers.length;i++) x = MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x = d.getElementById(n);
return x;
}
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
new Array('Zonguldak','Devrek'),
new Array('Zonguldak','Ereğli'),
new Array('Zonguldak','Gökçebey'));
var semtler = new Array();
function set_child_listbox(sSource,sTarget,childArray,sifirla,tip) {
//önce temizlik ;)
var parentObject = findObj(sSource);
var childObject = findObj(sTarget);
var base=0;
if(sifirla==1)
{
base=-1;
}else
{
base=0;
}
for(var i=childObject.length;i>base;i--) {
childObject.options[i] = null;
}
//childObject.options[0] = new Option("Seçiniz","");
//var selIndex = parentObject.options[parentObject.selectedIndex].value;
var selIndex = parentObject.value;
if (selIndex == "") {
//childObject.disabled = true;
} else {
childObject.disabled = false;
var childIndex = base+1;
for (i = 0; i < childArray.length; i++) {
if (childArray[i][0+tip] == selIndex) {
childObject.options[childIndex+1] = new Option(childArray[i][1+tip], childArray[i][1+tip]);
childIndex++;
}
}
}
childObject.selectedIndex = 0;
if(document.getElementById('nvar_alan_1').value == 'Türkiye' || document.getElementById('nvar_alan_1').value == ''){childObject.focus();}else{document.getElementById('ilce').style.display='none';document.getElementById('nvar_alan_4').style.display='block';document.getElementById('nvar_alan_5').style.display='block';}
}
Arkadaşlar cevaplar için teşekkür ediyorum. Şu şekilde hallettim, checkbox'ları. Peki select'ler için nasıl alabiliriz verileri.
value="<?php if($verilericek['yenieklenenler_meyveler'] === "Erik") { ?>"
<?php
echo 'checked="checked"';
} else {
echo 'checked=""';
}
?>
foreach($datas as $data) $aktifOzellikler[] = $data->ekle_ozellik;
Nesne yapısına hakim değilim. Php'de "$data" dan sonra kullanılan yapıyı bilmiyorum. Prosedür "mysqli_query" tarzında yazabilirseniz ilerleyebilirim.
Bir sorum olacak. Bu "checkbox_attr" değişkenlerini input'un içinde bu şekilde mi kullanacağız.
Arkadaşlar sorunu çözemeyince şu şekilde hallettim: input type text şeklinde yaptım, checkbox'ları. Seçilmeyen checkbox'lar "array" hatası verdi ama hataları da gizledim. Verileri güncellemek istediğimde checkbox'lar seçili gelmiyor. Verileri nasıl seçili hale getirebilirim acaba? Veya bu sorunun cevabını verebilirseniz daha iyi olur.
Şu şekilde hallettim. Resime aşağıdaki kodu verdim.
onclick="resimdegistir(this.src)"
Script sayfasına da aşağıdaki kodu verdim.
const resimdegistir = src => {
document.getElementById('sliderbuyukresim').src = src;
}
Şimdi şu aşamadayım. Checkbox'ların name'lerine "ozellikler[]" şeklinde değer verdiğimde kayıt yapabiliyorum. Tek bir store'a da kayıt yapabiliyorum, birden çok store'a da yapıyorum. Diyelim ki sadece bir tek store'a kayıt yapacağım. Ve store'un içinde kayıt şu şekilde oluyor.
veri 1,veri2,veri3
şeklinde oluyor. Ben bu verileri listeletirken ilk veriyi bir div içinde, diğer veriyi başka bir div içinde listeletmem lazım. Yani form'da 100 adet checkbox verisi var. Kullanıcı hangisini işaretlediyse o veri, veritabanına kayıt olacak ve ben bu her bir veriyi ayrı satırlarda listeletmem lazım.
Eğer checkbox'ların name'lerine "ozellikler[]" şeklinde değil de "veri1", "veri2" diye farklı bir değer verdiğimde ise işaretlenmeyen veriler "insert" ün "values" alanında olduğu ve boş kaldığı için hata veriyor.
gettext'in nasıl kullanıldığını gösteren bir kod örneği koyabilir misiniz