17. juni 2008 - 10:17
Der er
12 kommentarer og 1 løsning
Hjælp til for løkke eller alternativ
Hej, jeg har en "formular" jeg selv har bygget op i php. Den kan jeg tast en masse person info i og sende det hele til databasen, no problems. Men så kommer det svære, jeg vil gerne sådan at man skal kunne vælge flere personer og ikke kun en som det er lige pt. Men de felter der er i person 1, 2 osv. er jo ens, så der må jo være en smart måde at gemme disse på alt afhængig af hvor mange personer man vælger at taste info på. DROPDOWN (min drop down hvor jeg vælger antal personer) <tr><td class="bottomtext">Antal personer:</td><td> <form id="menu" action=""><p> <select size="1" onchange="Show(this)"> <option selected="selected">Vælg antal personer</option> <option value="table1">1. person</option> <option value="table1,table2">2. personer</option> <option value="table1,table2,table3">3. personer</option> <option value="table1,table2,table3,table4">4. personer</option> <option value="table1,table2,table3,table4,table5">5. personer</option> </select> INPUT FELTER TIL 1 person <table border="0" id="table1" style="display:none"> <tr> <td><span class="bottomtext">1. person</span></td><td> </td> </tr> <tr> <td><span class="blue">Fornavn(e):</td><td><input type="text" class="userinput" size="21" name="fornavn1"></span></td> </tr> <tr> <td><span class="blue">Efternavn:</td><td><input type="text" class="userinput" size="21" name="efternavn1"></span></td> </tr> ?> </table> MYSQL KODEN <? if(isset($_POST["send_x"])) { $fornavn = mysql_real_escape_string($_POST['fornavn1']); $efternavn = mysql_real_escape_string($_POST['efternavn1']); if(!empty($fornavn)) { mysql_query("INSERT INTO siku (fornavn, efternavn) VALUES ('". $fornavn ."', '". $efternavn ."'or die(mysql_error()); } else { } } ?>
Annonceindlæg fra Admin By Request
Prøv denne: <script type="text/javascript"> function Show(antal){ obj = document.getElementById('pony'); if(antal){ obj.innerHTML = ''; for(i=1;i<=antal;i++){ obj.innerHTML += '<table border="0"><tr><td><span class="bottomtext"><b>'+i+' person</b></span></td><td></td></tr><tr><td><span class="blue">Fornavn(e):</td><td><input type="text" class="userinput" size="21" name="fornavn[]"></span></td></tr><tr><td><span class="blue">Efternavn:</td><td><input type="text" class="userinput" size="21" name="efternavn[]"><input type="hidden" name="id[]" value="'+1+'"></span></td></tr></table>'; } } } function Hide(){ obj = document.getElementById('pony'); obj.innerHTML = ''; } </script> <form id="menu" action="" method="post"> <select size="1" onchange="Show(this.value)" name="antal"> <option selected="selected">Vælg antal personer</option> <option value="1">1. person</option> <option value="2">2. personer</option> <option value="3">3. personer</option> <option value="4">4. personer</option> <option value="5">5. personer</option> </select> <div id="pony"></div> <input type="hidden" name="send" value="1"> <input type="submit" name="submit" value="send"> <input type="button" onclick="Hide()" name="clear" value="Ryd"> </form> <?php if(isset($_POST['send'])){ if(is_numeric($_POST['antal'])){ foreach ($_POST['id'] as $id => $val){ echo '#'.$id.' ---> '.$_POST['fornavn'][$id].' '.$_POST['efternavn'][$id].'<br>'; $result = mysql_query(sprintf("INSERT INTO siku (fornavn, efternavn) VALUES (%s, %s)" ,mysql_real_escape_string($_POST['fornavn'][$id]) ,mysql_real_escape_string($_POST['efternavn'][$id]))) or die(mysql_error()); if($result){ echo 'Indsat i databasen'; } } } } ?> :-) Hvis der er spørgsmål så sig til.
Undskyld det sene svar, har været på ferie. :-) Den melder den klassike fejl - Unknown column 'peter' in 'field list'
Der skal vel lige et par apostroffer om de værdier *-) $result = mysql_query(sprintf("INSERT INTO siku (fornavn, efternavn) VALUES ('%s', '%s')" ,mysql_real_escape_string($_POST['fornavn'][$id]) ,mysql_real_escape_string($_POST['efternavn'][$id]))) or die(mysql_error()); *går igen*
Tak for hjælpen begge 2....
Et sidste spørgsmål, jeg har nogle alm. variabler. Hvordan skal de tilføjes?
$result = mysql_query(sprintf("INSERT INTO siku (fornavn, efternavn, variable,variabel,variabel) VALUES ('%s', '%s')" ,mysql_real_escape_string($_POST['fornavn'][$id]) ,mysql_real_escape_string($variabel) ,mysql_real_escape_string($variabel) ,mysql_real_escape_string($variabel) ,mysql_real_escape_string($_POST['efternavn'][$id]))) or die(mysql_error());
Hov, values skal selvfølgelig også tilføjes: '%s' = streng '%d' = tal VALUES ('%s', '%s','%s','%s','%s')"
Arg, du er jo simpelthen så klog. Tak
Jeg kan ikke få den til at sætte dato og tid ind i databasen, hvad er fejlen her? $result = mysql_query(sprintf("INSERT INTO siku (titel, fornavn, efternavn, bynavn, virksomhedsnavn, adresse, postnummer, region, dato) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s, '%d')" ,mysql_real_escape_string($_POST['titel'][$id]) ,mysql_real_escape_string($_POST['fornavn'][$id]) ,mysql_real_escape_string($_POST['efternavn'][$id]) ,$virksomhedsby ,$virksomhedsnavn ,$virksomhedsadresse ,$virksomhedspostnummer ,$brugernavne ,NOW())) or die(mysql_error());
29. juni 2008 - 11:59
#10
Den siger #0 ---> Jan Jacobsen Fatal error: Call to undefined function: now()
29. juni 2008 - 12:08
#11
Hvis jeg sætter denne streng ind i for løkken, så virker den ikke? Ved i evt. hvorfor? <tr><td><span class="blue">Ønskes transport:</td></tr><tr><td><input type="checkbox" class="userinput" size="20" name="transport5" value="ja" onclick="document.getElementById'cpr5').style.display=this.checked?'inline':'none';document.getElementById('cprstart5').style.display=this.checked?'inline':'none';document.getElementById('cprmidt5').style.display=this.checked?'inline':'none';document.getElementById('cprslut5').style.display=this.checked?'inline':'none';"></td></tr>
30. juni 2008 - 08:59
#12
Ret den sidste %d til %s Til det sidste, så tror js du vil afslutte indholdet af strengen når du bruger '
01. juli 2008 - 00:10
#13
Den siger stadig: Fatal error: Call to undefined function: now() Med hensyn til js, så virker det stadig ikke, nogen gode forslag? Sætter 150 point til dig hvis du knækker den?
Vi tilbyder markedets bedste kurser inden for webudvikling