Autor Zpráva
Jcas
Profil *
Jsem laik, tak mě omluvte za laický dotaz.
Z formuláře přijde datum dd.mm.yyyy
Na každý měsíc mám samostatnou tabulku. (prosinec10, leden11, unor11...)
$tabulka == jmeno tabulky. Pokud neesistuje, chci ji vytvořit.
Tohle se mi nedaří. Vytvaří tabulku se špatným jménem.

	$d_od = explode('.', $_POST['dateod']);		//uprava formatu datumu - d.m.y
	$d_do = explode('.', $_POST['datedo']);
	$newdateod = $d_od[2].$d_od[1].$d_od[0];		//y.m.d
	$newdatedo = $d_do[2].$d_do[1].$d_do[0];
	$rok_y = mb_substr($d_od[2], -2);					//prom. pro vytvoreni jmena tabulky(vezme posledni dve cisla)
	$mesic_m = (mb_substr($d_od[1], 0)==0?mb_substr($d_od[1], 1):$d_od[1]);
	
	$tabulka = jmeno_tabulky($rok_y, $mesic_m);		//vratí jmeno tabulky (potreba pouze pro ulozeni
	
function jmeno_tabulky($rok, $mesic) {
	$jm_mesic = array(1=>'leden',	2=>'unor',	3=>'brezen', 4=>'duben', 5=>'kveten', 6=>'cerven', 7=>'cervenec', 8=>'srpen', 9=>'zari', 10=>'rijen', 11=>'listopad', 12=>'prosinec');
	return $tabulka = $jm_mesic[$mesic].$rok;
	}


Mám pocit, že problém je v 01 vs 1, 02 vs 2 atd.
Zkoušel jsem to i bez $mesic_m a funkci jsem předal prametr $d_od[1] - taky nic.
Spectator
Profil
jestli jdeo cisloce s nulou na začátku tak, zkus toto sprintf() bylo to tu včera řešený.
Radek9
Profil
Jcas:
Jsi si jistý, že víš, jak se používá funkce mb_substr?
xmark
Profil
Jcas:
Jsi si jistý, že víš, jak se používá databáze?

prosinec10, leden11, unor11??
Jcas
Profil *
[#4] xmark
Pojmenovat tabulku si přece můžu jak chcu.
mysql_query("UPDATE `".$tabulka."` SET `dateod` = '$newdateod', `datedo` = '$newdatedo', .......


[#3] Radek9
Ne teď jsem se s ní seznámil
Jcas
Profil *
Stačilo přetypovat proměnou.
$jm_mesic[01] - kdy '01' je string samozřejmě nefunguje
když 01 je integer, tak $jm_mesic[01] pochopí (==) jako $jm_mesic[1]
Radek9
Profil
Jcas:
Pojmenovat tabulku si přece můžu jak chcu.
Takhle to xmark nemyslel. Řekl bych, že to myslel tak, že tvořit pro každý měsíc zvláštní tabulku je šílenost. Udělej nějakou univerzální tabulku, ve které bude sloupec pro rok a měsíc.

Ne teď jsem se s ní seznámil
string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )
(Zdroj: php.net)
Takže jednoduše řečeno: První parametr je řetězec, který chceš ořezat, druhý je odkud chceš řetězec ořezat, třetí na kolik znaků to chceš ořezat a čtvrtý je kódování.
echo mb_substr("string", 0, 1);//s

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: