Таким образом, у меня есть такой массив изображений, а ключи массива всего 0,1,2,3,4,5 …. и еще что …
Как я могу сделать значение в столбце «id» этой таблицы ключевым и сохранить «ссылку» в качестве значения.
Ассоциативный массив, нет?
Вот мой PHP:
$myImageID = $me['imageid']; $findImages = "SELECT link FROM images WHERE model_id ='{$me['id']}'"; $imageResult = mysql_query($findImages) or die (mysql_error()); $myImages = array(); while($row = mysql_fetch_array($imageResult)) { $myImages[] = $row[0]; }
Вот что я имею:
{ [0] -> "http://img.ruphp.com/php/link.jpg" [1] -> "http://img.ruphp.com/php/li123nk.jpg" [2] -> "http://img.ruphp.com/php/link3123.jpg" }
Вот что я хочу:
{ [47] -> "http://img.ruphp.com/php/link.jpg" [122] -> "http://img.ruphp.com/php/li123nk.jpg" [4339] -> "http://img.ruphp.com/php/link3123.jpg" }
Просто выберите идентификатор и сделайте его ключом к массиву. Это так просто.
$findImages = "SELECT id, link FROM images WHERE model_id ='{$me['id']}'"; $imageResult = mysql_query($findImages) or die (mysql_error()); $myImages = array(); while($row = mysql_fetch_array($imageResult)) { $myImages[$row[0]] = $row[1]; }
FYI, вы не должны использовать функции mysql_*
в новом коде . Они больше не поддерживаются и официально устарели . См. Красную рамку ? Узнайте о подготовленных инструкциях и используйте PDO или MySQLi – эта статья поможет вам решить, какой из них. Если вы выберете PDO, вот хороший учебник .
Вы также широко открыты для SQL-инъекций
$myImages[$me['id']] = $row[0];