Autor | Zpráva | ||
---|---|---|---|
JoK1955 Profil * |
#1 · Zasláno: 27. 11. 2011, 17:34:23
Zdravím všechny
Můžete mi, pls, někdo poradit s následujícím: Potřebuji z tabulky vytáhnout a uspořádat data pro select formuláře. Nevím jak to udělat jedním krokem v SELECT a tak jsem si napsal fci. Vstupy jsou různé a předávám je jako jednu proměnnou. Fce vypadá takto: function _DataSelect($indata) { list($one, $dva, $tri) = explode(",",$indata); $Sql="SELECT $one, $dva FROM $tri ORDER BY $dva ASC"; // $Sql= "SELECT id, firma FROM nfirmy"; echo $Sql; $result = MySql_Query($Sql); $DataSelect= array(); echo $dva; while($outpole = mysql_fetch_array($result)) : echo $outpole[$one]; echo $outpole[$dva]."xxx"; echo $outpole[jmeno]."ooo"; $key = $outpole[$one]; $val = $outpole[$dva]; $DataSelect[$key] = $val; endwhile; return $DataSelect; } a tohle mi vypise: SELECT id, jmeno FROM registrovany ORDER BY jmeno ASC jmeno5xxxARCHIVooo45xxxHanka TuÄŤkováooo38xxxJosefooo40xxxJosefooo $outpole[$dva] prostě nic nevypíše... POradíte? Díky JoK |
||
Tori Profil |
#2 · Zasláno: 27. 11. 2011, 17:48:56 · Upravil/a: Tori
JoK1955:
Nemohla být v parametru mezera za čárkou ("id, jmeno, registrovany")? Bylo by lepší ty tři hodnoty předávat jako tři samostatné parametry. A když používáte mysql_fetch_array, můžete využít toho, že výsledky jsou dostupné i pod číselnými indexy (pro výběr ze spojení tabulek, kde zadáte tab.sloupec by to bylo jediná použitelná možnost). |
||
JoK1955 Profil * |
#3 · Zasláno: 27. 11. 2011, 17:58:40
Tori:Mezery za čárkou byly, ale nic se nezměnilo... fungují číselné indexy - to mě nenapadlo :-(
Ale proč nejde textový? Děkuji moc a hezký večer JoK |
||
Tori Profil |
#4 · Zasláno: 27. 11. 2011, 18:06:55 · Upravil/a: Tori
JoK1955:
„Ale proč nejde textový?“ Protože s mezerami se dostanete v prooměnné $dva řetězec " jmeno" edit: a zapněte si aspoň na localhostu zobrazování chyb - tohle vám mělo hlásit "Notice: undefined index" na ř. 15 a 18 toho kódu |
||
JoK1955 Profil * |
#5 · Zasláno: 27. 11. 2011, 18:26:33
Tori:
Rozumím... ale kontroloval jsem a mezera tam nebyla :-) Nicméně jsem teď zkusil přidat trim a běží to i se string indexem while($outpole = mysql_fetch_array($result)) : $key = $outpole[0]; // $val = $outpole[1]; $val = $outpole[trim($dva)]; $DataSelect[$key] = $val; endwhile; Samostatné parametry jsou určitě lepší, ale tady mi vyhovuje jeden string (ona mě pak hnala už zvědavost proč to nejde :-) Hlášky bych si měl v takovýchto případech zapnout plné, NOTICE mám stand vypnuté Díky JoK |
||
Časová prodleva: 12 let
|
0