Autor Zpráva
Ivorius
Profil
Mám definované konstanty
define ("OBJ_STAV_1","Objednávka přijata");
define ("OBJ_STAV_2","Expedováno");
define ("OBJ_STAV_3","Vyřízeno");
define ("OBJ_STAV_4","Stornováno");


a abych to nemusel vypisovat ručně, tak jsem si udělal malý cyklus

function stav_obj($stav) {   
  for($i=1; $i<=4; $i++){
    $vypis .= "<option value=\"" . $i . "\"";
      if ($stav == $i) {
      $vypis .= " SELECTED ";
      }
    $vypis .= ">".OBJ_STAV_.$i."</option>\n";    
  }
  return $vypis;
}


Jenže mi to php nevezme a místo definovaných konstant vypisuje jen OBJ_STAV_1, OBJ_STAV_2 atd. Napadá někoho jak to udělat?
Akacko
Profil
Ivorius
dej si to do pole
$stavy = array("Objednávka přijata","Expedováno","Vyřízeno","Stornováno");

function stav_obj($stav) {   
  for($i=1; $i<=4; $i++){
    $vypis .= "<option value=\"" . $i . "\"";
      if ($stav == $i) {
      $vypis .= " SELECTED ";
      }
    $vypis .= ">".$stavy[$i]."</option>\n";    
  }
  return $vypis;
}
tiso
Profil
Ivorius - sprav si konštantu z poľa pomocou serialize a potom si ju rozbaľ pomocou deserialize do poľa, a použi cyklus foreach($pole as key => $val)
Ivorius
Profil
tiso, mohl bys mi trošičku pomoci. nikdy jsem to nedělal - nebo alespon malý návod kde je to řešeno?

Akacko - jo to by bylo řešení, jenže já potřebuji abych vycházel z těch konstant neboť je už používám i na jiných místech a chci v případě potřeby to změnit na jednom místě.
rmaslo
Profil
Autor asi toužil po tomto:
function stav_obj($stav) {   
  for($i=1; $i<=4; $i++){
    $vypis .= "<option value=\"" . $i . "\"";
      if ($stav == $i) {
      $vypis .= " SELECTED ";
      }
    $vypis .= ">".constant("OBJ_STAV_".$i)."</option>\n";    
  }
  return $vypis;
}
Ivorius
Profil
tak to je úplně nejlepší a jednoduché řešení. díky rmaslo

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: