tbl1
id | detail
1 | this, that
2 | these, those
tbl2
id | visit | cost
1 | this | 20
2 | that | 30
3 | these | 40
4 | those | 50
PHP:
<?php
$id=$_GET['id'];
$detail=$_GET['detail'];
$pieces = explode(",", $rows['detail']);
// $pieces[0]; piece1
// $pieces[1]; piece2
// $pieces[2]; piece2
// $pieces[3]; piece3
// $pieces[4]; piece4
foreach($pieces[1] as $test){
$query="SELECT * FROM tbl1, tbl2 WHERE
$test = tbl2.cost AND
tbl1.id='$id'";
}
$result=mysql_query($query) or die("error: " . mysql_error());
while($rows=mysql_fetch_array($result)){
?>
<table>
<tr>
<td><input value="<? echo $rows['code'];?>" readonly="readonly"/></td>
<td><input value="<? echo $rows['cost']; ?>" readonly="readonly"/></td>
</tr>
</table>
<?php
}
?>
for id=1, array 0=>this, 1=>that だから、foreach($pieces[1] as $test)
、それは「それ」を意味します
上記は機能しますが、 に変更$pieces[1]
して$pieces[0]
も、 に対応する結果が得られ$pieces[1]
ます。そして、$pieces[4]
存在しないものに変更すると、 に対応する結果が再び得られ$pieces[1]
ます。
私はどこで間違っていますか?この配列を機能させるにはどうすればよいですか?
tbl1.id=1 piece[0]=>this、piece[1]=>that によると、テーブルで機能させたいと考えています。助けてください。