| | |
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Autor | Správa |
---|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal baumax: 08.09.2008 22:44 | |
|
prosim o pomoc, kamos mi poslal nieco, vraj je to OK, ale nejde mi to ...
v skratke: mam tabulku, kde mam len 2 stlpce id a nazov.
Povedzme ze ju mam naplnenu 5 polozkami (id=1 az id=5)
No a ja chcem dat na vyber uzivatelovi cez formular na vyber z tychto moznosti ...
kamos mi to spravil takto:
spojenie z DB: Kód: <? include ("admin.php"); $pripojenie = mysql_connect("$db_host","$db_user","$db_password") or die("Chyba pri spojení s databází."); mysql_select_db("$db_name") or die("Chyba pri výberu databáze.");
$sql=("Select nazov FROM $db_name_table_skolenia where ;"); $vysledok = mysql_query($sql); $i=1; while ($link = mysql_fetch_array($vysledok) ) { $skolenia[$i]["nazov"] = $link["nazov"]; $i++; } ?> a na webe ten vyber spravil takto: Kód: <form action="objednavka.php" method="post" > <fieldset><legend><b><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="2" color="#000080">Výber nazvu</font></b></legend><br> <select name="nazov"> <option value="none"> <? // formular na vyber typu skolenia for ($i = 1; $i <= count($skolenia); $i++) { echo "<option value=\"{$skolenia[$i]['nazov']}\">".$skolenia[$i]['nazov'].""; } ?> </select><br><br> <input type="hidden" name="lacko" value="sakra"> <input type="submit" name="Poslat" value="poslat" > </fieldset> </form> vobec nerozumiem tomu jeho zapisu Kód: echo "<option value=\"{$skolenia[$i]['nazov']}\">".$skolenia[$i]['nazov'].""; resp tomu pri databaze Kód: za while ... $skolenia[$i]["nazov"] = $link["nazov"];
no najhorsie je to, ze mi to nejde ... proste mi tam neda ziadne hodnoty na vyber v tom selecte, aj ked v DB ich mam a ziadnu chybu nenapisalo ...
mozte sa na to pozriet a keby sa dalo, aj popisat strucne tie veci, co im nerozumiem. vdaka
|
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | Napísal suchy: 08.09.2008 23:08 | |
|
pri tom vypise {$premenna} ide o smarty, pripadne iny templator. viac poradi google, alebo http://www.smarty.net/
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
tak tento zapis nie je vobec zo smarty, ide o klasicke dvojrozmerne pole v php a jeho vypis. A nejde ti to preto, lebo mas chybnu syntax v sql poziadavke, cast pre podmienku "where" tam nema co hladat. Preto ti ani nic nevypise, lebo ten prikaz ti nezbehne uspesne...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | Napísal suchy: 09.09.2008 7:56 | |
|
jezis, sorry, to echo predtym som si tam nevsimol. videl som iba {$skolenia[$i]['nazov']}
//v smarty sa nepristupuje k asociativnym poliam nahodou cez bodkovu notaciu? (stenley)
//co si pametam, pri pouziti section sa pouziva aj []. suchy
//ano, ale tam sa nedavaju jednoduche uvodzovky a ide tam o nieco uplne ine (stenley)
Naposledy upravil suchy dňa 09.09.2008 8:09, celkovo upravené 1
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal autor témy baumax: 09.09.2008 8:05 | |
|
stenley, sorry ..to where tam nema byt, ale nejde to ani tak
nevidis tam ziadnu inu chybu?
skusim to prepisat na ten moj priklad ...
moja tabulka:
Kód: CREATE TABLE `osoba` ( `id_osoby` mediumint(8) unsigned NOT NULL auto_increment, `typ_osoby` varchar(30) collate utf8_slovak_ci default NULL, PRIMARY KEY (`id_osoby`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_slovak_ci AUTO_INCREMENT=1 ; mam v nej taketo hodnoty: Kód: INSERT INTO `osoba` (`id_osoby`, `typ_osoby`) VALUES (1, 'Podnikateľ'), (2, 'Súkromná osoba'); no a teraz chcem dat na vyber cloveku, aby si vybral z tychto hodnot ... takze spravil som to presne podla toho od kamosa: Kód: <? include ("admin.php"); $pripojenie = mysql_connect("$db_host","$db_user","$db_password") or die("Chyba pri spojení s databází."); mysql_select_db("$db_name") or die("Chyba pri výberu databáze.");
$sql=("Select typ_osoby FROM osoba;"); $vysledok = mysql_query($sql); $i=1; while ($link = mysql_fetch_array($vysledok) ) { $osoba[$i]["typ_osoby"] = $link["typ_osoby"]; $i++; } ?> no a vypis: Kód: <? // formular na vyber typu skolenia for ($i = 1; $i <= count($osoba); $i++) { echo "<option value=\"{$osoba[$i]['typ_osoby']}\">".$osoba[$i]['typ_osoby'].""; } ?> co robim zle? a aka je tam vlastne logika? pisali ste ze 2D pole, vo znamena v nom toto? (mozno som to zapisal uplne zle): Kód: $i=1; while ($link = mysql_fetch_array($vysledok) ) { $osoba[$i]["typ_osoby"] = $link["typ_osoby"]; $i++; }
resp. ako by sa to dalo inak spravit? mozno jednoduchsie ...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
otestoval som to u seba, doplnil som len svoje parametre a ten skript ide v pohode (az na par drobnosti)...
nevypisuje ti to ziadnu chybu? mas spravne nastavene prihlasovacie udaje? mas ich ulozene v subore admin.php?
daj si niekde za cely ten while nasledujuci kod a uvidis, ci sa v premennej $osoba nieco nachadza:
Kód: print_r($osoba); Podla kodu, co si sem dal, by to malo obsahovat (ak je vsetko v poriadku) nieco taketo: Kód: Array ( [1] => Array ( [typ_osoby] => Podnikateľ )
[2] => Array ( [typ_osoby] => Súkromná osoba )
)
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal autor témy baumax: 09.09.2008 8:29 | |
|
no neviem, nic mi nevypisuje ...
mam to na localhoste, kde nemam heslo ...
admin.php: Kód: <?php $db_host = "localhost"; $db_user = "root"; $db_password = ""; $db_name = "objednavka"; ?> a obj.php cely kod: Kód: <? include ("admin.php"); $pripojenie = mysql_connect("$db_host","$db_user","$db_password") or die("Chyba pri spojení s databází."); mysql_select_db("$db_name") or die("Chyba pri výberu databáze.");
$sql=("Select typ_osoby FROM osoba;"); $vysledok = mysql_query($sql); $i=1; while ($link = mysql_fetch_array($vysledok) ) { $osoba[$i]["typ_osoby"] = $link["typ_osoby"]; $i++; } print_r($osoba); // na dobre miesto som to dal??? ?>
<html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <meta http-equiv="Content-Language" content="en-us"> <title>skuska</title> <LINK href="style.css" type=text/css rel=stylesheet> </head>
<body >
<form action="objednavka.php" method="post" > <fieldset><legend><b><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="2" color="#000080">Výber</font></b></legend><br> <select name="osoba"> <option value="none"> <?php // formular na vyber typu skolenia for ($i = 1; $i <= count($osoba); $i++) { echo "<option value=\"{$osoba[$i]['typ_osoby']}\">".$osoba[$i]['typ_osoby'].""; } ?> </select><br><br> <input type="submit" name="Poslat" value="poslat" > </fieldset> </form> </body>
</html>
ked to spustim, ukaze sa mi len toto:
//tak otestoval som to inde a ide to ...
takze je problem na mojom localhoste ... uf, ale aky ???
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
hmm, pozri si v prehliadaci zdrojak toho vystupu... nemas tam nahodou aj php prikazy?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.12.07 Prihlásený: 12.02.24 Príspevky: 487 Témy: 138 Bydlisko: Bytča | Napísal autor témy baumax: 09.09.2008 10:33 | |
|
skopiroval som to este raz na localhost a uz to ide
no zaujimave ...
|
|
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|