メニューの項目を並べ替えることができるスクリプトを作成しました。
コードは、ページのタイトルとページがメニューに表示される順序を選択(表示)します。
たとえば、5ページ(About Us、Mission&Vision、Awards、Environmental Policy、Locations)がある場合、順序は1〜5になります。
スクリーンショットからわかるように、コードは5つのページオプションを含む5つのドロップダウンを生成します。もう一方のドロップダウンでは、1〜5が表示されます。
私がやろうとしているのは、メニューに名前とページの順序をロードして、メニューがすでにその形式になっていることです。
したがって、各ドロップダウンには、他のドロップダウンにページタイトルと対応する順序があります。その後、ユーザーは必要に応じてこれを変更できます。
これを実現するためにコードを変更するにはどうすればよいですか?
<?php
$apageid = array();
$apagename = array();
$apageorder = array();
$q = "SELECT g.id, g.title, n.order FROM tbl_general g INNER JOIN tbl_navigation n ON n.pageid = g.id WHERE n.type = '$_SESSION[parent]' ORDER BY n.order";
$return = $database->query($q);
while($row=mysql_fetch_assoc($return)){
$apageid[] = $row['id'];
$apagename[] = $row['title'];
$apageorder[] = $row['order'];
}
$count = count($apageid);
$bpageid = array();
$bpageorder = array();
?>
<div class="form-holder">
<?php
//run through each page one at a time and update the order of the menu
for($i=0; $i<$count; $i++){
?>
<div class="form-row">
<div class="form-label">
Page Name
</div>
<div class="form-field">
<select class="select-small" name="<?php echo $bpageid[$i] ?>">
<?php
for($j=0; $j<$count; $j++){
?>
<option value="<?php echo $apageid[$j]; ?>"><?php echo $apagename[$j]; ?></option>
<?php
}
?>
</select>
<select class="select-small" name="<?php echo $bpageorder[$i] ?>">
<?php
for($k=0; $k<$count; $k++){
?>
<option value="<?php echo $apageorder[$k]; ?>"><?php echo $apageorder[$k]; ?></option>
<?php
}
?>
</select>
</div>
</div>
<?php
}
?>