2011-11-10 4 views
0

フォームに入力された個々の文字をmysqlクエリの入力として受け取り、foreachを使って結果の配列をループして1つの画像をエコーするPHPスクリプトがあります。これらの文字のそれぞれを表すアートワーク(すなわち、花のための6つの画像)。多次元配列をエコーするときに既知のキー値としてフォームデータを使用

しかし、入力された各文字の後に次のdivがその文字だけのポートフォリオ全体で埋められるように、同じforeach内に2番目のエコーを作成するにはどうすればよいですか? 。私が現在持っているように、各divには、入力されたすべての文字のポートフォリオが入力されます。どのように私はそれを取得するので、文字rの後のdivは、文字 "r"のわずか6つの画像になりますか?

ありがとうございました!私はここ数週間でこのスクリプトの新機能を使い慣れているので、簡単に手に入りました。私は本当にどんな洞察にも感謝します。

$lettertype = str_split($lettertype); 
$lettertype = "'" . implode("','", $lettertype) . "'";  
$query = "SELECT * FROM Photos WHERE letter IN ($lettertype)"; 
$result = mysqli_query($cxn, $query) 
    or die ("No good");  
$alpharray = array(); 
while($row = mysqli_fetch_assoc($result)){ 
    $alpharray[$row['letter']][] = $row; 
} 
foreach(str_split($_POST['search_term']) as $alpha){   
    echo "<img class='clickable' img src='../Letterproject/images/{$alpharray[$alpha][0]['photoPath']}' width='100' height='140'></src>";   
    echo '<div class="editimages">';      
    foreach ($alpharray as $tempvar){     
     foreach($tempvar as $oneletter){      
      echo "<img class='editable' img src='../Letterproject/images/{$oneletter['photoPath']}' width='100' height='140'></src>";          
     } 
    }    
    echo '</div>';   
} 

答えて

1

これが機能するかどうかを教えてください。私は最後のforeachを変更して、そこにあるすべての文字写真のforeachを行いました。 (各文字のクエリから複数の結果が返ってきたと仮定します)

"SELECT * FROM Photos WHERE letter IN ($lettertype)"; 

とにかくここにあります。

$lettertype = str_split($lettertype); 
$lettertype = "'" . implode("','", $lettertype) . "'";  
$query = "SELECT * FROM Photos WHERE letter IN ($lettertype)"; 
$result = mysqli_query($cxn, $query) 
    or die ("No good");  
$alpharray = array(); 
while($row = mysqli_fetch_assoc($result)){ 
    $alpharray[$row['letter']][] = $row; 
} 
foreach(str_split($_POST['search_term']) as $alpha){   
    echo "<img class='clickable' img src='../Letterproject/images/{$alpharray[$alpha][0]['photoPath']}' width='100' height='140'></src>";   
    echo '<div class="editimages">';      
    foreach ($alpharray[$alpha] as $tempvar){          
      echo "<img class='editable' img src='../Letterproject/images/{$tempvar['photoPath']}' width='100' height='140'></src>";          
    }    
    echo '</div>';   
} 
+0

驚くばかり!私は頭の中でそれを多すぎて作っていたと思う。それは私が探していたものです。本当にありがとう。私は助けに感謝します。 – Peter

関連する問題