使用输入数组的排序顺序对mysql输出进行排序


Sorting output from mysql using the sort order of an inputted array

只是学习这些东西,所以容忍任何无知…

在我要做的是,用户输入一个单词,并作为输出接收他们的单词作为字母艺术品,我已经存储在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>";
        }

您必须自己测试…

$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']

…作为一个变量,在字符串

的两个实例中重用