---
title: "en while.. ??"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/15603-en-while"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Niklasson"
published: "2001-05-10T16:42:00.000Z"
updated: "2001-05-10T21:08:00.000Z"
replies: 6
views: 216
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/15603-en-while"
---

# en while.. ??

## #1 — Niklasson, 2001-05-10T16:42Z

Vad är fel?

```

<?
mysql_connect ("$server","$anvandare","$losen");
mysql_select_db ("$databas");
$query = "SELECT FROM forum WHERE ref_id = 0 ORDER BY datum DESC LIMIT $antal";
$resultat = mysql_query($query);
	if (!$resultat)
	{
	echo "<table border=\"0\" cellpadding=\"2\">\n";
	echo "<tr>\n";
	echo "   <td><p><b>Det finns inga inlägg i forumet ännu.</b></td>\n";
	}
	else
	{
	echo "<table border=\"0\" cellpadding=\"2\">
	  <tr>
	   <td>&nbsp;</td>
	   <td><b>Rubrik</b></td>
	   <td><b>Skrivet av</b></td>
	   <td><b>Datum</b></td>
	   <td><b>Svar</b></td>
	</tr>\n";
		while ($s=mysql_fetch_array($result))
		{
		$posted_by = $s["posted_by"];
		$email = $s["email"];
		$subject = $s["subject"];
		$text = $s["text"];
		$id = $s["id"];
		$ref_id = $s["ref_id"];
		$datum = $s["datum"];
	$raknasvar = mysql_num_rows(mysql_query("SELECT * FROM forum WHERE ref_id = $id"));
	mysql_query("$raknasvar");
	echo "<tr>\n";
	echo "   <td><a href=\"response.php?id=$id\">$subject</a></td>\n";
	echo "   <td>$posted_by</td><td>$datum</td>\n";
	echo "   <td align=\"middle\">$raknasvar</td>\n";
	}
mysql_close();
}
echo "</tr>\n</table>\n";
?>
```

Först och främst så får jag fel i if-satsen. Det finns ett id i databasen, men ändå vill scriptet visa "Det finns inga inlägg i forumet ännu.".

När jag byter if och else-koderna så dår jag felmeddelande på raden while ($s=mysql_fetch_array($result))

Felet ligger säkert framför ögonen på mig, men jag ser det inte..   x(

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

## #2 — LarsG, 2001-05-10T16:51Z

Här är ett fel.

```

$query = "SELECT FROM forum WHERE ref_id = 0 ORDER BY datum DESC LIMIT $antal";
```

select \* from forum t.ex.

(Du kan ju lägga in lite felchecker med anrop till mysql_error.)

red: Felstavning

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

## #3 — Niklasson, 2001-05-10T20:08Z

Man behöver inte skriva SELECT \* FROM forum. Det räcker med SELECT FROM forum.

Jag får inga felmeddelanden i mysql-raderna i början trots att jag skrivit tex $resultat = mysql_query($query) or die ("query-fel");

Det är något skumt, men jag vet inte vad.

Och varför fungerar inte while-satsen? Jag har en nästan identisk på en annan sida som fungerar..  x(

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

## #4 — LarsG, 2001-05-10T20:32Z

```
$resultat = mysql_query($query);
...
while ($s=mysql_fetch_array($result))
```

resultat i ena och result i andra

OT:
Det där med select from är mysqls påfund då, jag blir ganska irriterad av att dom lägger till onödiga standardavvikelser i sin SQL.

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

## #5 — Niklasson, 2001-05-10T20:42Z

Bra. Nu fungerar while, men detta fungerar fortfarande inte:

```
mysql_connect ("$server","$anvandare","$losen");
mysql_select_db ("$databas");
$query = "SELECT * FROM forum WHERE ref_id = 0 ORDER BY datum DESC LIMIT $antal";
$result = mysql_query($query);
	if (!$result)
	{
	Skriver att det inte finns någon post.
	}
	else
	{
	Visa alla poster med ovanstående while-sats..
	}
```

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

## #6 — SPiN, 2001-05-10T20:59Z

$result kommer alltid att existera, antingen i form av en sträng eller array har jag för mig. Prova istället med:
if(mysql_affected_rows() == 0) echo "Inga poster";

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

## #7 — Niklasson, 2001-05-10T21:08Z

Mycket bättre. Tackar!!

Kolla gärna min andra tråd också:  <http://cgi.webforum.nu/wf/Forum12/HTML/001151.html>

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

---

Tråden på webben: https://www.webforum.nu/amne/php/15603-en-while
