| 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: 15 let
|
|||
0