---
title: "Avbryta while-slinga?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/173269-avbryta-while-slinga"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Skogiz"
published: "2008-08-10T17:36:53.000Z"
updated: "2008-08-10T18:02:57.000Z"
replies: 2
views: 433
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/173269-avbryta-while-slinga"
---

# Avbryta while-slinga?

## #1 — Skogiz, 2008-08-10T17:36Z

Håller på med ett script som ska lista nyhetsartiklar. Meningen är att man ska kunna skriva ett datum sist i artikeln och på så sätt skriva artikeln och få den publicerad när datumet väl är rätt. DVS artikeln ska inte publiceras om datumet i artikeln är längre fram än dagens datum.

Problemet uppstår om datumet är dagens datum eller äldre (alltså ELSE-delen körs) för då visar den ju alla postar. Den ska bara visa en post om ELSE-delen körs.

Hoppas ni är med på hur jag menar.

Om datumet i artikeln är före dagens datum visas inte texten och nästa post visas men om datumet är dagens datum eller äldre ska endast 1 post visas.
Hur löser man detta på bästa sätt?

```php
while ($rad = mysql_fetch_array ($data))
{

   $texten = $rad["pagetext"];
   $rest = substr("$texten", -10); // kollar de 10 sista tecknen
   $jerrysdatum = strtotime("$rest");
   $dagensdatum = time();
   IF ($dagensdatum < $jerrysdatum)
   {
   print ""; 
   print "<br>";
   }
      else
      {
         print "<br>";
         print "<b>";
         print $rad["title"] ;
         print "</b>";
         print "<br>";
         print nl2br($rad["pagetext"]);
      }
}
?>
```

Tack på förhand

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

## #2 — stevenet, 2008-08-10T17:45Z

> **Skogiz skrev:**
>
> ```php
> while ($rad = mysql_fetch_array ($data))
> {
> 
>    $texten = $rad["pagetext"];
>    $rest = substr("$texten", -10); // kollar de 10 sista tecknen
>    $jerrysdatum = strtotime("$rest");
>    $dagensdatum = time();
>    IF ($dagensdatum < $jerrysdatum)
>    {
>    print ""; 
>    print "<br>";
>    }
> elseif (date("Y-m-d", $dagensdatum)==date("Y-m-d", $jerrysdatum) OR $dagensdatum > $jerrysdatum) {
>          print "<br>";
>          print "<b>";
>          print $rad["title"] ;
>          print "</b>";
>          print "<br>";
>          print nl2br($rad["pagetext"]);
> break;
> }
>       else
>       {
>          print "<br>";
>          print "<b>";
>          print $rad["title"] ;
>          print "</b>";
>          print "<br>";
>          print nl2br($rad["pagetext"]);
>       }
> }
> ?>
> ```

Något åt det hållet du menar?

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

## #3 — Skogiz, 2008-08-10T18:02Z

Exakt!

Toppen! Tack för hjälpen!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/173269-avbryta-while-slinga
