for each & mysql
zit weer even vast met een volgende probleem.
Ik heb via javascript optie toegevoegd om rows toe
te voegen aan een tabel. Tot zover geen probleem!
Nu wil ik na de submit van het formulier deze waarden
ook opslagen in de database en daar zit ik dus vast.
Via een foreach kan ik alle rows laten weergeven via
een echo, maar hoe krijg ik die verschillende rows in mijn database?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$contract = $_POST['contract'];
$broker = $_POST['dropdown1'];
$enduser = $_POST['dropdown2'];
$dof = $_POST['dof'];
$flightnr = $_POST['flight'];
$adep = $_POST['adep'];
$ades = $_POST['ades'];
foreach($flightnr as $a => $b)
echo "$contract - $broker - $enduser - $flightnr[$a] - $adep[$a] - $ades[$a] <br>";
?>
thanks voor de tips en hulp alvast!
$contract = $_POST['contract'];
$broker = $_POST['dropdown1'];
$enduser = $_POST['dropdown2'];
$dof = $_POST['dof'];
$flightnr = $_POST['flight'];
$adep = $_POST['adep'];
$ades = $_POST['ades'];
foreach($flightnr as $a => $b)
echo "$contract - $broker - $enduser - $flightnr[$a] - $adep[$a] - $ades[$a] <br>";
?>
thanks voor de tips en hulp alvast!
Gewijzigd op 18/05/2015 13:11:46 door Yannick Bogaert
Gewijzigd op 18/05/2015 12:54:49 door - Ariën -
Had even poging gewaagd maar zoals verwacht werkt het volgende niet:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
foreach($flightnr as $a => $b)
$sql = "INSERT INTO flights( contract, broker, enduser, reg, dof, flightnr, adep, etd, eta, ades, pax, flighttype ) VALUES
(
'" . mysql_real_escape_string($contract) . "',
'" . mysql_real_escape_string($broker) . "',
'" . mysql_real_escape_string($enduser) . "',
'" . mysql_real_escape_string($reg) . "',
'" . mysql_real_escape_string($dof[$a]) . "',
'" . mysql_real_escape_string($flightnr[$a]) . "',
'" . mysql_real_escape_string($adep[$a]) . "',
'" . mysql_real_escape_string($etd[$a]) . "',
'" . mysql_real_escape_string($eta[$a]) . "',
'" . mysql_real_escape_string($ades[$a]) . "',
'" . mysql_real_escape_string($pax[$a]) . "',
'" . mysql_real_escape_string($flighttype[$a]) . "')";
if (!mysql_query($sql,$vlmocc))
{
die('Error: ' . mysql_error());
}
?>
foreach($flightnr as $a => $b)
$sql = "INSERT INTO flights( contract, broker, enduser, reg, dof, flightnr, adep, etd, eta, ades, pax, flighttype ) VALUES
(
'" . mysql_real_escape_string($contract) . "',
'" . mysql_real_escape_string($broker) . "',
'" . mysql_real_escape_string($enduser) . "',
'" . mysql_real_escape_string($reg) . "',
'" . mysql_real_escape_string($dof[$a]) . "',
'" . mysql_real_escape_string($flightnr[$a]) . "',
'" . mysql_real_escape_string($adep[$a]) . "',
'" . mysql_real_escape_string($etd[$a]) . "',
'" . mysql_real_escape_string($eta[$a]) . "',
'" . mysql_real_escape_string($ades[$a]) . "',
'" . mysql_real_escape_string($pax[$a]) . "',
'" . mysql_real_escape_string($flighttype[$a]) . "')";
if (!mysql_query($sql,$vlmocc))
{
die('Error: ' . mysql_error());
}
?>
Er zijn natuurlijk een hoop meer velden vandaar de iets uitgebreidere sql
Gewijzigd op 18/05/2015 13:10:12 door Yannick Bogaert
Getest door $flight tijdelijk een statische inhoud te geven ?
Op zich zou die INSERT INTO wel moeten werken. Zo niet, dan ben ik benieuwd welke error je krijgt?
@Pipo: de foreach met de echo werkt, de foreach met de sql natuurlijk niet.
En wat zie je als je $sql echo'ed?
Warning: Invalid argument supplied for foreach() in /var/www/charter/flights/flight_proces.php on line 22
Error: Query was empty
Waar komt $flight vandaan?
@Aar: $flight moest $flightnr zijn, nu werkt de INSERT INTO maar enkel voor de eerste row dus niet voor bv 3 rows
Gewijzigd op 18/05/2015 13:20:17 door - Ariën -
de html hierachter is:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<html>
<body>
<table id="flights" class="curvedEdges" width="600" border="0" cellspacing="0" cellpadding="10">
<tbody>
<tr>
<td width="20"><input type="checkbox" name="checkbox[]" id="checkbox"></td>
<td width="50"><input name="dof[]" type="date" required="required" id="dof"></td>
<td width="25"><input name="flight[]" type="text" required="required" id="flight" size="5" maxlength="5"></td>
<td width="25"><input name="adep[]" type="text" required="required" id="adep" size="5" maxlength="5"></td>
<td width="25"><input name="etd[]" type="text" required="required" id="etd" size="5" maxlength="5"></td>
<td width="25"><input name="eta[]" type="text" required="required" id="eta" size="5" maxlength="5"></td>
<td width="25"><input name="ades[]" type="text" required="required" id="ades" size="5" maxlength="5"></td>
<td width="25"><input name="pax[]" type="text" required="required" id="pax" value="0" size="5"></td>
<td width="25"><select name="flighttype[]" id="select">
<option value="F">Ferry</option>
<option value="C">Live</option>
</select></td>
</tr>
</tbody>
</table>
</body>
</html>
<body>
<table id="flights" class="curvedEdges" width="600" border="0" cellspacing="0" cellpadding="10">
<tbody>
<tr>
<td width="20"><input type="checkbox" name="checkbox[]" id="checkbox"></td>
<td width="50"><input name="dof[]" type="date" required="required" id="dof"></td>
<td width="25"><input name="flight[]" type="text" required="required" id="flight" size="5" maxlength="5"></td>
<td width="25"><input name="adep[]" type="text" required="required" id="adep" size="5" maxlength="5"></td>
<td width="25"><input name="etd[]" type="text" required="required" id="etd" size="5" maxlength="5"></td>
<td width="25"><input name="eta[]" type="text" required="required" id="eta" size="5" maxlength="5"></td>
<td width="25"><input name="ades[]" type="text" required="required" id="ades" size="5" maxlength="5"></td>
<td width="25"><input name="pax[]" type="text" required="required" id="pax" value="0" size="5"></td>
<td width="25"><select name="flighttype[]" id="select">
<option value="F">Ferry</option>
<option value="C">Live</option>
</select></td>
</tr>
</tbody>
</table>
</body>
</html>
de [] bij flight moeten ertussen blijkbaar om de foreach te doen lukken, dit heb ik gehaald uit:
"Getting Submitted Form Values in PHP
The main purpose of above code is to take input from user and persist it in database. Hence we may want to submit the above form and fetch its values in PHP to store the data in database.
If you notice we have multiple input textboxes with the same name. So in order to get these values in PHP request parameter, we need to modify our HTML. We need to append [] at the end of name of each input boxes including select box.
Thus our textbox definition:
<input type="text" name="txt">
Will change into:
<input type="text" name="txt[]">"
Met de gewone echo krijg ik daardoor als resultaat:
c12345 - Air Charter - end user 1 - - dep1 - des1
c12345 - Air Charter - end user 1 - - dep2 - des2
Wat ook correct is.
Gewijzigd op 18/05/2015 13:39:07 door Yannick Bogaert
Ik neem aan dat het werkt?
Verder zal je met Java eerder JavaScript bedoelen. Tussen beiden zit een aanzienlijk groot verschil.
UPDATE: ik merk wel dat als er bv 3 rows zijn hij enkel de laatste row in de database heeft opgeslagen.
Gewijzigd op 18/05/2015 14:01:53 door Yannick Bogaert
Hoe vaak voer je mysql(i)_query() uit?