Преправяне на файл от array в заявка

Hous

Registered
Чидя се как да преправя този код:
Код:
$first = max(0, intval($_GET['first']) - 1);
$last  = max($first + 1, intval($_GET['last']) - 1);

$length = $last - $first + 1;

// ---

$images = array(
    'http://static.flickr.com/66/199481236_dc98b5abb3_s.jpg',
    'http://static.flickr.com/75/199481072_b4a0d09597_s.jpg',
    'http://static.flickr.com/57/199481087_33ae73a8de_s.jpg',
    'http://static.flickr.com/77/199481108_4359e6b971_s.jpg',
    'http://static.flickr.com/58/199481143_3c148d9dd3_s.jpg',
    'http://static.flickr.com/72/199481203_ad4cdcf109_s.jpg',
    'http://static.flickr.com/58/199481218_264ce20da0_s.jpg',
    'http://static.flickr.com/69/199481255_fdfe885f87_s.jpg',
    'http://static.flickr.com/60/199480111_87d4cb3e38_s.jpg',
    'http://static.flickr.com/70/229228324_08223b70fa_s.jpg',
);

$total    = count($images);
$selected = array_slice($images, $first, $length);

// ---

header('Content-Type: text/xml');

echo '<data>';

// Return total number of images so the callback
// can set the size of the carousel.
echo '  <total>' . $total . '</total>';

foreach ($selected as $img) {
    echo '  <image>' . $img . '</image>';
}

echo '</data>';
да е абсолютно на същия принцип , но вместо от масив да взима адреса на картинките от база данни,като запази останалите опции еднакви...да показва същите стойности в xml файл както и сега само,че да не са стаични адреси а динамични на random() принцип...
Благодаря!
 
PHP:
<?php
$first = max(0, intval($_GET['first']) - 1);
$last  = max($first + 1, intval($_GET['last']) - 1);

$length = $last - $first + 1;

// ---
mysql_connect("localhost","db username","db password") or die(mysql_error());
mysql_select_db("database");
$a = mysql_query("SELECT `images` FROM `table` ORDER BY RAND() LIMIT 10") or die(mysql_error());
while ($r = mysql_fetch_array($a))
{
$images[] = $r['images'];
}

$total    = count($images);
$selected = array_slice($images, $first, $length);

// ---

header('Content-Type: text/xml');

echo '<data>';

// Return total number of images so the callback
// can set the size of the carousel.
echo '  <total>' . $total . '</total>';

foreach ($selected as $img) {
    echo '  <image>' . $img . '</image>';
}

echo '</data>';
?>

Да ти кажа честно не съм го пробвал и не съм сигурен дали ще работи де, но предполагам ,че би трябвало така да стане масива.
Зададох лимит 10 ,тъй като твоите файлове в масива са 10.
Пробвай и кажи дали има резултат ;)

EDIT:

Пробвах го вече с таблица news и поле title и работеше, но ти си го пробвай и кажи все пак какъв е резултатът де ;)
 
М,да стана,един послесен въпрос,така направен кода с _GEt метод със помощта на ajax , потенциялни проблеми има ли?В смисъл някой да си играе с адресите и да опита sql injection...
 
Ами като види в source кода до кои фаил се изпращат данните и ще може като го отвори директно да си прави някакви манипулации.
За тази работа ще си защитиш кода и няма да те притеснява каквото иска да си прави ;)
 
Това

PHP:
$first = max(0, intval($_GET['first']) - 1);
$last  = max($first + 1, intval($_GET['last']) - 1);

може да го замениш с това:

PHP:
if (is_numeric($_GET['first']) and $_GET['first'] > 0 and is_numeric($_GET['last']) and $_GET['last'] > 0)
{
$first = max(0, intval($_GET['first']) - 1);
$last  = max($first + 1, intval($_GET['last']) - 1);
}
else
{
echo "Invalid id";
exit;
}
 
Мда,сори ,че толкова късно пиша просто малко приоритетите се смениха,точката отива при @proba :)
:?:
 

Горе