Poslao: 06 Sep 2011 14:19
|
offline
- Pridružio: 13 Mar 2009
- Poruke: 229
|
Pozdrav svima
Nasao sam na netu jednu formu koja se sastoji od jedne labele i dugmeta (javascript) na ciji klik mozemo da kreiramo proizvoljan broj labela koje mogu da posluze za unos nekih podataka u bazu. Evo da bude jasnije ova forma izgleda ovako:
<html>
<head>
<SCRIPT type="text/vbscript" src="snow.js">
</SCRIPT>
<style>
body{
font-size:small;
font-family:Arial;
}
form {background:#f8f8f8;
padding:15px;
border:1px silver solid;
width:450px;
}
</style>
</head>
<body>
<h1>Create new poll</h1>
<form id="myform" name="myform" method="post">
<label for="poll_question">Klikom na dugme kreira se nova labela</label>
<ul id="options">
<li><label for="poll_option1">Option1:</label><input type="text" size="20" id="poll_option1" name="poll_option1"/><input type="button" value="Kreiraj novu labelu" id="add_option" name="add_option"/></li>
</ul>
<input type="hidden" name="method" value="post" />
<input type="submit" value="Create!" id="create_poll" name="create_poll"/><br /><br />
</form>
<script type="text/javascript">
function add_new_option()
{
var form = document.getElementById("options");
var new_number = form.childElementCount+1;
var new_id="poll_option"+new_number;
var poll_label = document.createElement("label");
poll_label.htmlFor=new_id;
var p_label_text="Option"+new_number+":";
poll_label.appendChild(document.createTextNode(p_label_text));
var new_option = document.createElement("input");
new_option.type = "text"; new_option.id = new_id; new_option.name = new_id;
var html_li = document.createElement("li");
html_li.appendChild(poll_label);
html_li.appendChild(new_option);
form.appendChild(html_li);
}
if (document.getElementById) { window.onload = myUnobtrusiveBehavior; }
function myUnobtrusiveBehavior() {
document.getElementById("add_option").onclick=function() {add_new_option();}
}
</script>
</html>
</body>
Mene zanima sledece: Ako u bazi na primer imam tabelu koja ima 2 polja id i naziv i ako kreiram 10 labela za unos kako da ih upisem sve od jednom. Ne znam da li sam bio jasan, znaci kliknem 10 puta dodaj novu labelu, upisem u tih 10 labela neke nazive i zelim od jednom da ih smestim u tabelu. Ja imam neku ideju u smislu da prebrojim koliko je labela kreirano a u for petlji napravim isto toliko prolaza i u svakom prolazu vrsim INSERT id i naziv u tabelu, al ne znam kako bi izvukao broj kreiranih labela.
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 06 Sep 2011 14:49
|
offline
- Pridružio: 16 Feb 2011
- Poruke: 1630
- Gde živiš: Pancevo
|
Cekaj ti kada napravis label koje se njemu podrazumevano ime generise?
label-1, label-2?
Jedio resenje sto meni pada sada je da grabis broj labela (label-$value) i sve to kroz petlju da izlistas... Pa tek onda upisujes u bazu... Najlakse je upisati, nego koliko vidim ovde je js sada nisam gledao nesto kod. Moras da dodas tu promenljivu koja ce uzimati broj labela koje imas..
Nije tesko da se uradi nego osmisliti najbolje resenje.
Meni je ovo palo na pamet,sacek mozda se neko javi sa boljom idejom
|
|
|
|
Poslao: 06 Sep 2011 14:52
|
offline
- |_MeD_|
- Zaslužni građanin
- Pridružio: 02 Okt 2005
- Poruke: 546
|
protrci po $_POST nizu i prebroj
on izgleda otprilike ovako
Array
(
[poll_option1] => 111
[poll_option2] => 222
[poll_option3] => 333
[method] => post
[create_poll] => Create!
)
ili izmi count($_POST)-2
|
|
|
|
Poslao: 06 Sep 2011 14:56
|
offline
- Pridružio: 16 Feb 2011
- Poruke: 1630
- Gde živiš: Pancevo
|
Ovo resenje sto je MED dao je mnogo bolje, ja sam ono cisto iz glave napamet rekao.... Mada moze da posluzi
|
|
|
|
Poslao: 06 Sep 2011 15:00
|
offline
- Pridružio: 13 Mar 2009
- Poruke: 229
|
Znaci prodjem kroz niz, prebrojim koliko ih ima i onda ovo sto sam ja rekao for petljom ?
|
|
|
|
|
Poslao: 06 Sep 2011 15:49
|
offline
- Pridružio: 13 Mar 2009
- Poruke: 229
|
Napisano: 06 Sep 2011 15:24
Hvala, testiracu pa se javljam kasnije
Dopuna: 06 Sep 2011 15:49
Nesto sam zeznuo. Malo sam testirao ovo sve i radi kada unostim podatke iz jedne tabele, ali ako hocu istovremeno iz 2,3... ne radi
Kod mene konretno ovako izgleda:
$SqlStr='INSERT INTO kategorije (naziv)
VALUES('.$values.')';
mysql_query($SqlStr);
|
|
|
|
Poslao: 06 Sep 2011 18:20
|
offline
- |_MeD_|
- Zaslužni građanin
- Pridružio: 02 Okt 2005
- Poruke: 546
|
treba
$values='';
foreach ($_POST as $key=>$val){
if (substr($key,0,11)=='poll_option'){
$values.="('".$val."'),";
}
}
$values=substr($values,0,-1);
$SqlStr='INSERT INTO kategorije (naziv) VALUES '.$values.';';
da dobijes INSERT INTO kategorije (naziv) VALUES('111'),('222'),('333');
|
|
|
|
Poslao: 06 Sep 2011 19:17
|
offline
- Pridružio: 13 Mar 2009
- Poruke: 229
|
Svaka cast majstore , tako je ! Hvala puno. Mozda se javim jos jednom kada budem pokusao ova da uradim jos sa selekt listiama <select name="lista"> </select> , ali prethodno cu da pokusam sam na osnovu ovoga sto si ti ovde radio. Hvala jos jednom !
|
|
|
|