Jump to content

[SOLVED] Insert form to DB (Multiple rows, array)


GamerGun

Recommended Posts

Hello all.

 

I have the following code to submit a form to a database:

 

index.php

<?php

$connect = mysql_connect("localhost","root","password") or
die ("Could not connect to database.");

mysql_select_db("urendatabase");

$query1 = mysql_query(
"SELECT `userid`,
`voornaam`,
`achternaam`
FROM `werknemers`
ORDER BY `achternaam` ASC"
) or die (mysql_error());

echo "<form name='form1' method='post' action='insert.php'>\n";

echo "Week: "; echo date("W"); echo " - "; echo date("d-M-Y"); echo "<br><br>";

echo "Naam: <select name='werknemer'>\n";

while ($data = mysql_fetch_assoc($query1))
{
echo "<option value='".$data['userid']."'>".$data['voornaam']." ".$data['achternaam']."</option>\n";
}
echo "</select> <br><br>\n";

echo "<table border=\"1\" bordercolor=\"#FFCC00\" style=\"background-color:#FFFFCC\" width=\"100%\" cellpadding=\"3\" cellspacing=\"3\">
    <tr>
        <td>Gerelateerd</td>
        <td>Afdeling</td>
        <td>Tijd gewerkt (hr)</td>
        <td>Call nummer</td>
        <td>Omschrijving</td>
    </tr>
    <tr>
        <td width=\"10%\">";include("spec.php");echo "</td>
        <td width=\"20%\">";include("afd.php");echo "</td>
        <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren[]\" /></td>
        <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr[]\" /></td>
        <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving[]\" /></td>
    </tr>
    <tr>
        <td width=\"10%\">";include("spec.php");echo "</td>
        <td width=\"20%\">";include("afd.php");echo "</td>
        <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren[]\" /></td>
        <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr[]\" /></td>
        <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving[]\" /></td>
    </tr>
    <tr>
        <td width=\"10%\">";include("spec.php");echo "</td>
        <td width=\"20%\">";include("afd.php");echo "</td>
        <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren[]\" /></td>
        <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr[]\" /></td>
        <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving[]\" /></td>
    </tr>
    <tr>
        <td width=\"10%\">";include("spec.php");echo "</td>
        <td width=\"20%\">";include("afd.php");echo "</td>
        <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren[]\" /></td>
        <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr[]\" /></td>
        <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving[]\" /></td>
    </tr>
    <tr>
        <td width=\"10%\">";include("spec.php");echo "</td>
        <td width=\"20%\">";include("afd.php");echo "</td>
        <td width=\"10%\"><input type=\"text\" size=\"5\" name=\"uren[]\" /></td>
        <td width=\"10%\"><input type=\"text\" size=\"10\" name=\"callnr[]\" /></td>
        <td width=\"50%\"><input type=\"text\" size=\"90\" name=\"omschrijving[]\" /></td>
    </tr>
</table>";

echo "<br>";

echo "<input type='submit' name='submit' value='Submit'>\n";

echo "</form>\n";

?>

</body>
</html>

 

insert.php

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","root","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$_POST[werknemer]','$_POST[afdeling]','$_POST[uren]','$_POST[specificatie]','$_POST[omschrijving]','$_POST[callnr]','$current_time')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Back\" onclick=\"parent.location='index.php'\" /></form>");

mysql_close($con)
?>

 

spec.php

<?php
$query2 = mysql_query(
"SELECT `specid`,
`specificatie`
FROM `specificatie`
ORDER BY `specificatie` ASC"
) or die (mysql_error());

echo "<select name='specificatie[]'>\n";
while ($data = mysql_fetch_assoc($query2))
{
echo "<option value='".$data['specid']."'>".$data['specificatie']."</option>\n";
}
echo "</select>\n";
?>

 

afd.php

<?php
$query2 = mysql_query(
"SELECT `afdelingid`,
`afdeling`
FROM `afdelingen`
ORDER BY `afdeling` ASC"
) or die (mysql_error());

echo "<select name='afdeling[]'>\n";
while ($data = mysql_fetch_assoc($query2))
{
echo "<option value='".$data['afdelingid']."'>".$data['afdeling']."</option>\n";
}
echo "</select>\n";
?>

 

The problem is that only the 5th entry (row) from the form is being inserted to the database, instead of all 5.

 

Now i played with arrays as you can see, with the following output:

 

Array ( [werknemer] => 5 
[specificatie] => Array ( [0] => 1 [1] => 4 [2] => 2 [3] => 1 [4] => 2 ) 
[afdeling] => 22 
[uren] => Array ( [0] => uur1 [1] => uur2 [2] => uur3 [3] => uur4 [4] => uur5 ) 
[callnr] => Array ( [0] => call1 [1] => call2 [2] => call3 [3] => call4 [4] => call5 ) 
[omschrijving] => Array ( [0] => test1 [1] => test2 [2] => test3 [3] => test4 [4] => test5 ) 
[submit] => Submit ) 

 

2 questions: why is "afdeling" not in an array? And how can i insert this into the database?

 

Thanks. It's okay for me to pay a little for the solution.

 

PS; since it's Dutch, here a little explanation:

 

werknemer = employee

specificatie = specification

afdeling = department

uren = hours

omschrijving = description

Link to comment
Share on other sites

  • Replies 179
  • Created
  • Last Reply

Top Posters In This Topic

answer to question 1:

the reason your not saving all rows to database, is because what you get from the post are arrays, not single variables. i.e. $_POST[werknemer] is actually $_POST[werknemer][]. you should do something like:

 

<?php
for ($i = 0; $i < 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$_POST[werknemer][$i]','$_POST[afdeling][$i]','$_POST[uren][$i]','$_POST[specificatie][$i]','$_POST[omschrijving][$i]','$_POST[callnr][$i]','$current_time')";

//execute mysql_query() here.
}
?>

Link to comment
Share on other sites

Thanks.

 

My insert.php is now as followed:

 

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","root","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

print_r($_POST);

for ($i = 0; $i < 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$_POST[werknemer][$i]','$_POST[afdeling][$i]','$_POST[uren][$i]','$_POST[specificatie][$i]','$_POST[omschrijving][$i]','$_POST[callnr][$i]','$current_time')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
}

echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo("<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>

 

With this output:

 

Array ( [werknemer] => 5 
[specificatie] => Array ( [0] => 3 [1] => 1 [2] => 4 [3] => 2 [4] => 3 ) 
[afdeling] => Array ( [0] => 10 [1] => 16 [2] => 14 [3] => 17 [4] => 14 ) 
[uren] => Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 [4] => 7 ) 
[callnr] => Array ( [0] => 2342 [1] => 4234 [2] => 4234 [3] => 5456 [4] => 7657 ) 
[omschrijving] => Array ( [0] => test1 [1] => test2 [2] => ttest3 [3] => test4 [4] => test5 ) 
[submit] => Submit )

 

Weird enough "afdeling" shows the array now but i didnt edit anything else for the rest...

 

Database:

 

dburentestarray.PNG

 

Thanks in advance

Link to comment
Share on other sites

first of all, i made a small mistake:

 

in $sql, '$_POST[werknemer][$i]' should be '$_POST[werknemer]' as this variable is not an array (i didn't notice that before).

 

this probably won't fix anything, but could you change the $sql assignment with this:

$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'][$i];
$uren = $_POST['uren'][$i];
$specificatie = $_POST['specificatie'][$i];
$omschrijving = $_POST['omschrijving'][$i];
$callnr = $_POST['callnr'][$i];

$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES (\'$werknemer\', \'$afdeling\', \'$uren\', \'$specificatie\', \'$omschrijving\', \'$callnr\', \'$current_time\')";

 

and let me know what happens please.

 

in addition, i noticed your inserting afdeling into specid, uren into afdelingid and specificatie into uren. might want to fix that.

Link to comment
Share on other sites

Noticed that too, changed it to this: (thanks)

 

for ($i = 0; $i < 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$_POST[werknemer]','$_POST[specificatie][$i]','$_POST[afdeling][$i]','$_POST[uren][$i]','$_POST[omschrijving][$i]','$_POST[callnr][$i]','$current_time')";

 

For the test, i tried your method:

 

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","root","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

print_r($_POST);

$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'][$i];
$uren = $_POST['uren'][$i];
$specificatie = $_POST['specificatie'][$i];
$omschrijving = $_POST['omschrijving'][$i];
$callnr = $_POST['callnr'][$i];

$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES (\'$werknemer\', \'$specificatie\', \'$afdeling\', \'$uren\', \'$omschrijving\', \'$callnr\', \'$current_time\')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo("<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>

 

Which gives me:

 

Array ( [werknemer] => 5 
[specificatie] => Array ( [0] => 3 [1] => 1 [2] => 2 [3] => 4 [4] => 3 ) 
[afdeling] => Array ( [0] => 9 [1] => 14 [2] => 8 [3] => 27 [4] => 27 ) 
[uren] => Array ( [0] => 2 [1] => 4 [2] => 1 [3] => 5 [4] => 6 ) 
[callnr] => Array ( [0] => 13424 [1] => 23424 [2] => 25435 [3] => 14324 [4] => 43423 ) 
[omschrijving] => Array ( [0] => test1 [1] => test2 [2] => test3 [3] => test4 [4] => test5 ) 
[submit] => Submit ) 

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'5\', \'\', \'\', \'\', \'\', \'\', \'2008-10-28\')' at line 2

 

Thanks for your help m8.

Link to comment
Share on other sites

woops. sorry. my bad. should be:

$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$werknemer', '$specificatie', '$afdeling', '$uren', '$omschrijving', '$callnr', '$current_time')";

 

and if you dont have a for() loop in your code, im not sure what the [$i] will do...

Link to comment
Share on other sites

Just a thought, but shouldn't all the POSTS be quoted?  Like:

 

<?php

for ($i = 0; $i < 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$_POST["werknemer"]','$_POST["specificatie"][$i]','$_POST["afdeling"][$i]','$_POST["uren"][$i]','$_POST["omschrijving"][$i]','$_POST["callnr"][$i]','$current_time')";

?>

 

At least I thought in order to call $_POST variables, that's the way it had to be.

Link to comment
Share on other sites

bobbinsbro, it adds one record, as like in the beginning without the array. The result: (In the DB)

 

uurid: 57

userid: 5
specid: 0
afdelingid: 0
uren: empty
omschrijving: empty
callnr: empty
datum: 2008-10-28

 

mtylerb; that gives exactly the same as without the quotes.

 

Thanks both!

Link to comment
Share on other sites

Noticed that too, changed it to this: (thanks)

 

for ($i = 0; $i < 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$_POST[werknemer]','$_POST[specificatie][$i]','$_POST[afdeling][$i]','$_POST[uren][$i]','$_POST[omschrijving][$i]','$_POST[callnr][$i]','$current_time')";

 

For the test, i tried your method:

 

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","root","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

print_r($_POST);

$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'][$i];
$uren = $_POST['uren'][$i];
$specificatie = $_POST['specificatie'][$i];
$omschrijving = $_POST['omschrijving'][$i];
$callnr = $_POST['callnr'][$i];

$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES (\'$werknemer\', \'$specificatie\', \'$afdeling\', \'$uren\', \'$omschrijving\', \'$callnr\', \'$current_time\')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo("<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>

 

Which gives me:

 

Array ( [werknemer] => 5 
[specificatie] => Array ( [0] => 3 [1] => 1 [2] => 2 [3] => 4 [4] => 3 ) 
[afdeling] => Array ( [0] => 9 [1] => 14 [2] => 8 [3] => 27 [4] => 27 ) 
[uren] => Array ( [0] => 2 [1] => 4 [2] => 1 [3] => 5 [4] => 6 ) 
[callnr] => Array ( [0] => 13424 [1] => 23424 [2] => 25435 [3] => 14324 [4] => 43423 ) 
[omschrijving] => Array ( [0] => test1 [1] => test2 [2] => test3 [3] => test4 [4] => test5 ) 
[submit] => Submit ) 

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'5\', \'\', \'\', \'\', \'\', \'\', \'2008-10-28\')' at line 2

 

Thanks for your help mate.

 

Get rid of the $i at the end of each variable, that's only going to be useful if you're running it through a for loop.

 

<?php

$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'];
$uren = $_POST['uren'];
$specificatie = $_POST['specificatie'];
$omschrijving = $_POST['omschrijving'];
$callnr = $_POST['callnr'];

?>

Link to comment
Share on other sites

I tried:

 

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","root","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

print_r($_POST);

$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'][$i];
$uren = $_POST['uren'][$i];
$specificatie = $_POST['specificatie'][$i];
$omschrijving = $_POST['omschrijving'][$i];
$callnr = $_POST['callnr'][$i];

for ($i = 0; $i < 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$werknemer', '$specificatie', '$afdeling', '$uren', '$omschrijving', '$callnr', '$current_time')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
}

echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo("<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>

 

This gives me:

 

Array ( [werknemer] => 5 
[specificatie] => Array ( [0] => 3 [1] => 1 [2] => 2 [3] => 4 [4] => 3 ) 
[afdeling] => Array ( [0] => 9 [1] => 14 [2] => 8 [3] => 27 [4] => 27 ) 
[uren] => Array ( [0] => 2 [1] => 4 [2] => 1 [3] => 5 [4] => 6 ) 
[callnr] => Array ( [0] => 13424 [1] => 23424 [2] => 25435 [3] => 14324 [4] => 43423 ) 
[omschrijving] => Array ( [0] => test1 [1] => test2 [2] => test3 [3] => test4 [4] => test5 ) 
[submit] => Submit ) Werkzaamheden toegevoegd

 

db2.PNG

 

Also tried this:

 

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","root","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

print_r($_POST);

$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'];
$uren = $_POST['uren'];
$specificatie = $_POST['specificatie'];
$omschrijving = $_POST['omschrijving'];
$callnr = $_POST['callnr'];

$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$werknemer', '$specificatie', '$afdeling', '$uren', '$omschrijving', '$callnr', '$current_time')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo("<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>

 

And this gives me:

 

db1.PNG

 

Thanks

Link to comment
Share on other sites

Then you'd want to run an sql query something like:

 

<?php
for ($x = 0; $x <= 5; $x++)
{
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES (\'$werknemer\', \'$specificatie[$x]\', \'$afdeling[$x]\', \'$uren[$x]\', \'$omschrijving[$x]\', \'$callnr[$x]\', \'$current_time\')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
}
?>

Link to comment
Share on other sites

@mtylerb:

we tried that. turns out mysql_query() doesn't like usage of magic quotes in the sql string. also, $current_time passes the DB just fine while using regular quotes.

 

Get rid of the $i at the end of each variable, that's only going to be useful if you're running it through a for loop.

 

it should still give something other than empty variables... i'm pretty sure php should initialize $i = 0, and that would get the first elements in each array. but they're coming back empty (see the db entry GamerGun posted and compare with the print_r()).

 

i'll keep working on it, but i'm stumped for now. sorry.

Link to comment
Share on other sites

another (rather desperate) attempt to get this working. try this:

 

for ($i = 0; $i < 5; ++$i){
$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'][$i];
$uren = $_POST['uren'][$i];
$specificatie = $_POST['specificatie'][$i];
$omschrijving = $_POST['omschrijving'][$i];
$callnr = $_POST['callnr'][$i];

$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('".$werknemer ."','".$afdeling."','".$uren."','".$specificatie."','".$omschrijving."','".$callnr."','".$current_time."')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
}

Link to comment
Share on other sites

My var_dump of each variable now turns up this:

 

Array
(
    [werknemer] => 5
    [specificatie] => Array
        (
            [0] => 3
            [1] => 3
            [2] => 3
            [3] => 3
            [4] => 3
        )

    [afdeling] => Array
        (
            [0] => 5
            [1] => 5
            [2] => 5
            [3] => 5
            [4] => 5
        )

    [uren] => Array
        (
            [0] => 10
            [1] => 11
            [2] => 12
            [3] => 13
            [4] => 14
        )

    [callnr] => Array
        (
            [0] => 12340
            [1] => 12341
            [2] => 12342
            [3] => 12343
            [4] => 12344
        )

    [omschrijving] => Array
        (
            [0] => 3216450
            [1] => 3216451
            [2] => 3216452
            [3] => 3216453
            [4] => 3216454
        )

    [submit] => Submit
)
string(1) "5"
string(2) "10"
string(1) "3"
string(7) "3216450"
string(5) "12340"
INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('5', '5', '10', 'Array', '3216450', '12340', '2008-10-28')string(1) "5"
string(2) "11"
string(1) "3"
string(7) "3216451"
string(5) "12341"
INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('5', '5', '11', 'Array', '3216451', '12341', '2008-10-28')string(1) "5"
string(2) "12"
string(1) "3"
string(7) "3216452"
string(5) "12342"
INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('5', '5', '12', 'Array', '3216452', '12342', '2008-10-28')string(1) "5"
string(2) "13"
string(1) "3"
string(7) "3216453"
string(5) "12343"
INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('5', '5', '13', 'Array', '3216453', '12343', '2008-10-28')string(1) "5"
string(2) "14"
string(1) "3"
string(7) "3216454"
string(5) "12344"
INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('5', '5', '14', 'Array', '3216454', '12344', '2008-10-28')

 

That's with this code in insert.php:

 

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","test","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

print_r($_POST);

$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'];
$uren = $_POST['uren'];
$specificatie = $_POST['specificatie'];
$omschrijving = $_POST['omschrijving'];
$callnr = $_POST['callnr'];

for ($i = 0; $i < 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$werknemer', '$afdeling[$i]', '$uren[$i]', '$specificatie', '$omschrijving[$i]', '$callnr[$i]', '$current_time')";
var_dump($afdeling[$i]);
var_dump($uren[$i]);
var_dump($specificatie[$i]);
var_dump($omschrijving[$i]);
var_dump($callnr[$i]);

echo $sql;

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
}

echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo("<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>

 

Which (without the dumps) would make this:

 

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","test","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'];
$uren = $_POST['uren'];
$specificatie = $_POST['specificatie'];
$omschrijving = $_POST['omschrijving'];
$callnr = $_POST['callnr'];

for ($i = 0; $i < 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$werknemer', '$afdeling[$i]', '$uren[$i]', '$specificatie', '$omschrijving[$i]', '$callnr[$i]', '$current_time')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
}

echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo("<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>

 

I did go and remove all the backslashing the quotes, sql didn't like those.

Link to comment
Share on other sites

bobbinsbro, the INSERT/VALUE order is not correct but it works perfectly! (Already changed it).

 

I didn't try yours mtylerb, but which way do you guys recommend?

 

Thanks again!

 

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","root","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

print_r($_POST);

for ($i = 0; $i < 5; ++$i){
$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'][$i];
$uren = $_POST['uren'][$i];
$specificatie = $_POST['specificatie'][$i];
$omschrijving = $_POST['omschrijving'][$i];
$callnr = $_POST['callnr'][$i];

$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('".$werknemer ."','".$specificatie."','".$afdeling."','".$uren."','".$omschrijving."','".$callnr."','".$current_time."')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
}

echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo("<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>

Link to comment
Share on other sites

My apologies, I messed up the order somewhere, my insert.php should have been:

 

<?php

$current_time = date("Y-m-d");
$con = mysql_connect("localhost","test","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("urendatabase", $con);

$werknemer = $_POST['werknemer'];
$afdeling = $_POST['afdeling'];
$uren = $_POST['uren'];
$specificatie = $_POST['specificatie'];
$omschrijving = $_POST['omschrijving'];
$callnr = $_POST['callnr'];

for ($i = 0; $i < 5; ++$i){
$sql="INSERT INTO uren (userid, specid, afdelingid, uren, omschrijving, callnr, datum)
VALUES ('$werknemer', '$specificatie[$i]', '$afdeling[$i]', '$uren[$i]', '$omschrijving[$i]', '$callnr[$i]', '$current_time')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
}

echo "Werkzaamheden toegevoegd";
echo "<br><br>";
echo("<form><input type=\"button\" value=\"Vorige pagina\" onclick=\"parent.location='index.php'\" /></form>");
echo("<form><input type=\"button\" value=\"Terug naar Home\" onclick=\"parent.location='../index.php'\" /></form>");

mysql_close($con)
?>

 

Don't forget to click the Topic Solved button below if it is fixed!  I'm heading to bed.  My good deed of the day.  Lol.

Link to comment
Share on other sites

Works as designed :P Now it's time to add some security and error handeling :)

 

You guy perhaps have paypal or something for a small donation?

 

Pz -T

 

Oh heck no, that was fun!  I'm not expecting any donations!  Keeps me thinking!

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.