---
title: "Ändra antal mot limit"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/97992-ändra-antal-mot-limit"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Melea"
published: "2004-02-22T18:23:57.000Z"
updated: "2004-02-29T13:43:58.000Z"
replies: 8
views: 292
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/97992-ändra-antal-mot-limit"
---

# Ändra antal mot limit

## #1 — Melea, 2004-02-22T18:23Z

Kom inte på någon direkt bra rubrik så får förklara mig här istället.
Har en kod som loopar ut alla datum där det finns några nyheter i och sen skriver ut nyheterna under dessa datum. Nu måste jag ändra antalet dagar den ska söka bakåt i tiden efter nyheter för att få fram de riktigt gamla. För om man inte skriver en nyhet på kanske 2 veckor finns det inga i nyhetslistan. Jag vill alltså byta ut antalet dagar mot en limit 14 eller liknande. This is how it looks

```
<?
echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">";

	for ($i = 0; $i <= 50 ; $i++){

	   $t = 60*60*24*$i;
  	   $datum1a = date("Y-m-", date("U") -$t);
 	   $datum1b = date("d", date("U") -$t);
  	   $datum1c = $datum1a.$datum1b;

  	   $datum1aa = date("l", date("U") -$t);
 	   $datum1bb = date(" jS", date("U") -$t);
  	   $datum1cc = $datum1aa.$datum1bb;

  	   $SQL = mysql_query("SELECT * FROM teamswe_news where datum_short = '$datum1c' order by id desc") or die (mysql_error());

			if (mysql_num_rows($SQL) <> 0) {

			echo "<tr><td style=\"color: #FFFFFF; font-weight: bold;\">".$datum1cc."</td></tr><tr>";

			while($objRS = mysql_fetch_array($SQL)) {

			$SQL2 = mysql_query("SELECT Count(*) AS iCount FROM teamswe_newscom where newsid = $objRS[id]") or die (mysql_error());
			$objM = mysql_fetch_array($SQL2);
?>

<td class="menu_left_topic">(<?=$objM[iCount]?>) <a href="index.php?show=news&id=<?=$objRS['id']?>">
<?
    $tecken = 27;
    $str = $objRS['rubrik'];
    $strLenen = strlen($str);

    if ($strLenen > $tecken) {
        $str = substr($str,0,($tecken-3));
        echo " ".$str."...";
    } else {
        echo $str;
    }
?>
</a></td>
</tr><tr>

<?
			} // If satsen som kollar om det finns några poster slutar här
		} // Loopen slutar här
	} // For satsen slutar här

echo "</table>";
?>
```

Tack på förhand
Mvh

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

## #2 — joakimbr, 2004-02-28T08:08Z

pröva att ange "SELECT TOP 5 \*" i sql-strängen istället, då returneras de övre fem (eller färre om det inte finns fler) raderna, baserat på de villkor som du ställer upp. 
med WHERE kan du sedan enkelt begränsa hur gammal nyheten får vara.

//jocke

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

## #3 — @nders, 2004-02-28T08:26Z

> **joakimbr skrev:**
>
> pröva att ange "SELECT TOP 5 \*" i sql-strängen istället, då returneras de övre fem (eller färre om det inte finns fler) raderna, baserat på de villkor som du ställer upp. 
> med WHERE kan du sedan enkelt begränsa hur gammal nyheten får vara.
> 
> //jocke

TOP används inte i MySQL, utan i MySQL använder man LIMIT, som Melea skriver. 

Tyvärr kan jag inte hjälpa till med ursprungsfrågan.

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

## #4 — Matte, 2004-02-28T10:12Z

```
SELECT * FROM teamswe_news ORDER BY id DESC LIMIT 14
```

Bör ge dig de 14 senaste posterna.

Om du har en datum/tid-kolumn bör du använda denna istället för id att sortera mot.

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

## #5 — Melea, 2004-02-28T18:24Z

Koden ovanför skriver ut

```
[b]Fredag 14 Januari[/b]
Välkommen till sidan
Jonas vann SM i dator!
[b]Måndag 17 Januari[/b]
wF får pris i blabla
```

Fast den skriver ut de nyheterna som är 50 eller mindre dagar gamla (for ($i = 0; $i \<= **50** ; $i++){). Det jag vill göra är att bygga om koden så den skriver ut de 14 senaste men ändå med samma system som **Måndag 17 Januari** osv...

Har 2 st datumkolumner, en med datetime **2004-02-28 13:41:02** och en varchar som sparar **Friday 12th December**

Tips någon? :)

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

## #6 — Matte, 2004-02-29T12:44Z

Vad har du for-satsen till ?

Testa något på det här hållet:

```php
<?php

echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">";

$sql = "SELECT * FROM teamswe_news ORDER BY id DESC LIMIT 14";
$SQL = mysql_query($sql);

while($objRS = mysql_fetch_array($SQL)) {

    echo "<tr>\n<td style=\"color: #FFFFFF; font-weight: bold;\">
          {$objRS['kolumnnamn_datum_text']}</td>\n</tr>";

    $sql = "SELECT Count(*) AS iCount FROM teamswe_newscom 
           WHERE newsid = $objRS[id]";
    $SQL2 = mysql_query($sql) or die (mysql_error());
    $objM = mysql_fetch_array($SQL2);
    
    echo "<tr>\n<td class=\"menu_left_topic\">({$objM['iCount']})
          <a href=\"index.php?show=news&id={$objRS['id']}\">\n";

    $tecken = 27;
    $str = $objRS['rubrik'];
    $strLenen = strlen($str);

    if ($strLenen > $tecken) {
        $str = substr($str,0,($tecken-3));
        echo " ".$str."...";
    } else {
        echo $str;
    }
    
    echo "</a></td>\n</tr>\n";

}

echo "</table>";

?>
```

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

## #7 — Melea, 2004-02-29T12:52Z

Weho! Funkar halvt som halvt... problemet är att den skriver ut:

```
[b]Monday 9th February[/b] 
(7) SWE.bw lost to Canada 
[b]Monday 9th February [/b]
(5) Sweden gets support! 
[b]Monday 9th February [/b]
(0) Inferno Online - Tours
```

Istället för 

```
[b]Monday 9th February[/b]
(7) SWE.bw lost to Canada
(5) Sweden gets support! 
(0) Inferno Online - Tours
```

 :OO

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

## #8 — Matte, 2004-02-29T13:15Z

Testa det här då:

```php
<?php

echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">";

$sql = "SELECT * FROM teamswe_news ORDER BY id DESC LIMIT 14";
$SQL = mysql_query($sql);

$headline = '';

while($objRS = mysql_fetch_array($SQL)) {

    if ($headline != $objRS['kolumnnamn_datum_text']) {

        $headline = $objRS['kolumnnamn_datum_text']

        echo "<tr>\n<td style=\"color: #FFFFFF; font-weight: bold;\">
              $headline \n</td>\n</tr>\n";

    }

    $sql = "SELECT Count(*) AS iCount FROM teamswe_newscom 
           WHERE newsid = $objRS[id]";
    $SQL2 = mysql_query($sql) or die (mysql_error());
    $objM = mysql_fetch_array($SQL2);
    
    echo "<tr>\n<td class=\"menu_left_topic\">({$objM['iCount']})
          <a href=\"index.php?show=news&id={$objRS['id']}\">\n";

    $tecken = 27;
    $str = $objRS['rubrik'];
    $strLenen = strlen($str);

    if ($strLenen > $tecken) {
        $str = substr($str,0,($tecken-3));
        echo " ".$str."...";
    } else {
        echo $str;
    }
    
    echo "</a></td>\n</tr>\n";

}

echo "</table>";

?>
```

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

## #9 — Melea, 2004-02-29T13:43Z

Ja där ser man, älskar verkligen wF! ;)

Tack så hemskt mkt

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

---

Tråden på webben: https://www.webforum.nu/amne/php/97992-ändra-antal-mot-limit
