|
|
|
| вот такой у меня код. я пытаюсь img_a, img_b, img_c, img_d, img_e, img_g вывести в массив, но так как не все записи обезательно могут быть, я дальше проверяю не пустая ли строка и записываю сново в масив. здесь одназначно, что то не правильно. но что?
$p = $HTTP_GET_VARS['p'];
@ $db = mysql_pconnect("");
if (!$db)
{
echo "Error: Could not connect to database. Please try again later.";
exit;
}
mysql_select_db("base");
$query = "SELECT img_a, img_b, img_c, img_d, img_e, img_g from photos where id=$p";
$result = mysql_query($query);
$arr = mysql_fetch_row($result);
$arr_pics = array();
for($i = 0; $i < count($arr); $i++)
{
if($arr[$i] && is_file($arr[$i]))
{
$arr_pics[] = $arr[$i];
}
}
|
| |
|
|
|
|
|
|
|
для: inga
(29.12.2005 в 12:20)
| | а вы выведите на экран массив $arr и сами все поймете
Дело в том, что в нем значения дублируются с числовыми и с текстовыми ключами. лучше проверку сделать так:
<?
foreach ($arr as $key=>$val)
{
if($val && is_file($val))
$arr_pics[] = $val;
}
?>
|
а массив создавать только с числовыми ключами:
$arr = mysql_fetch_array($result, MYSQL_NUM)
|
| |
|
|
|