Autor Zpráva
HGD
Profil
potřebuju na stránce vybrat záznamy podle ID, který je v URL ve tvaru: sid=1-3-4
Tech čísel tam může být různě, a spolu nijak nesouvisí, proto newim jak napsat dotaz na SELECT... ?
Díky
Joker
Profil
HGD
Jestli to je číslo-číslo-(...)-číslo, tak by stačilo udělat na tom řetězci nahrazení:
"-" -> " OR id="
a potom:
"SELECT sloupce FROM tabulka WHERE id=".$sid

Samozřejmě plus ještě nějaká validace té proměnné sid, narvat to tam takhle přímo je koledování si o hack :)
Delší kód, ale jedodušší validace, by dalo nejdřív ten řetězec explodovat pomlčkou do pole a potom projít to pole a pro každý prvek otestovat, jestli je to číslo a kdyžtak ho připojit k dotazu.
HGD
Profil
a jak ověřim ty čísla? našel sem is_numeric, ale když ty čísla mam v poli... ?
Joker
Profil
Musí se postupně procházet celé pole, něco jako:

$podminka = ""
foreach($pole as $val){
  if(intval($val) > 0) {
    if($podminka == "") $podminka = $podminka." id=".intval($val);
    else $podminka = $podminka." OR id=".intval($val);
  }
}
if($podminka != "") $sql = "SELECT sloupec FROM tabulka WHERE".$podminka;
else {} // co chcete aby se udělalo když není zadáno žádné ID
Kajman_
Profil *
nebo vygenerovat

where id in (1,3,4)
HGD
Profil
já sem to vyřešil následovně:
$where=(count($id)==1)?$id[0]:implode("' OR id='",$id);
        $query=mysql_query("SELECT id,name,popis,first_img FROM category_gal WHERE id='$where'");

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: