Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno php, mysql - jak vybrat určitá data z databáze a pracovat s nima?

zdravím.
v PMA mám vytvořenou tabulku "menu", tabulka má sloupec "tb-id". Tabulka má X řádků a vím, že hodnota "tb-id" je VŽDY vyplněna číslem od 1-100. Potom mám formulář (viz code), kde mám select a v něm option od čísla 1 do 100.
teď mám tento cyklus:

$a = 1;
while ($a <= 100) {
  echo "<option value=\"".$a."\">".$a."</option>";
  $a++;
}

a potřebuju, aby se čísla, která už jsou v databázi zapsaná (takže čísla, která jsou ve sloupci "tb-id") neobjevovala v proměnné "$a"
vím, že daná čísla ze sloupce můžu vypsat takto:

mysql_query("SELECT `tb-id` FROM `menu`");

Ale dál si nevím rady... Jak to udělat?

Předmět Autor Datum
napadlo mě něco v tomto smyslu, ale nefunguje to... $dotaz = mysql_query("SELECT `tb-id` FROM `menu…
Vilak 05.07.2015 00:15
Vilak
A nic to taky nehlásí. Že! nový
Flash_Gordon 05.07.2015 00:24
Flash_Gordon
Co by to mělo hlásit? Script přeci nejspíš funguje, jen nefunguje tak, jak chci já, ne? nový
Vilak 05.07.2015 00:58
Vilak
Tak já ]:( se nad tebou smiluju. A už du chrnět. $pole_z_databaze = array(); $dotaz = mysql_query("… nový
Flash_Gordon 05.07.2015 01:42
Flash_Gordon
Squad_leader funguje, díky moc! nenapadlo mě použít pole, protože s nimi ještě moc neumím... děkuji,… poslední
Vilak 05.07.2015 10:44
Vilak
Netestované: $dotaz = mysql_query("SELECT `tb-id` FROM `menu` ORDER BY 1"); $a = 1; while ($b = mys… nový
los 05.07.2015 08:49
los

napadlo mě něco v tomto smyslu, ale nefunguje to...

$dotaz = mysql_query("SELECT `tb-id` FROM `menu`");
while ($b = mysql_fetch_assoc($dotaz)) {
  $b = $b['tb-id'];
  $a = 1;
  while ($a <= 100) {
    if ($a == $b) {
      $a++;
    }
    else {
      echo "<option value=\"".$a."\">".$a."</option>";
      $a++;
    }
  }
}

Tak já ]:( se nad tebou smiluju.
A už du chrnět.

$pole_z_databaze = array();
$dotaz = mysql_query("SELECT `tb-id` FROM `menu`");

while ($zaznam = mysql_fetch_assoc($dotaz)) {
  $pole_z_databaze[] = $zaznam['tb-id'];
}

for ($a=0; $a <= 100; $a++ ) {
  if (in_array($a, $pole_z_databaze))
  ;   // nedelej nic
  else
  echo "<option value='$a'>$a</option>";
}

Netestované:

$dotaz = mysql_query("SELECT `tb-id` FROM `menu` ORDER BY 1");
$a = 1;
while ($b = mysql_fetch_assoc($dotaz)) {
  $b = (int)$b['tb-id'];
  while ($a < $b) {
    echo '<option value="' . $a . '">' . $a . '</option>';
    $a++;
  }
  $a++
}
while ($a <= 100) {
  echo '<option value="' . $a . '">' . $a . '</option>';
  $a++;
}

Zpět do poradny Odpovědět na původní otázku Nahoru