Voor onderstaande code zoek ik iets, ik wil graag automatisch, of door middel van een knopje de velden "bedrag" en "bethaalmethode" elke keer extra laten verschijnen.
Maximaal 100 stuks ofzo (niet alle 100 tegelijk)

Bij het verzenden van de data moeten alle velden meegenomen worden en de datum ook.


<?php
include ("db_config.php");
include ("site_config.php");

$sqlquery = "INSERT INTO omzet (datum, betaalmethode, bedrag) VALUES('".$_POST['datum']."','".$_POST['betaalmethode']."','".$_POST['bedrag']."')";

$results = mysql_query($sqlquery) or die ("Fout: " .
mysql_error());

mysql_close();
?> 
<html>
 <head>
 <meta charset="utf-8">
 <title><?php echo $titel; ?></title>
 <link rel="stylesheet" href="css/style.css">
 </head>

 <body>
 <form id="zoekform" method="post" action="toevoegen.php">
 <div class="row">
 <label for="datum"><?php echo $datum; ?></label>
 <input type="text" name="datum" id="datum" datum=""> </br></br>
 </div>
 
 <div class="row">
 <label for="betaalmethode"><?php echo $betaalmethode; ?></label>
 <select type="text"  name="betaalmethode" id="betaalmethode" betaalmethode=""> </br></br>
                <option value="contant" selected>Contant</option>
                <option value="pin">Pin</option>
</select></br></br>
 </div>
 
 <div class="row">
 <label for="bedrag"><?php echo $bedrag; ?></label>
 <input type="text"  name="bedrag" id="bedrag" bedrag=""> </br></br>
 </div>
 
 <hr>
 <input type="submit" value="toevoegen">
 <input type="reset" value="terugzetten">
 </form>

<a href= index.php >Home</a>
 </body>
 </html>


Niet aan gedacht nee,

Maar JavaScript werkt niet op iOS toch?

De site word voornamelijk gebruikt door een iPad
Bijna elke website gebruikt wel een sloot aan Javascripts, dus geheid dat iOS er ook wel raad mee weet.

Ik denk dat je in de war met Adobe Flash bent?
o ja, dat was flash idd.

Het is me gelukt, nu rest me nog 1 probleem.

Hij stuurt alleen de data van de laatste invoer naar de db
Dus als ik er 3 invoer, pakt ie de 3e invoer, de 1e en 2e voert ie niet in.


<?php
include ("db_config.php");
include ("site_config.php");

$sqlquery = "INSERT INTO omzet (datum, betaalmethode, bedrag) VALUES('".$_POST['datum']."','".$_POST['betaalmethode']."','".$_POST['bedrag']."')";

$results = mysql_query($sqlquery) or die ("Fout: " .
mysql_error());

mysql_close();
?> 
<html>
 <head>
 <meta charset="utf-8">
 <title><?php echo $titel; ?></title>
 <link rel="stylesheet" href="css/style.css">
 <script src="/js/meer.js" language="Javascript" type="text/javascript"></script>
 </head>

 <body>
 <form id="zoekform" method="post" action="toevoegen.php">
 <div class="row">
 <label for="datum"><?php echo $datum; ?></label>
 <input type="text" name="datum" id="datum" datum=""> </br></br>
 </div>
 
 <div id="regels">
		Betaalmethode <input type="text" name="betaalmethode">
   		Bedrag <input type="text" name="bedrag">
	</div>
	<input type="button" value="Extra bon" onClick="meer('regels');">
  
  <hr>
 <input type="submit" value="toevoegen">
 <input type="reset" value="terugzetten">
 </form>

<a href= index.php >Home</a>
 </body>
 </html>


Me javascript:

var counter = 1;
var limit = 50;
function meer(divName){
     if (counter == limit)  {
          alert("Maximum bereikt " + counter + " inputs");
     }
     else {
          var newdiv = document.createElement('div');
          newdiv.innerHTML = "Entry " + (counter + 1) + " <div class='row'>Betaalmethode <input type='text' name='bethaalmethode' required></section><section class='unit span6'>Bedrag <input type='text' name='bedrag'>";
          document.getElementById(divName).appendChild(newdiv);
          counter++;
     }
}
Omdat je de veldnamen overschrijft. Maak ze per klik uniek: betaalmethode[1], bedrag[1] etc.
Op basis van bovenstaande code voer je de query maar 1 keer uit.

Je bent er van op de hoogte dat mysql verouderd is? Stap over op mysqli of PDO.
@obelix, nee wist ik niet, maar ik denk dat het voor mij niet veel uitmaakt.
Veel ga ik er niet mee doen, puur stukje ondersteuning.

on-topic, ik snap het wel, maar krijg het niet voor mekaar, ik zal vast iets vreselijks fouts doen :S
Met de $meerinvoer wil ik het oplossen hopelijk.


<?php
include ("db_config.php");
include ("site_config.php");

$meerinvoer = $_POST['datum']."','".$_POST['betaalmethode']."','".$_POST['bedrag']."')";
foreach ($meerinvoer as $sqlquery) {
     echo $sqlquery . "<br>";
}

$sqlquery = "INSERT INTO omzet (datum, betaalmethode, bedrag) VALUES('".$_POST['datum']."','".$_POST['betaalmethode']."','".$_POST['bedrag']."')";

$results = mysql_query($sqlquery) or die ("Fout: " .
mysql_error());

mysql_close();
?> 
<html>
 <head>
 <meta charset="utf-8">
 <title><?php echo $titel; ?></title>
 <link rel="stylesheet" href="css/style.css">
 <script src="/js/meer.js" language="Javascript" type="text/javascript"></script>
 </head>

 <body>
 <form id="zoekform" method="post" action="toevoegen.php">
 <div class="row">
 <label for="datum"><?php echo $datum; ?></label>
 <input type="text" name="datum" id="datum" datum=""> </br></br>
 </div>
 
 <div id="regels">
		<?php echo $betaalmethode; ?> <input type="text" name="betaalmethode[]">
   		<?php echo $bedrag; ?> <input type="text" name="bedrag[]">
	</div>
	<input type="button" value="Extra bon" onClick="meer('regels');">
  
  <hr>
 <input type="submit" value="toevoegen">
 <input type="reset" value="terugzetten">
 </form>

<a href= index.php >Home</a>
 </body>
 </html>
Douwe Westra op 12/07/2016 12:20:04

@obelix, nee wist ik niet, maar ik denk dat het voor mij niet veel uitmaakt.
Veel ga ik er niet mee doen, puur stukje ondersteuning.

Totdat je webhosting over stapt op PHP 7. En je site ligt plat....

[size=xsmall]Toevoeging op 12/07/2016 12:30:31:[/size]

Elke set ingevoerde set hoort bij één item, Dus in je javascript moet je bij elke iteratie dus de boel nummeren, zoals je dit krijgt:

betaalmethode[0]
bedrag[0]
betaalmethode[1]
bedrag[1]
betaalmethode[2]
bedrag[2]
ok, tnx, bedankt.
Maar wat moet ik dan doen?

Dat betekent dat ik 50x in de javascript moet zetten???
Dat is de max
het kan niet automatisch?
Het enige wat je hoeft te doen is de veldnamen in je JavaScript snippet te voorzien van rechte haken?

Er zit mogelijk een spellingsfout in de veldnaam -> bet[color=#ff0000]h[/color]aalmethode.

En voor de goede orde zouden waarden van tag-eigenschappen tussen "dubbele quotes" moeten staan in plaats van enkele.

Reageren