Witam,
Próbowałem samemu rozwiązać problem, który dotyczy edycji pół checkbox. Działa edycja, gdy usunę $id i z zapytania sql where id='$id'. Dodatkowo znika w pasku adresu id, który chce edytować. Kod jest taki:
require_once('dbconn.php');
$id = isset($_GET['id']) ? $_GET['id'] : '';
$sql2 = $db->query("SELECT * FROM generalbox where id = '$id'");
$result=$sql2->fetch_All(MYSQLI_ASSOC);
foreach($result as $row){
$update_data = explode(',', $row['form']);
//print_r($update_data);
}
if(isset($_POST['submit'])){
$id = isset($_GET['id']) ? $_GET['id'] : '';
$update_data = implode(',', $_POST['general']);
$sql = $db->query("UPDATE generalbox SET form = '$update_data' where id = '$id' ");
if($sql>0){
echo "Zaktualizowano dane";
}else{
echo "Błąd w aktualizacji!";
}
$sql3 = $db->query("SELECT * FROM generalbox where id='$id' ");
$result=$sql3->fetch_All(MYSQLI_ASSOC);
foreach($result as $row){
$update_data = explode(',', $row['form']);
}
}
A błędy pokazują na pola checkbox:
Warning: in_array() expects parameter 2 to be array, string given in C:\xampp\htdocs\www\Projekty\formcheckbox.php on line 50
/> PHP
Warning: in_array() expects parameter 2 to be array, string given in C:\xampp\htdocs\www\Projekty\formcheckbox.php on line 51
/> Python
Warning: in_array() expects parameter 2 to be array, string given in C:\xampp\htdocs\www\Projekty\formcheckbox.php on line 52
<div><input type="checkbox" name="general[]" value="PHP" <?php in_array('PHP', $update_data) ? print "checked" : ""; ?> /> PHP</div>
<div><input type="checkbox" name="general[]" value="Python" <?php in_array('Python', $update_data) ? print "checked" : ""; ?> /> Python</div>
<div><input type="checkbox" name="general[]" value="C#" <?php in_array('C#', $update_data) ? print "checked" : ""; ?>/> C#</div>```
Robiłem to na podstawie jednego tutorialu, który jest na Youtube, tylko u tego autora działało i nie było żadnego select nad isset. Też sprawdzałem jak miał i nie działało. Proszę o odpowiedź problem rozwiązać a naszukałem się. I zastanawiałem się, czy tu napisać, ale to już moja ostateczność.