?
Solved

Inserting a single DB line within a foreach statement

Posted on 2009-04-08
2
Medium Priority
?
188 Views
Last Modified: 2012-05-06
Hi Experts,
I have a form where members can upload a file, I have created a parser to grab the information from the file perfectly. My problem is, my data is currently being displayed via a foreach statement (code in below snippet).

Rather than echoing the data to the screen, I want to save the data in my database as a single line only to save from having to process the file each time. If I put an insert within the foreach statement its obviously going to create more than 1 DB insert.

The values being displayed on the page here is what i need to catch in a single statement:-
echo 'player with no team: <br />';
echo 'player in team '.$k.'<br />';
echo 'Player Name:'.$player['name'].'; IP: '.$player['ip'].'; Army: '.$n->getArmyName($player['army']).'

Can anyone help?
Thanks in advance
$n = new $classname();
    if (!$n->parse($_FILES['some_identifier']['tmp_name'])) {
        die('can not read it somehow');
    }
    $teams = $n->getTeams();
    foreach($teams as $k => $team) {
        if ($k == 0) { // team 0 store the player without team
            echo 'player with no team: <br />';
        } else {
            echo 'player in team '.$k.'<br />';
        }
        foreach ($team as $k_p => $player) {
            echo 'Player Name:'.$player['name'].'; IP: '.$player['ip'].'; Army: '.$n->getArmyName($player['army']).'<br />';
        }

Open in new window

0
Comment
Question by:EzEApostle
  • 2
2 Comments
 
LVL 3

Expert Comment

by:QualitySoftwareDevelopment
ID: 24095076
You can make it as this (if I get the meaning right ;-))


$sql="INSERT INTO table_name (field1, field2, field3) VALUES (";
 
//make your first datacollect
$sql.=$datacollect.", ";
 
//make your second datacollect
$sql.=$datacollect.", ";
 
//make your third datacollect
$sql.=$datacollect."); ";

Open in new window

0
 
LVL 3

Accepted Solution

by:
QualitySoftwareDevelopment earned 1500 total points
ID: 24095087
and if you need more inserts in one line you can do like this:

$sql = "INSERT INTO table_name (field1, filed2, field3)
  VALUES
  ($data1, $data2, $data3),
  ($data1, $data2, $data3),
  ($data1, $data2, $data3),
  ($data1, $data2, $data3)";

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
There are times when I have encountered the need to decompress a response from a PHP request. This is how it's done, but you must have control of the request and you can set the Accept-Encoding header.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
Suggested Courses
Course of the Month13 days, 8 hours left to enroll

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question