2011-10-28 24 views
0

剛學這個東西的排列順序,所以用任何的無知承擔排序從MySQL輸出...利用輸入數組

在我想要做的,用戶輸入一個字,並將其輸出接收其字作爲我存儲在mysql數據庫中的字母圖稿。我有一個php頁面,將這個單詞的字符分解成一個數組,然後將這些字母字符與標記的記錄進行匹配。

我遇到的麻煩是將輸出圖像(a)的輸入順序與用戶輸入的單詞的字符順序相同,並且(b)每個輸入只選擇一個標籤圖像(隨機)信。

感謝您對腳本編寫的任何建議或幫助!


這裏有一些想法,我有一些幫助拼湊起來......

$cxn = mysqli_connect($host, $user, $password, $database) or die("no cxn"); 
$lettertype = str_split($_POST['letter']); 
array_walk($lettertype, 'mysql_real_escape_string'); 
$lettertype = "'" . implode("','", $lettertype) . "'"; 
$query = "SELECT * FROM images WHERE letter IN ($lettertype)"; 
$result = mysqli_query($cxn, $query) 
     or die ("No good"); 
    while($row = mysqli_fetch_assoc($result)) 
     { 
     echo "<a href='../delete3/images/{$row['imagePath']}' border='0'> 
     <img src='../delete3/images/{$row['imagepath']}' width='100' height='80'/></a>"; 
     } 
+1

幫助我們通過發佈更多信息來幫助您發佈更多信息,例如,我們的數據庫結構?你現有的代碼?一個簡單的輸入示例返回的結果(這將是錯誤的根據你) – Godzilla

+0

當然,你必須在你的輸出與輸入對齊的東西?你可以str_split()輸入單詞,然後對於該數組中的每個字符,循環遍歷結果數組,並按順序構建finaly數組。 – Scuzzy

+0

感謝您抽出時間。我添加了上面的關鍵部分。 – Peter

回答

1

您將有此測試自己...

$alphasoup = array(); 
while($row = mysqli_fetch_assoc($result)) 
{ 
    $alphasoup[$row['letter']][] = $row; 
} 
foreach(str_split($_POST['letter']) as $alpha) 
{ 
echo "<a href='../delete3/images/{$alphasoup[($alpha][0]['imagePath']}' border='0'> 
<img src='../delete3/images/{$alphasoup[$alpha][0]['imagepath']}' width='100' height='80'/></a>"; 
} 

獎金編輯:和如果您希望能夠爲同一個字母有多個圖形並隨機選取一個,請存儲...

$alphasoup[$alpha][array_rand($alphasoup[$alpha])]['imagepath'] 

...作爲單個變量在您的字符串中的兩個實例中重複使用

+0

同樣重要的是用戶輸入具有相同的字符大小寫。 – Scuzzy

+0

正是我試圖找到的!解決了。試過了,它像一個冠軍。感謝您的努力。 – Peter