2013-02-21 2 views
0

PHP에서 HTML과 가능한 한 많은 페이지를 분리하기 위해 다른 페이지의 목록/드롭 다운 상자를 채우는 데 사용할 수있는 함수를 만들려고합니다. msqli를 사용하여 "acc_vat_rates!"테이블을 쿼리하고 "vat_rate_id"및 "vat_rate_name"에 관심이있는 두 필드를 선택했습니다. 결과를 반복하고 $ vatratearray라는 코드를 아래에있는 코드로 채 웁니다.목록 상자의 함수 결과

<?php 

function vat_rates(){ 
    $conn = new mysqli("192.168.1.81", "root", "", "cloudoneaccountsdb"); 
$queryvat = "SELECT vat_rate_id,vat_rate_name FROM acc_vat_rates ORDER BY vat_rate_id"; 
$resultsvat = $conn->query($queryvat); 
//SET UP AN ARRAY NOW 
$vateratearray = array(); 
while ($rowvat= $resultsvat->fetch_assoc()) 
    $vatratearray[] = $rowvat['vat_rate_id']." "." ". $rowvat['vat_rate_name']; 
//print_r($vateratearray); 

foreach($vatratearray as $key => $value) 
//echo "<p>{$value} <?br></p>"; 
echo '<option value="'.$value.'">'.$value.'</option>'; 
} 

?> 

이 기능은 "global_functions.php"라는 페이지에 저장되어 다른 페이지에 포함됩니다. 위의 모든 기능이 정상적으로 작동합니다. 그런 다음 함수 "function vat_rates()를 다른 페이지의 목록 상자에 대한 옵션 값으로 사용하지만 내 문제가 시작되는 곳입니다. 함수가 목록 상자를 채울 때 record_id와 이름이 나란히 표시됩니다. 좋아요,하지만 내가 선택한 선을 게시 할 때 "ID"와 "이름"을 게시합니다. "ID"가 DB에 포함되도록 게시하고 싶습니다.

I '공정이 잠시 동안이었다했습니다, 그래서 어떤 도움을 주시면 감사하겠습니다 감사합니다 ... 데이비드

답변

0

당신은 당신의 while 루프를 변경하고 foreach는 제거 할 수 있습니다 :.

while ($rowvat= $resultsvat->fetch_assoc()){ 
    echo '<option value="'.$rowvat['vat_rate_id'].'">'.$rowvat['vat_rate_name'].'</option>'; 
} 
+0

안녕하세요 여러분의 도움이 감사) – David

0

이 시도 :

while ($rowvat= $resultsvat->fetch_assoc()) 
     { 

      array_push($vatratearray, 
       array('vat_rate_id' => $rowvat['vat_rate_id'], 
        'vat_rate_name' => $rowvat['vat_rate_name'] 

      )); 

     }  

     foreach($vatratearray as $key => $value) 
     { 
     echo '<option value="'.$value['vat_rate_id'].'">'.$value['vat_rate_id'].' '$value['vat_rate_name'].'</option>'; 
     } 

당신이 코드를 많이 향상시킬 수 있습니다 .... 당신도 while 루프 내부의 옵션을 만들 수 있습니다; 단지 다른 응답 XD

Saludos처럼,

+0

은 많은 감사, 당신의 도움을 주셔서 감사합니다. – David

+0

당신은 환영합니다 ... 다비드에게 언제든지 물어보십시오. – Hackerman