Autor Zpráva
skrepyKOKO
Profil
ahoj,chci se zeptat,jde v proměnné kde se zakazuje nastavit na databázi?
dám příklad..
mám např
$promenna=FALSE; funkce();

a to false bych chtěl udělat přes databázi abych to mohl v administraci editovat...jestli tam chci mít false nebo true.
Šlo by to?já jen že jsem to skoušel,ale napsalo mě to chybu
Parse error: syntax error, unexpected T_ECHO

tak jsem si říkal jestli to není kravina tohle dělat..díky za odpovědi a rady.
Joker
Profil
skrepyKOKO:
Parse error: syntax error
Chyba syntaxe, máte špatně napsaný skript.

Jinak načíst obsah z databáze do proměnné samozřejmě jde.
skrepyKOKO
Profil
a když potřebuju vybrat z databáze vlastně text aby se tam zobrazoval tak přes echo?když dám echo tak to napíše tu chybu..
mám tabulku nastavení kde mám sloupce id a ukol,
na tu funkci mám id 1 a pak vlastně podle toho jestli to chci mít zaplý nebo vyplý... ted tam mám FALSE jako vypnutý,
do té proměnné stačí dát proměnnou s výberem sloupce nebo tam musí být to echo?popřípadě jak tam doplnit to echo?
Joker
Profil
skrepyKOKO:
Jak vybrat data z databáze a vypsat je přes echo viz nějaká (papírová nebo webová) učebnice PHP.
skrepyKOKO
Profil
vypsat..blbě jsem to napsal..ale tak přeci nemůžu napsat echo do proměnný ne?
já potřebuju výpis tohohle
$zaznam['ukol'];

dát do té proměnné,v tom "ukol" je FALSE,takže by to vlastně mělo zakázat tu funkci.
$tabulkachatu = sem; chat();

jenže jakmile to tam dám,tak buď to nereaguje nebo prostě napíše chybu.
miskith
Profil
Pokud chcete zakázat funkci na základě obsahu proměnné, tak proměnnou nevypisujte, ale dejte ji do podmínky.
Joker
Profil
ad miskith: Nebo v případě, že je potřeba se rozhodovat uvnitř té funkce, jako parametr.
skrepyKOKO
Profil
a však já to mám v podmínce..
<?
function tabulkachatu ()
{
  global $tabulkachatu;
  if ($tabulkachatu)
    echo "POVOLENO";
  else
    echo "ZAKÁZANO";
}
?>

pak vlastně jen dám proměnnou tabulkachatu na TRUE nebo FALSE..akorát jak ted řeším,potřeboval bych to udělat přes databázi abych to mohl editovat v administraci
Joker
Profil
skrepyKOKO:
Lépe je použít ten parametr:
<? 
function tabulkachatu ($povoleno) 
{ 
  if ($povoleno) 
    echo "POVOLENO"; 
  else 
    echo "ZAKÁZANO"; 
} 
?>
skrepyKOKO
Profil
a když to chci měnit?jelikož v administraci chci mít možnost tohle zakázat a povolit
že když to bude nastavený na FALSE tak se objeví zakázano a když na TRUE tak se objeví povoleno...
Jelikož to co jsem dělal tam,že mu přiřadím TRUE nejde..píše to
Warning: Missing argument 1 for
Joker
Profil
skrepyKOKO:
Je potřeba upravit i volání, aby ta proměnná byla jako parametr.

Ale není mi pořád jasné, kde je vlastně hlavní problém.
skrepyKOKO
Profil
no,problém je ten,že to nemůžu napojit na databázi,když se pokusím tak to napíše chybu a nebo to vůbec nereaguje...nevím proč...jak jsem psal,

skrepyKOKO:
vypsat..blbě jsem to napsal..ale tak přeci nemůžu napsat echo do proměnný ne?
já potřebuju výpis tohohle
>
$zaznam['ukol'];
>
dát do té proměnné,v tom "ukol" je FALSE,takže by to vlastně mělo zakázat tu funkci.
>
$tabulkachatu = sem; chat();
>
jenže jakmile to tam dám,tak buď to nereaguje nebo prostě napíše chybu.
Joker
Profil
skrepyKOKO:
Aha, v tom případě platí mé předchozí doporučení: Viz nějaká učebnice PHP.
Půjde to rychleji než se učit PHP tady přes diskusi.
skrepyKOKO
Profil
hm..a nemohl bys mě prosím poradit ted?
zkoušel jsem to nějak udělat,ale nešlo to..
skrepyKOKO
Profil
vím že je to kravina,ale zkoušel jsem pár věcí,ale ani jedno nejde..
$ech="echo";
$ha=$zaznam['ukol'];
$vysledek=$ech->$ha;
$tabulkachatu = $vysledek; chat();

a pak jen
$tabulkachatu = $zaznam['ukol'];

Tahle poslední sice chybu nehlásí,ale když dám false tak to tam prostě pořád je
můžete mě prosím napsat jak by to mělo vypadat?..už jsem stím nadně,hledám na google,seznamu,php.net a nic jsem nenašel:-(
Tori
Profil
skrepyKOKO:
Nehledáte nakonec proměnné funkce?
function stekat() {
  echo "haf";
}

$zaznam = array('id' => 123, 'spustit' => 1, 'funkce' => 'stekat'); // Řádek z DB
if ($zaznam['spustit'] && is_callable($zaznam['funkce'], false, $funcName))
  $funcName(); // řekne "haf"

Sorry, jestli jsem netrefila, ale ani po přečtení vašeho předchozího vlákna jsem nepochopila přesně, čeho chcete dosáhnout.
skrepyKOKO
Profil
tak odznova,mám funkci kterou potřebuju zapínat nebo vypínat a administraci
dám příklad..
<?
function tabulkachatu ()
{
  global $tabulkachatu;
  if ($tabulkachatu)
    echo "POVOLENO";
  else
    echo "ZAKÁZANO";
}
?>

mám takovouhle funkce kterou vypínám nebo zapínám tímhle způsobem
$tabulkachatu = FALSE nebo TRUE; chat();

mno,a místo abych furt chodil do FTP,bych to chtěl udělat přes databázi kde bych to v administraci editova...
v databázi mám tabulku nastaveni a sloupce id,ukol
na tuhle funkci mám id 1 a ukol FALSE,
místo FALSE v té proměnné bych potřeboval udělat aby když dám do databáze TRUE tak aby to tam prostě bylo...
pro výpis z databáze mám následující kod:
   <?php
  require_once('otevridb.php');
 OtevriDB()
  @$dbc = mysql_query("SELECT id,ukol FROM nastaveni WHERE id='1'");
  while($zaznam=mysql_fetch_array($dbc))
   {
  ?>

a vlastně sem myslel že by stačilo obyčejný záznam tedy:
$zaznam['ukol'];

a dal bych to místo toho FALSE v proměnné tabulkachatu,jenže to nejde...a tak přemejšlím nad jiným způsobem,jenže nemůžu na nic přijít
Joker
Profil
skrepyKOKO:
dal bych to místo toho FALSE v proměnné tabulkachatu
Takže, jestli to chápu, jádro problému:
V databázi je sloupec typu VARCHAR, v něm je uloženo "FALSE". Problém je, že if(hodnota sloupce) se provede, protože "FALSE" se vyhodnotí jako true.

Takže boolean (typ ano/ne) bych za prvé neukládal jako řetězec, ale jako čísla, 1 nebo 0.
Ale jinak ta konverze funguje takhle:
// načtení z DB, řekněme $data["sloupec"] je hledaná hodnota
$hodnota = ($data["sloupec"] == "TRUE"); // tohle bude fungovat
// Pro ten můj případ by tam samozřejmě bylo ($data["sloupec"] == 1), ale 0/1 se převede správně i bez toho
skrepyKOKO
Profil
hm..jde o to,že mám(a chci) jen jeden sloupec,jelikož to pak budu vlastně měnit přes checkbox v administraci zřejmě...
a momentálně nějak nechápu jak to myslíš s tím kodem,to by snad ani nefungovalo na ty čísla ne?nebo jak to myslíš?
Joker
Profil
skrepyKOKO:
No a kolik sloupců by mělo být?
Jeden sloupec ve kterém bude 0 (vypnuto) nebo 1 (zapnuto).
skrepyKOKO
Profil
aha,díky moc:) si nejlepší:D

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:

0