---
title: "Sortera upp rader i flera filer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/191193-sortera-upp-rader-i-flera-filer"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "jwradhe"
published: "2013-03-02T19:50:11.000Z"
updated: "2013-03-05T11:50:19.000Z"
replies: 3
views: 868
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/191193-sortera-upp-rader-i-flera-filer"
---

# Sortera upp rader i flera filer

## #1 — jwradhe, 2013-03-02T19:50Z

Hej! Har ett litet problem som jag fastnat lite på, har ett antal rader som jag vill dela upp på flera filer, men får inte riktigt till det i min kodning

Vi säger att det är 100 rader så får det bara bara 37 rader i varje fil som skapas, dvs cirka 4 filer eller vad det blir då, att skapa första filen är ju inga problem, men efter dom första 37 raderna, hur ser jag till att den tar efterkommande 37 och lägger i \*-fil2.csv och så vidare tills alla rader är uppdelade på rätt antal filer.

Tack på förhand!

Permalänk: https://www.webforum.nu/p/191193

## #2 — Ledel, 2013-03-04T17:53Z

Utan att vara tillräckligt duktig på PHP skulle jag göra ungefär såhär:

```
int antalPerFil = 37;
int filNamn = 1;
int nuvarandeRad = 1;
stream minFilStrom = new Stream("*-fil1.csv");

foreach (rad in rader) {
    SkrivTillFil(rad, minFilStrom);
    
    nuvarandeRad++;
    if (nuvarandeRad > antalPerFil) {
        filNamn++;
        nuvarandeRad = 1;

        minFilStrom.close();
        minFilStrom = new Stream("*-fil" . filNamn . ".csv");
    }
}

minFilStrom.close();
```

Permalänk: https://www.webforum.nu/p/2308158

## #3 — casca, 2013-03-04T18:07Z

Kan du inte posta din existerande kod, så man vet vad du har för förutsättningar? Är det en array av data eller nåt annat?

Att dela upp 100 i enheter om 37 är inte svårt, använd dig av summan genom modulus (x % 37), så kommer den att returnera 0 varje "trettiosjunde" iteration.

Permalänk: https://www.webforum.nu/p/2308160

## #4 — jwradhe, 2013-03-05T11:50Z

Idag ser koden ut såhär:

```php
		$query = mysql_query("SELECT korjournal.date, korjournal.kund_id, korjournal.kund, korjournal.postort, korjournal.start, korjournal.stop, korjournal.service_id, korjournal_users.user FROM korjournal INNER JOIN korjournal_users ON korjournal.user_id = korjournal_users.id WHERE korjournal.bil_id = ".$bil." AND korjournal.date BETWEEN '".$period."-01' AND '".$period."-31' ORDER BY stop ASC ");
		$count=mysql_num_rows($query);		
		
		$content = "";	
		while($row = mysql_fetch_Array($query)){
		
            $kund_id = "";
            $service_id = "";
			if($row["kund_id"] == "0"){
				$kund_id = "";
			} else {				
				$kund_id = $row["kund_id"];			
			}		
			
			if($row["service_id"] == "0"){
				$service_id = "";
			} else {				
				$service_id = $row["service_id"];				
			}
			
			$content. = $row["date"].",".$kund_id.",".$row["kund"].",".$row["postort"].",".$row["start"]. ",".$row["stop"].",,,".$service_id.",".$row["user"]."\n";				
			
		}

		echo "<a href='?do=home'><button>Tillbaka</button></a><br><br>";
		echo "<fieldset><legend>Generera rapport</legend>";
		
				
		
		$_file = "_journaler/".$bilnamn."_korjournal_".$period.".csv";
		if(file_exists($_file)){
			unlink ($_file);
		}
		$handle = fopen($_file, 'x+');
		fwrite($handle, $content);
		fclose($handle);
```

Och sen när den kört klart så slänger den in värdet av $content. i filen som jag öppnar.

Men vill helldre ha det så att den gör sådär med max 37 rader och sen skapar nästa fil som heter fil2.csv och fyller den med så många som finns kvar, dock max 37 osv till den är klar.

Permalänk: https://www.webforum.nu/p/2308176

---

Tråden på webben: https://www.webforum.nu/amne/php/191193-sortera-upp-rader-i-flera-filer
