0

配列の作成と情報の保存に問題があります。データの数が無限になる可能性のあるテーブルがあり、ユーザーはいくつかのオプションを選択して、これらの値のどれを選択できるかを決定します (これも無限の数です)。 )、これらの選択肢は、このコードを使用するチェックボックスに表示されます

<?php foreach ( $results['detailsline'] as $detailsline )
 {
$invoice_details = $detailsline->details_line;

echo $invoice_details;
echo '<input type="checkbox" name="invoice_details" value="'.$invoice_details.'"/>';  
  }             
 ?> 

したがって、これは以前に選択したオプションを検索し、それらを配列に並べ替えてからチェックボックスに並べ替える必要がありますが、情報を保存すると、最後にチェックしたボックスを保存するだけで、各入力EGの値を変更できません

echo '<input type="checkbox" name="invoice_details[value1]" 
echo '<input type="checkbox" name="invoice_details[value2]" 

値/チェックボックスがいくつあるかわからないためです。私もこれを試しました

    <?php foreach ( $results['detailsline'] as $detailsline )
 {
$invoice_details[] = $detailsline->details_line;

echo $invoice_details[];
echo '<input type="checkbox" name="invoice_details[]" value="'.$invoice_details.'"/>';  
  }             
 ?> 

の変更

    $invoice_details

$invoice_details[]

しかし、これは実際の値ではなく、値「配列」をデータベースに格納するだけです。

誰でも私を助けることができますか?

イアン

4

5 に答える 5

0

文字通りコードとは、オブジェクト$detailsline$invoice_details[] = $detailsline->details_line;のプロパティdetails_lineを取得し、その値を配列$invoice_detailsの新しい要素として挿入することを意味します。それは本当にあなたが望むものですか?) また、$detailslineは配列ですが、オブジェクトではないと思います (オブジェクトとして操作しようとしています)

于 2013-03-21T10:23:48.453 に答える
0

しかし、これは実際の値ではなく、値「配列」をデータベースに格納するだけです。

配列を文字列として保存しようとしたので、その値を取得したと思います。 データを保存するために implode/serialize/json_encode (配列) を使用する必要があるかもしれませんか?

于 2013-03-21T10:21:52.427 に答える
0

オーケー私はあなたがこれを試してみるべきだと思います:

<?php 
$i=0;
foreach ( $results['detailsline'] as $detailsline )
{
$invoice_details = $detailsline->details_line;
echo $invoice_details;
echo '<input type="checkbox" name="invoice_details[$i]" value="'.$invoice_details.'"/>';  
$i++;
}             
?>
于 2013-03-21T11:02:20.010 に答える
0

これを試して

<?php foreach ( $results['detailsline'] as $detailsline )
 {
$invoice_details = $detailsline->details_line;

echo $invoice_details;
echo '<input type="checkbox" name="invoice_details[]" value="'.$invoice_details.'"/>';  
  }             
 ?> 
于 2013-03-21T10:20:13.677 に答える
0

使用する<input type="checkbox" name="invoice_details[]">

コードではserialize($invoice_details)、DB への保存と - の使用時に使用できますunserialize($field_from_db)

最初の関数は文字列を返すので、文字列フィールドとして保存できます.2番目の関数は文字列を取得して配列全体を返すので、それを操作できます.

于 2013-03-21T10:21:24.860 に答える