2016-07-07 1 views
-6
<?php 
$connect = mysqli_connect("localhost", "root", "jmpmvp", "characters"); 
if ($connect){ 
    echo "connected<br>"; 

} 
$query = "SELECT * FROM `character`"; 
$result1 = mysqli_query($connect, $query); 
?> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8"> 
     <title></title> 
    </head> 
    <body> 
     <form action ="handler.php" method="post"> 
      <label for="character">SELECT A CHARACTER </label> 
     <select multiple name="character"> 
      <?php while($character = mysqli_fetch_assoc($result1)){?> 
      <option value ="<?php echo $character['id'];?>"</option> 
      <?php echo $character['name'];?></option> 
      <?php }?> 

     <input type="submit" value="submit"/> 
     </select> 
     </form> 
    </body> 
</html> 

이 확실히 여기비디오 게임 캐릭터를 비교하는 PHP 프로그램을 만들기

<?php 
$connect = mysqli_connect("localhost", "root", "jmpmvp", "characters"); 
if ($connect){ 
    echo "connected<br>"; 

} 
$query = "SELECT * FROM `character` where id = ". $_POST ["character"]; 
$result1 = mysqli_query($connect, $query); 
?> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8"> 
     <title></title> 
    </head> 
    <body> 



      <?php while($character = mysqli_fetch_assoc($result1)){?> 

       <?php echo $character["name"];?><br>; 
      <?php echo $character["attack"];?><br> ; 
      <?php echo $character["defense"];?><br>; 
      <?php } ?> 


    </body> 
</html> 

위 내 인덱스 페이지가 나는 데 문제가 I가 선택 내 HTML에서 여러 옵션을 선택할 수 있습니다 내 핸들러 페이지입니다 내 색인 페이지하지만 여러 문자가 내 처리기 페이지에서 선택되면 표시 문제가 있습니다. 누구든지이 특정 문제를 해결하는 방법을 알고 있습니까? 나는 또한 내가 알 수있는 테이블에 데이터를 표시하려고한다.

+1

에 오신 것을 환영합니다 SO에 있습니다. [내가 뭘 물어볼 수있는 주제는 무엇입니까?] (http://stackoverflow.com/help/on-topic)와 [좋은 질문을하는 법] (http://stackoverflow.com/help/how-to-ask)을 읽어보십시오.)와 [완벽한 질문] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/). 그래서 ** 무료 코딩 또는 튜토리얼 서비스 **가 아닙니다! 당신은 당신 자신의 문제를 해결하는 데 도움이되었다고 보여줘야합니다. – icecub

+2

질문을 작은 부분으로 나누어야합니다. 무엇을 성취하려고합니까? 어디서 붙어 있니?아무도 그러한 특정 질문을 당신을 도울 수있을 것입니다 –

+0

죄송합니다.이 사이트의 처음 사용자와 PHP에 약 3 개월 이니 저는 아직도 배우고 있습니다. 이 프로젝트는 분명히 조금 진보 된 것이지만 모든 포럼에서 여러분이 좋아하는 일을한다고 말하면 더 빨리 배울 것입니다. 방금 내 질문을 다시 작성했으며 모든 의견을 크게 환영 할 것입니다. – Tidesglenn

답변

0

실제로 필요한 것은 논리적 인 접근입니다. 당신은 스스로에게 "당신이 원하는 것", "필요한 것"및 "하는 법"을 물어야합니다.

그래서 귀하의 경우에는 당신이 비교하고 싶지만 실제로 당신이 필요로하는 것을 말하지 않았습니다. 그래서 당신이 새로운 사람이라면 당신을 도울 수 있습니다 :

확실히 필요한 것은 사용자가 목록에서 문자를 선택할 수있는 웹 페이지입니다. 그러나 그 때 무엇? 나는 모른다. 당신은 그렇게 지정하지 않았습니다 ... :

1) 문자를 선택할 수있는 선택 상자를 보여줍니다. 그들을 얻는 방법? 데이터베이스에서 선택하십시오. 이것은 당신이 이미 가지고있는 것입니다.

2) 사용자가 문자를 선택한 후이 데이터를 서버로 보내야합니다. 그것을하는 방법? 같은 <form> 태그를 사용하여 양식에 의해 전송

<form method="post"> 
    <select name="character">...option list...</select> 
    <input type="submit" value="Search"> 
</form> 

3) 가져 오기 데이터와 함께 ... 당신이 뭔가 비교를 사용합니다.

<?php 

if(isset($_POST['character'])){ 
// do something with this character 
} 

?> 

4) 사용자가 찾고있는 것을 찾지 못했거나 찾지 못했거나 다른 것을 표시합니다. 같은 일부 사업부에이 데이터를 전달합니다

<?php 
$found = 'set this true OR false'; 

if($found){ 
    $message = 'Found it!'; 
}else{ 
    $message = 'Not_found!"; 
} 

?> 

다음 HTML에서 쓰기 무엇인가 : 그것은, 나머지는 당신에게 달려있다

<div><?php echo isset($message) ? $message : ''; ?></div> 

이잖아. 간단한 문제 당신은 Google에서 검색하여 해결할 것입니다.

-------- 편집 여러 선택 상자를 사용하는 모든 경우의

먼저, 이름은 다음과 같아야합니다 귀하의 $ _POST [ '문자 다음

<select name="character[]" multiple> 

']는 이제 배열입니다.

echo '<pre>'; 
var_dump($_POST); 
echo '</pre>'; 

사용 foreach 문 : 다음과 같은 방법으로 그 내용을 확인할 수 있습니다

$ids = []; // or $ids = array(); if php version lower than 5.4 

foreach($_POST['character'] as $v){ 
    $ids []= (int) $v; 
} 

$query = 'SELECT * FROM `character` where id IN ('. implode(',', $ids) .') '; 
+0

여기 내 색인 페이지입니다 – Tidesglenn

+0

설명해 주셔서 감사합니다. 더 게시 한 내용을 살펴 보겠습니다. 그러나 다음을 시도하고 있습니다. 캐릭터 이름, 공격 등급, 방어력이 포함 된 데이터베이스를 가져옵니다. 1- 사용자가 선택하기 위해 드롭 다운에 문자 이름을 표시합니다. 2- 사용자가 드롭 다운에서 문자를 여러 번 선택할 수 있도록 허용합니다. 3- 선택 사항을 표에 표시합니다. 내가 이것을 알아 낸 후에 한 캐릭터를 다른 캐릭터와 비교할 수 있기를 원하지만 작게 시작하여 더 발전시켜야합니다. – Tidesglenn

+0

여러 옵션을 선택 했으므로 내 처리기의 쿼리를 변경해야합니까? – Tidesglenn

관련 문제