Jak ma wyglądać pętla, która będzie wyświetlała te wyniki z separatorem jako ",", ale bez separatora po ostatnim rekordzie?
Kod
for( $x = 1; $x <= 10; $x++ )
echo $x.",";
echo $x.",";
wyswietla 1,2,3...10,
Czy tak jest na ogół dobrze?
$sql = "SELECT id FROM `tablica` ORDER BY id"; // wyciągamy wszystkie rekordy, według ID $ideki = ''; // zmienna zawierająca ID ostatnich 20 wpisów, na start jest pusta $count = 0; // licznik bieżący, na start wyzerowany { $count++; // co jedno wykonanie pętli - licznik wzrasta o 1 $all = ($all - 20); // odejmujemy od wszystkich wpisów liczbę 20 if ( $count >= $all ) // jesli licznik bieżący jest równy bądź większy liczbie wszystkich wpisów - 20 to... { $ideki .= $row['id'].', '; // doklejamy do zmiennej po przecinku ID każdego wpisu, który zalicza się do ostatniej dwudziestki } } $sql = "DELETE FROM `tablica` WHERE id NOT IN (".$ideki.")"; // usuwamy wszystkie wpisy z bazy oprócz tych ostatnich dwudziestu
i kod byłby troszkę bardziej optymalny ;)
SELECT GROUP_CONCAT(id) FROM tablica