2016-08-30 6 views
0

テーブルから記録された選択肢を読み込むときに選択したいオプションメニューがあります。表の項目にはハイフンが付きます(例:Volvo - 3638、Toyota - 92131)。問題は、strcmpを使用して、格納された値に選択されてエコーされていることです。テーブルに値を格納している間は、以前に保存された値からオプションメニューの選択肢を変更するためにオプションメニューを作成すると、選択した値にエコーすることができません。私は無駄にしようとしました。私はそれがハイフンだと思っています。私はハイフンを維持し、エコーを選択できる解決策がありますか?ここに私のオプションメニューはあります:アイテムがハイフンを持つときにオプションメニューで選択された

<input type="text" name="Activity" class="form-control" id="Activity" value="<?php echo htmlentities($row_Recordset1['Activity'], ENT_COMPAT, 'utf-8'); ?>" required <?php 
       if($row_RecordsetTrans['SUM(`transaction`.quantity)'] >0){ 
        echo 'readonly'; 
          } 

       ?>> 
       </div> 
       <div class="form-group"> 
       <label for="Account">Account*</label> 

        <select class="form-control" name="Account" id="Account" required <?php 
       if($row_RecordsetTrans['SUM(`transaction`.quantity)'] >0){ 
        echo 'readonly'; 
       }else{ 
        echo 'text'; 
       } 

       ?>> 
       <option value="" <?php if (!(strcmp("", $row_Recordset1['Account']))) {echo "selected=\"selected\"";} ?>>select account</option> 
       <?php 
do { 
?> 
       <option value="<?php echo $row_Accounts['acctname']?>"<?php if (!(strcmp($row_Accounts['acctname'], $row_Recordset1['Account']))) {echo "selected=\"selected\"";} ?>><?php echo $row_Accounts['acctname']?></option> 
       <?php 
} while ($row_Accounts = mysql_fetch_assoc($Accounts)); 
    $rows = mysql_num_rows($Accounts); 
    if($rows > 0) { 
     mysql_data_seek($Accounts, 0); 
     $row_Accounts = mysql_fetch_assoc($Accounts); 
    } 
?> 
       </select> 

答えて

0

上記のコードが正しいことが分かります。インポートしたデータに問題がありました。 '' TABLE INTO

$のSQLStatement = "LOAD DATA LOCAL INFILE '$の一時は' BY TERMINATED FIELDSを占め、それは結局のところは '\ r' がBY TERMINATED LINESは1 LINES

をIGNORE、ロードされた:私が使っていましたデータはacctnameフィールド内の改行を得ていたので、strcmpのデータを比較することはできません

修正プログラムは、改行を削除することにより、終端の\ nを追加することでした:。。

$sqlstatement="LOAD DATA LOCAL INFILE '$temp' INTO TABLE accounts FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' IGNORE 1 LINES 
関連する問題