Postingan lainnya
Bug dalam pembuatan cms toko online
halo semua nya teman-teman aku lagi buat cms untuk toko online , tapi sepertinya ada bug nih pada saat update product di bagian category. Jadi saat klik update nah category parent dan category child nya tuh harus nya tercentang / checked, tapi yang tercentang hanya category parent saja. mohon koreksinya teman-teman ane udah kesana-kesini belum bisa juga :(
function hierarchyUpdate($idCheck = 0){
global $dbh,$id;
if($idCheck == 0){
$query_top_level = $dbh->query("SELECT * FROM category WHERE categoryParent = 0 ORDER BY categoryName ASC");
$queryCategoryMap = $dbh->query("SELECT * FROM category_map WHERE productID = $id");
$rowCategoryMap = $queryCategoryMap->fetchAll(PDO::FETCH_ASSOC);
foreach ($rowCategoryMap as $key => $value) {
$catID[$key] = $value["categoryID"];
}
$catIDCount = count($catID);
if($query_top_level->rowCount()>0){
echo "<ul class='parentCat'>";
while($row = $query_top_level->fetch(PDO::FETCH_OBJ)){
for($x=0;$x<$catIDCount;$x++){
$checked = "";
if($catID[$x] == $row->categoryID){
$checked = "checked";
break;
}
}
echo "<li>"."<input ".$checked." type='checkbox' name='category[]' value='". $row->categoryID."'>".$row->categoryName."</option>";
if(child_check($row->categoryID)){
hierarchy($row->categoryID);
}
echo "</li>";
}
echo "</ul>";
}
}else {
$query_child = $dbh->query("SELECT * FROM category WHERE categoryParent = $idCheck ORDER BY categoryName ASC");
$queryCategoryMap = $dbh->query("SELECT * FROM category_map WHERE productID = $id");
$rowCategoryMap = $queryCategoryMap->fetchAll(PDO::FETCH_ASSOC);
foreach ($rowCategoryMap as $key => $value) {
$catIDchild[$key] = $value["categoryID"];
}
$catIDCount = count($catID);
if($query_child->rowCount()>0){
echo "<ul class='childCat'>";
while($row = $query_child->fetch(PDO::FETCH_OBJ)){
for($x=0;$x<$catIDCount;$x++){
$checked = "";
if($catIDchild[$x] == $row->categoryID){
$checked = "checked";
break;
}
}
echo "<li> aaa"."<input type='checkbox' name='category[]' value='". $row->categoryID."' ".$checked.">".$row->categoryName."</option>";
if(child_check($row->categoryID)){
echo "</li>";
}else{
hierarchy($row->categoryID);
}
}
echo "</ul>";
}
}
}
0
1 Jawaban:
coba cek bagian ini:
foreach ($rowCategoryMap as $key => $value) {
$catIDchild[$key] = $value["categoryID"];
}
$catIDCount = count($catID);
if($query_child->rowCount()>0){
echo "<ul class='childCat'>";
while($row = $query_child->fetch(PDO::FETCH_OBJ)){
for($x=0;$x<$catIDCount;$x++){
$checked = "";
//Coba echo bagian ini (lihat apakah sudah sesuai)
echo $catIDchild[$x] ;
echo $row->categoryID;
if($catIDchild[$x] == $row->categoryID){
$checked = "checked";
break;
}
}
0