ezis Posted May 9, 2009 Report Share Posted May 9, 2009 sveiki.! parādījās vajadzība pēc aptauju skripta, tad ķēros pats klāt. un nonācu pie dažām problēmām.. 1. aptaujas varianti un to ievietošana datubāzē.. man ir viens def inputs atbilžu variantam, lai pievienotu nākamo ar javascript palīdzību uztaisa nākamo skripts būtu: function addInput(){ var nr=1;//how many textfields to add once var div=document.getElementById('cont'); var p=div.getElementsByTagName('p'); var clone=setClone(p[0]); var k=p.length+1; for(var i=0;i<nr;i++){ clone.getElementsByTagName('input')[0].name='textBox'+k; clone.firstChild.data=''+k+': ';//te var ieraxtit to kas radisies pirms input poll_admin div.appendChild(clone); clone=setClone(p[0]); k++; } } function setClone(obj){ var clone=obj.cloneNode(true); clone.getElementsByTagName('input')[0].value=''; return clone; } un problēma ir tā, ka es piemēram uzspiežu uz pogas pievienot vēlvienu, man pievienojas vēl daži un tad, pēc submit nospiežšanas, man tie pievienotie pazūd, bet vajag lai paliek, jo ja ir kāds errors un poll nepievienojas es gribu lai submitotie varianti paliek ar visām vērtībām.. tad jautājums būtu, kā to panākt.. nākamā problēma būtu atbilžu variantu ievietošana.. kā lai ieliku datubāzē pievienotos variantus.? parasti jau ielikt var, ja jau ir zināmi cik input lauki būs un to nosaukumi, bet kā lai to panāk manā gadījumāa.? :? nekur nevaru atrast atbildi. :\ Quote Link to comment Share on other sites More sharing options...
marcis Posted May 9, 2009 Report Share Posted May 9, 2009 Inputu nosaukumus vislabāk būtu veidot kā masīvu, tad arī neradīsies problēmas tos pievienot ar js - <input name="answer[]" /> PHP pusē jau ciklējam pa $_POST['answer'] masīvu un arī nav nekādu problēmu ar inputu nosaukumu minēšanu. Esošas aptaujas labošanu es taisītu ar diviem inputu masīviem - edit[id] un new[] - php pusē izciklējam divus masīvus. Quote Link to comment Share on other sites More sharing options...
codez Posted May 9, 2009 Report Share Posted May 9, 2009 Ja izmanto tik daudz javascript, tad iemācies lietot jquery. Quote Link to comment Share on other sites More sharing options...
ezis Posted May 9, 2009 Author Report Share Posted May 9, 2009 buusvien jaapamaacaas kkas par tiem masīviem un jqery.! pagaidām paldies. Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted May 9, 2009 Report Share Posted May 9, 2009 Ja izmanto tik daudz javascript, tad iemācies lietot jquery. kapec gan ?? Labak lai iemacas lietot JS un tad jau var skatiities peec kaada JS frimworka... Piedevam tur NAV daudz taa JS .. Quote Link to comment Share on other sites More sharing options...
ezis Posted May 9, 2009 Author Report Share Posted May 9, 2009 (edited) tomēr laikam man nesanāks tā kā es gribu. nesanāk ne nociklēt ne salikt to lai ieraxtiitu db.! Edited May 9, 2009 by ezis Quote Link to comment Share on other sites More sharing options...
codez Posted May 9, 2009 Report Share Posted May 9, 2009 kapec gan ?? Tāpēc, ka kods būs 3x īsāks un varēs "behavior" pilnībā nodalīt no "markup" Labak lai iemacas lietot JS un tad jau var skatiities peec kaada JS frimworka... Varbūt iesaki vēl apgūt papriekšu ASM? Un no kura laika jquery var programmēt kaut kā savādāk, kā tikai JS? Piedevam tur NAV daudz taa JS .. Tajā piemērā ir tikai JS. Quote Link to comment Share on other sites More sharing options...
marcis Posted May 9, 2009 Report Share Posted May 9, 2009 Kas tev nesanāk ar ievietošanu datubāzē? mysql_query("INSERT INTO `aptaujas` (jautajums) VALUES ('".mysql_real_escape_string($jautajums)."')"); $aptaujas_id = mysql_insert_id(); $inserts = array(); foreach($atbildes as $atbilde){ $inserts[] = "($aptaujas_id,'".mysql_real_escape_string($atbilde)."')"; } $inserts = implode(",",$inserts); mysql_query("INSERT INTO `aptauju_atbildes` (aptaujas_id,atbilde) VALUES ".$inserts); Quote Link to comment Share on other sites More sharing options...
ezis Posted May 9, 2009 Author Report Share Posted May 9, 2009 (edited) Kas tev nesanāk ar ievietošanu datubāzē? mysql_query("INSERT INTO `aptaujas` (jautajums) VALUES ('".mysql_real_escape_string($jautajums)."')"); $aptaujas_id = mysql_insert_id(); $inserts = array(); foreach($atbildes as $atbilde){ $inserts[] = "($aptaujas_id,'".mysql_real_escape_string($atbilde)."')"; } $inserts = implode(",",$inserts); mysql_query("INSERT INTO `aptauju_atbildes` (aptaujas_id,atbilde) VALUES ".$inserts); šodaļu es laikam sapratu. ieliek aptaujas jautājumu datubāzē, tad laikam ir loop kas izvada visas visas atbildes un tad vi;nas attiecīgii ieliek db.. bet kā ir ar tiem input laukiem? :? neesmu pārliecināts, bet izskatās, ka šim variantam ir tikai viens vajadzīgs kurā ievada visas atbildes un tad viņas jāatdala ar komatu... Edited May 9, 2009 by ezis Quote Link to comment Share on other sites More sharing options...
ezis Posted May 9, 2009 Author Report Share Posted May 9, 2009 pimēram ja es taisu tā, ka katru atbildes variantu jāieraxta jaunā rinda.. tad kā panākt, lai katrs jaunā rindā ieraxtītais insertotos db.? Oo Quote Link to comment Share on other sites More sharing options...
marcis Posted May 10, 2009 Report Share Posted May 10, 2009 $str = '1 2 3'; print_r(explode("\n",$str)); Quote Link to comment Share on other sites More sharing options...
codez Posted May 10, 2009 Report Share Posted May 10, 2009 Ja vajag kādā tabulā saglabāt sarežģītākas datu struktūras, tad izmantoju json_encode. Var saglabāt Objektu un array-u struktūras, pārveidot no PHP uz tekstu un atpakaļ ar vienu funkciju, var izmantot, lai uzreiz (nepārveidojot) datus sūtītu Javascriptam. Quote Link to comment Share on other sites More sharing options...
ezis Posted May 10, 2009 Author Report Share Posted May 10, 2009 $str = '1 2 3'; print_r(explode("\n",$str)); kā padot uz loop, lai vinjsh izvadītu tiaki 1 un 2 un 3 nevis šādi: Array ( [0] => 1 [1] => 2 [2] => 3 ) :? sorry par dumiem jautājumiem - man ir valodas barjera ar php.! Quote Link to comment Share on other sites More sharing options...
marcis Posted May 10, 2009 Report Share Posted May 10, 2009 foreach() Quote Link to comment Share on other sites More sharing options...
ezis Posted May 10, 2009 Author Report Share Posted May 10, 2009 (edited) foreach() nujaaa, mēģinu jau ar šo funkciju, tik nekas atkal nesanāk.! :@ jāpamēģina būs cītīgāk.! grr neluupojas.! vainu sanaak izvadiit vienu ieraxtu vai arii visus kā vienu :\ ajjj.! :\ arī šāds variants man nesanāk... taisīšu primitīvu šitu.1 :( būs jāievada cik atbilžu varianti un tad attiecīgi tik inputi parādīsies.! :[ bet vismaz.! ^^ Edited May 10, 2009 by ezis Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.