Reputation: 902
I have 15 rows of the same data to be inserted repeatedly, is there a way of handling it rather than repeating 15 individual queries?
My current code for 1 row looks like this
$FirstName1=mysqli_real_escape_string($con,$_POST['FirstName1']);
$Surname1=mysqli_real_escape_string($con,$_POST['Surname1']);
$Position1=mysqli_real_escape_string($con,$_POST['Position1']);
$Value1=mysqli_real_escape_string($con,$_POST['Value1']);
mysqli_query($link,"INSERT INTO Players (FirstName, Surname, Position, Value) VALUES ('$FirstName1', '$Surname1', '$Position1', '$Value1')") or die(mysqli_error($link));
Is there a way of running a foreach
to first check the data exists, then loop through and run the insert? The numbers for each field, so "FirstName1" for example will run from 1-15.
Upvotes: 0
Views: 78
Reputation: 303
You may use as follows.
$message = "";
for($i=1;$i<=15;$i++){
$nameElemenet = "FirstName".$i;
$FirstName = mysqli_real_escape_string($con,$_POST[$nameElemenet]);
$surNameElemenet = "Surname".$i;
$Surname = mysqli_real_escape_string($con,$_POST[$surNameElemenet]);
$positionElemenet = "Position".$i;
$Position = mysqli_real_escape_string($con,$_POST[$positionElemenet]);
$valueElemenet = "Value".$i;
$Value = mysqli_real_escape_string($con,$_POST[$valueElemenet]);
if($nameElemenet !="" && $Surname !="" && $positionElemenet !="" && $Value !="" ){
mysqli_query($link,"INSERT INTO Players (FirstName, Surname, Position, Value) VALUES ('$FirstName', '$Surname', '$Position', '$Value')") or die(mysqli_error($link));
}else{
$message .= "All filed values are required.";
}
}
Upvotes: 2
Reputation: 2612
Using while loop :
<?php
$x = 1;
while($x <= 15) {
mysqli_query($link,"INSERT INTO Players (FirstName, Surname, Position, Value) VALUES ('$FirstName1', '$Surname1', '$Position1', '$Value1')") or die(mysqli_error($link));
$x++;
}
?>
Upvotes: 0