Autor | Zpráva | ||
---|---|---|---|
Péťanek Profil * |
#1 · Zasláno: 20. 4. 2010, 17:20:40
Dobrý den,
mám takový formulář a do položky Menu bych chtěl nahrávat data z databáze. <select id="nabidka"> <option value="1">prvni volba</option> <option value="2">druha volba</option> <option value="3">třetí volba</option> </select> jako třeba aby si mi hodnota a ten label načítal přimo z databáze. stačí mi vytvořit funkci na tahání dat z databaze a fetch_assoc nebo je v tom nějaký zádrhel, který se musí programovat na 100 řádků :-) |
||
panther Profil |
#2 · Zasláno: 20. 4. 2010, 17:23:27
Péťanek:
mysql dotazem si vytáhni požadované hodnoty (předpokládám ID a nějaký nadpis, název kategorie). Výsledek proženeš cyklem while(), do value dosadíš ID z dabatabáze, mezi <option> název kategorie. |
||
Péťanek Profil * |
#3 · Zasláno: 20. 4. 2010, 17:25:16
Takže žádný zádrhel? Kurňa to PHPčko se mi začíná líbit :-)
Díky Panther |
||
panther Profil |
#4 · Zasláno: 20. 4. 2010, 18:00:51
Péťanek:
„Takže žádný zádrhel?“ vůbec jsi se nemusel ptát, mohl jsi to zkusit. Kdyby nějaký zádrhel nastal, mohl´s ho, třeba i zde na diskusi, řešit. |
||
Péťanek Profil * |
#5 · Zasláno: 20. 4. 2010, 19:35:54
Tak, zádrhel nastal, teda néé zádrhel, ale moje neschopnost :-(
mám chybu v syntaxi <select id="nabidka"> <?php foreach ($data as $radek) { echo '<option value="' . $radek['id']; ?> . '">' . <?php echo $radek['jmeno'] . ' ' . $radek['prijmeni'] . '</option>'?> <?php } ?> </select> ve zdrojáku v prohlížeči mám <select id="nabidka"> <option value=" . '">' . Martin Novák</option> </select> Vím, že mám chybu v syntaxi, ale nemůžu na to příjít, už hodinu se s tím hraju |
||
panther Profil |
#6 · Zasláno: 20. 4. 2010, 19:44:19 · Upravil/a: panther
Péťanek:
echo "<option value=\"" . $radek['id'] . "\">" . $radek['jmeno'] . " " . $radek['prijmeni'] . "</option>"; Místo uvozovek tam samozřejmě můžou být apostrofy, ale zvykl jsem si psát u echa uvozovky, stejně, jako je mám rád v HTML, proto je to všechno escapované. Ty ses tam trochu zamotal do ukončování a znovustartování PHP. Zde je zbytečné jej na tom řádku několikrát startovat a je přehlednější zapsat to celé do jednoho echa. |
||
Péťanek Profil * |
#7 · Zasláno: 20. 4. 2010, 19:56:40
Mockrát děkuju.
To s tím zpětným lomítkem neznám, budu se to muset doučit. Díky |
||
panther Profil |
#8 · Zasláno: 20. 4. 2010, 20:16:15
Péťanek:
„To s tím zpětným lomítkem neznám, budu se to muset doučit.“ jen escapování, šlo by to udělat i s apostrofy, možností je opravdu více. Bez zpětných lomítek třeba takto: echo "<option value='" . $radek['id'] . "'>" . $radek['jmeno'] . " " . $radek['prijmeni'] . "</option>"; Když si zobrazíš HTML zdroj, budou tam kolem value apostrofy, v příkladu výše [#6] uvozovky. Často se odsud odkazuje ke kolegovi tisovi, http://tiso.wz.cz/articles/uvodzovky.php, má tam krásný článek o uvozovkách. |
||
Péťanek Profil * |
#9 · Zasláno: 21. 4. 2010, 11:06:19
Zdravíčko, ještě jsem se chtěl zeptat na jednu věc. Budu mít druhý formulář (nebo stejný) kde bude možnost editovat jednotlivé položky. A nyní nevím jak do toho zakomponovat aby v list/menu byla hodnota, kterou jsem tam na začátku vložil...
Vím že se používá atribut <option value="6" selected="selected">šestá volba</option> ale nevím jak to spojit s tím foreach... aby nevypisoval selected="selected"> všude, ale jenom u položky která bude mít shodné ID. Rozumí mi někdo co myslím? Je to těžké popsat. Jak kdybych se snažil komunikovat v čínštině :-) |
||
Péťanek Profil * |
#10 · Zasláno: 21. 4. 2010, 16:41:54
Odvolávám co jsem odvolal a slibuji co jsem slíbil :-)
Teď vážně, příspěvek #9 beru zpět, editaci budu řešit jinak. Avšak nastal další problém. Dotazník posílám ke zpracování a následnému zápisu do databáze, všechny položky fungují až právě na to list/menu. <p>Žánr: <select> <?php $zanr = $model['zanr']; //zde natahám data z databáze (idzanr, zanr) do pole foreach ($zanr as $radek) { echo "<option value=\"" . $radek['idzanr'] . "\">" . $radek['zanr'] . "</option>"; } ?> </select></p> V souboru na zpracování používám $_REQUEST['idzanr']; Děkuji za každou radu |
||
panther Profil |
#11 · Zasláno: 21. 4. 2010, 16:55:11 · Upravil/a: panther
Péťanek:
select musí mít atribut „name“. Např.: <select name="genre"> ... </select> echo "Vybraná hodnota: " . $_GET/$_POST['genre']; //GET nebo POST podle toho, jakou máš method u formulare |
||
Péťanek Profil * |
#12 · Zasláno: 21. 4. 2010, 17:07:07
Hmm, tak tomu říkám drsný error uživatele:-)
Mockrát děkuju Panther Já sa idu zahrabat pod zem jak moc se stydím.. :-) Chválím toto fórum za velmi šikovné a hodné lidičky co pomáhají nám méně zkušeným. |
||
Časová prodleva: 14 let
|
0