안녕하세요, 저는 PHP로 MySQL을 배우기 시작했습니다. 내 튜토리얼 수업에서는 "표제"와 "페이지"라는 두 개의 테이블이있는 데이터베이스를 만들었습니다. 이들은 관계형 데이터베이스입니다. "subject"의 기본 키는 MySQL의 subject_id라는 변수를 통해 페이지 테이블에서 호출됩니다. 결국 그들은 "주제"가 범주이고 "페이지"가 하위 범주 인 탐색 메뉴로 가정됩니다.페이지 ID가 관련없는 숫자 인 이유는 무엇입니까?
<div class="col-md-3 sidebar">
<ul>
<?php $subject_set = find_all_subjects(); ?>
<?php while($subject = mysqli_fetch_assoc($subject_set)){ ?>
<li><a href="manage_content.php?subject= <?php echo urlencode($subject["id"]);?>"><?php echo $subject["menu_name"];?></a>
<?php $page_set = find_pages_for_subjects($subject["id"]); ?>
<ul>
<?php while($page = mysqli_fetch_assoc($page_set)){ ?>
<li>
<a href="manage_content.php?page= <?php echo urlencode($page["id"]);?>"><?php echo $page["menu_name"];?></a>
</li>
<?php } ?>
<?php mysqli_free_result($page_set);?>
</ul>
</li>
<?php } ?>
<?php mysqli_free_result($subject_set);?>
</ul>
</div>
을 내 function.php에 내가 가진 : tables
지금 내 PHP 코드에서 내가 가진
<?php
function confirm_query($result_set){
if (!$result_set){
die("DB Query Failed");
}
}
function find_all_subjects(){
global $connection;
$query = "select * ";
$query .= "from subjects ";
$query .= "where visible = 1 ";
$query .= "order by position asc";
$subject_set = mysqli_query($connection, $query);
confirm_query($subject_set);
return $subject_set;
}
function find_pages_for_subjects($subject_id){
global $connection;
$query = "select * ";
$query .= "from pages ";
$query .= "where visible = 1 ";
// an aditional line to relate pages to the subject, subject_id is what rlate two tables together
// dont forget space between lines
$query .= "AND subject_id = {$subject_id} ";
$query .= "order by position asc";
$page_set = mysqli_query($connection, $query);
// the result captured can not be used twice for two different queries
// so result varibale should have unique names
confirm_query($page_set);
return $page_set;
}
?>
간단한 쿼리를, 이제 출력해야 다음과 같은 내용 :
문제는 내가 페이지를 클릭 할 때 URL에 3 ~ 4 개의 주제 ID를 얻으려고하는데 그 대신에 내가 얻는 것입니다 :
localhost : 8888/CMS/public/manage_content 도트) php? page = % 201
"(도트)입니다. "
어디에서 왔는가? 예를 들어 첫 번째 페이지의 경우 원래 번호로 다시 설정할 수 있습니까? 자세한 정보가 필요하면 제 전체 파일을 제공하여 어디에서 찾을 수 있는지 물어보십시오. 이에서 오는
이 여담으로 당신에게
'='다음에 공백을 없애려면? page = php echo urlencode –
'% 20'은 공간의 URL 인코딩 값입니다''그래서 정말'? page = 1' – RamRaider
Andrej Ludinovskov와 RamRaider, 작은 공간이 문제가되었습니다. 이제 http로 가고 싶습니다. : // localhost : 8888/CMS/public/manage_content (dot) php? page = 1 튜토리얼에서는 페이지가 URL 변경 만 변경하지만 페이지는 동일하게 유지되며 광산은 "찾을 수 없음"페이지로 이동합니다. 왜 그럴 생각이야? – ali