Autor Zpráva
Anonymní
Profil *
Potřebuju poradit, nebo alespoň nakopnout.
Mám číselnou řadu od 1 do x. poprvně byla zapisována postupně. Pak se nějaké věty i s těmito čísly smázly a chtěl bych nějak vylistovat tyto mezery v číselné řadě, aniž by jí musel ručně procházet. Poradíte jak na to ??
Casero
Profil
Co je dát do pole a to pole procházet, a když by bylo prázdný, tak si ho poznamenat.
nightfish
Profil
kde máš tu číselnou řadu uloženou? v databázi nebo v souboru nebo v nějaké proměnné?
řešením je procházet řadu od 1 do x, a u každého indexu kontrolovat existenci prvku
Anonymní
Profil *
číselná řada je v databázi.
nightfish
Profil
$q = "select id from tabulka order by id";
$result = mysql_query($q);
$pole = array();
while ($data = mysql_fetch_row($result)) {
$pole[$data[0]] = 1;
}

$q = "select min(id), max(id) from tabulka";
$result = mysql_query($q);
$data = mysql_fetch_row($result);
$min = $data[0];
$max = $data[1];
for ($i = $min; $i < $max; $i++) {
if (!isSet($pole[$i])) echo "číslo $i v řadě chybí<br>";
}
Anonymní
Profil *
Je to supr, ale má to jednu chybku. Počítá to jen od 1 do 9 . Není to někde bloklý na jednomístné číslo???
nightfish
Profil
že ty máš sloupec s tou číselnou řadou jako varchar a ne jako int?

v tom případě
$q = "select min(id+0), max(id+0) from tabulka";
Anonymní
Profil *
No koukl sem se a opravdu jí mám jako varchar. Ale moc děkuju, je to ono a funguje to. Díky
Toto téma je uzamčeno. Odpověď nelze zaslat.