PHPを使って、selectにonchangeで2つの要素を持たせたまま今のページに飛びたいのですが動きません。
?item_id=',$item_id,'&color=',$color_id,'
のところを消すと動いたのでこの中に問題があるとおもうのですが、何が問題なのかわかりません。どなたか教えていただけないでしょうか?
php
1 2$sql = $pdo->prepare('select * from color where item_id = :item_id order by item_id asc'); 3 $sql ->bindParam(':item_id', $item_id,PDO::PARAM_INT); 4 $sql->execute(); 5 if(isset($sql)){ 6 echo '<select id ="color"on Change=location.href="./item.php"?item_id=',$item_id,'&color=',$color_id,' >'; 7 } 8 foreach ($sql as $color_data){ 9 $color_id=$color_data['color_id']; 10 echo '<option value="' . $color_id . '">' . $color_data['color_name'] . '</option>'; 11 } 12 if(isset($sql)){ 13 echo '</select>'; 14 } 15
PHPは直接関係ないです。
あと発生しているイベントはclickではないのですしoption自体が反応しているわけじゃないので注意が必要。
該当の場所を修正しましたが動かず、どこに問題があるのか調べていましたが、どうやら
?item_id=',$item_id,'&color=',$color_id,'
の範囲に問題があったようでした。
この範囲にどんな問題があるのか教えていただけないでしょうか
回答が付いた質問の編集は慎重に行ってください。質問文のコードについて回答にて指摘があった場合は「追記」し、元のコードを編集する場合も「直したこと」がわかるようにしてください。後から見た人から見て、現在回答されておられる方の回答が「無いコードに対しての指摘」になり、意味がわからなくなります。
何も知らず勝手に書き換えてすみません。次からは慎重に行うことにします。
まずHTMLで固定で書いてみては。「属性と属性値」の基本的に大問題です。半角スペースがあれば一連の流れではないですし、クォートの場所や使い方含めて結構マズいです(あくまでPHPではなくHTMLの問題)