---
title: "Loopen gör inte som jag vill..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/77709-loopen-gör-inte-som-jag-vill"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Patrik81"
published: "2003-05-22T06:33:15.000Z"
updated: "2003-05-25T10:56:18.000Z"
replies: 6
views: 190
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/77709-loopen-gör-inte-som-jag-vill"
---

# Loopen gör inte som jag vill...

## #1 — Patrik81, 2003-05-22T06:33Z

Hejsan, jag tänkte göra ett script där man kan lägga till inlägg, och sedan skall man kunna redigera sina egna inlägg, och jag tänkte göra något i stil med:

```php
<?php
$name = "Patrik";

if ($fp = fopen("flatfile.txt", "r")){
	
	echo("<table>\n");
	
	while (!feof($fp)){
		
		$line = fgets($fp, 1024);
		$row = explode(";", $line);
		$row['id'] = $row[0];
		$row['request'] = $row[1];
		$row['name'] = $row[2];
		
		echo("\t<tr>\n\t\t<td>".$row['id']."</td>\n\t\t<td>".$row['request']."</td>\n\t\t<td>".$row['name']."</td>\n");
		if ($row['name'] == $name){
			echo("\t\t<td><a href=\"whatever\">edit</a></td>\n\t</tr>\n\n");
		} else {
			echo("\t\t<td>&nbsp;</td>\n\t</tr>\n\n");
		}
	}

echo("</table>");

} else {

                echo("Kunde inte öppna flatfile.txt");

}
?>
```

Det skall i slutet vara fixat o donat med mysql, men ville snabbt testa om det gick, därav all den bökiga koden med textfiler och array-hantering. Men iaf. om användarnamnet (som sedan skall plockas ur en sessions variabel, är detsamma som $row\['name'\] så vill jag att scriptet skriver ut en länk i cellen efter allt det andra.
Och det stämmer nästan, scriptet skriver ut en länk på den sista raden...

flatfile.txt

```
1;glass;Patrik
2;humla;Joakim
3;blomma;Erik
4;blablabla;Patrik
```

Det är bara rad fyra som får en länk, även om både rad 1 och 4 borde få det, eller rättare sagt, det är det jag vill skall hända, men uppenbarligen klarar ju inte koden jag har slängt ihop att utföra detta.
Nån som har lust att modifiera loopen lite så att den är med på noterna?

MVH Patrik

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

## #2 — Fuel, 2003-05-22T06:40Z

Jag brukar köra med pipes \| som separator i textfilen

    $name = "Patrik";
        $fd = fopen($flatfile, "r");
        while (!feof($fd)) {
            $content = fgets( $fd, 10000);
            $stuff = explode("\|",$content);
            if ($name == $stuff\[2\]) { 
	        $class = "links1"; 
            } else { 
	        $class = "links2"; 
            }
echo "\<span class=\\"$class\\"\>$stuff\[2\]\</span\>";

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

## #3 — Patrik81, 2003-05-22T06:45Z

Verkar dock inte göra alltför mycket för att lösa mitt problem :(

MVH Patrik

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

## #4 — Fuel, 2003-05-22T07:44Z

Gahhh.. ger upp för ett tag

```php
<?php
$name = "Patrik";
$theFile = "flatfile.txt";
if (file_exists($theFile)) {
	echo "<table>\n";
	$fd = fopen($theFile, "r");
    while (!feof($fd)){
        $lines = fgets( $fd, 10000);
        $row = explode("|",$lines);
        if ($name == $row[2]){
            $extra = "<a href=\"whatever\">edit</a>";
        } else {
            $extra = "&nbsp;X&nbsp;";
        }
        echo "\t<tr>\n\t\t<td>".$row[0]."</td>\n\t\t<td>".$row[1]."</td>\n\t\t<td>".$row[2]."</td>\n\t\t<td>$extra</td>\n\t</tr>\n\n";
    }
    echo "</table>";
} else {
    echo "Kunde inte öppna filen";
}
?>
```

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

## #5 — Patrik81, 2003-05-22T08:17Z

Hummms, det verkar som om scriptet bara tar och kör if-satsen på sista raden, dvs bara kollar om den sista (innan feof) har ett namn som stämmer överrens, för om jag sätter $name till något annat, typ Erik (rad 3) så hittar scriptet inget alls som den sätter länk på... :(

MVH Patrik

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

## #6 — Patrik81, 2003-05-22T12:40Z

Ingen som är bra på while-slingor kombinerat med if-satser?

Har inte lyckats lösa det själv än, och sitter typ helt fast.

MVH Patrik

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

## #7 — Patrik81, 2003-05-25T10:56Z

Hehe, nu känner jag mig bra dum...
Jag skrev denna snabb-kod för att testa om det gick att göra, men fick då använda mig utav en while loop för att få det att funka med textfilen... i databas loopen använder jag mig utav en for-loop, och där fungerade det utmärkt... \*doh\*

Tack ändå för visat intresse

MVH Patrik

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

---

Tråden på webben: https://www.webforum.nu/amne/php/77709-loopen-gör-inte-som-jag-vill
