Veritabanıma JSON veri kaydetmem gerek.
Yaşadığım sorunu şöyle anlatabilirim:
Services[] diye bir kısımda checkboxlarimda neler secildiyse onlari aliyorum ve
json ile veritabanına yazdırmam gerekiyor fakat veritabanında ['kablonet','kablonet2'] olarak yazıyor fakat olması gereken {'title' => 'kablonet', 'title' => 'kablonet2'} gibi olmasını istiyorum.
Kaynak kodlarımın hepsi aşağıda.
public static function joinReference(): void
{
global $dbh;
if(isset($_POST['Apply'])){
$fullName = htmlspecialchars($_POST['username']);
$phone = htmlspecialchars($_POST['phone']);
$services = json_encode($_POST['services']);
$city = htmlspecialchars($_POST['city']);
$state = htmlspecialchars($_POST['state']);
$address = htmlspecialchars($_POST['address']);
$message = htmlspecialchars($_POST['message']);
$campaign = htmlspecialchars($_POST['campaign']);
$join = $dbh->prepare('INSERT INTO turksat_references SET
full_name = :name,
phone = :p,
services_id = :sid,
city = :city,
state = :state,
address = :address,
message = :message,
campaign_id = :cid');
$join->execute([
'name' => $fullName,
'p' => $phone,
'sid' => $services,
'city' => $city,
'state' => $state,
'address' => $address,
'message' => $message,
'cid' => $campaign
]);
}
}
<label class="form-label fw-bold">Tercih Ettiğiniz Hizmetler</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="services[]" value="kablonet" id="1">
<label class="form-check-label" for="1">
Kablonet
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" name="services[]" value="kablonet2" id="2">
<label class="form-check-label" for="2">
Kablonet2
</label>
</div>
Note : HTML için sadece ilgili kısmı koydum yoksa post v.s sorunsuz çalışıyor
Veritabanıma kaydedilen veri : https://imgyukle.com/i/RsjAFU