Autor | Zpráva | ||
---|---|---|---|
skrepyKOKO Profil |
#1 · Zasláno: 22. 8. 2011, 10:24:32
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 |
#2 · Zasláno: 22. 8. 2011, 10:43:38
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 |
#3 · Zasláno: 22. 8. 2011, 10:51:50
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 |
#4 · Zasláno: 22. 8. 2011, 10:58:36
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 |
#5 · Zasláno: 22. 8. 2011, 11:05:35 · Upravil/a: 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. |
||
miskith Profil |
#6 · Zasláno: 22. 8. 2011, 11:12:15
Pokud chcete zakázat funkci na základě obsahu proměnné, tak proměnnou nevypisujte, ale dejte ji do podmínky.
|
||
Joker Profil |
#7 · Zasláno: 22. 8. 2011, 11:13:33
ad miskith: Nebo v případě, že je potřeba se rozhodovat uvnitř té funkce, jako parametr.
|
||
skrepyKOKO Profil |
#8 · Zasláno: 22. 8. 2011, 11:59:41
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 |
#9 · Zasláno: 22. 8. 2011, 12:00:58
skrepyKOKO:
Lépe je použít ten parametr: <? function tabulkachatu ($povoleno) { if ($povoleno) echo "POVOLENO"; else echo "ZAKÁZANO"; } ?> |
||
skrepyKOKO Profil |
#10 · Zasláno: 22. 8. 2011, 12:15:06 · Upravil/a: skrepyKOKO
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 |
#11 · Zasláno: 22. 8. 2011, 12:24:32
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 |
#12 · Zasláno: 22. 8. 2011, 12:26:25 · Upravil/a: skrepyKOKO
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 |
#13 · Zasláno: 22. 8. 2011, 12:33:13
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 |
#14 · Zasláno: 22. 8. 2011, 12:37:11
hm..a nemohl bys mě prosím poradit ted?
zkoušel jsem to nějak udělat,ale nešlo to.. |
||
skrepyKOKO Profil |
#15 · Zasláno: 22. 8. 2011, 14:12:44 · Upravil/a: skrepyKOKO
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 |
#16 · Zasláno: 22. 8. 2011, 15:26:14
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 |
#17 · Zasláno: 22. 8. 2011, 15:38:07 · Upravil/a: skrepyKOKO
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 |
#18 · Zasláno: 22. 8. 2011, 15:47:28
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 |
#19 · Zasláno: 22. 8. 2011, 16:01:17
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 |
#20 · Zasláno: 22. 8. 2011, 16:25:25
skrepyKOKO:
No a kolik sloupců by mělo být? Jeden sloupec ve kterém bude 0 (vypnuto) nebo 1 (zapnuto). |
||
skrepyKOKO Profil |
#21 · Zasláno: 22. 8. 2011, 16:29:29 · Upravil/a: skrepyKOKO
aha,díky moc:) si nejlepší:D
|
||
Časová prodleva: 13 let
|
0