---
title: "mellanslaget reggas inte"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/153775-mellanslaget-reggas-inte"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "bmw_m5"
published: "2006-11-14T22:03:56.000Z"
updated: "2006-11-18T17:54:31.000Z"
replies: 15
views: 803
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/153775-mellanslaget-reggas-inte"
---

# mellanslaget reggas inte

## #1 — bmw_m5, 2006-11-14T22:03Z

**hej**

Har ett annons script som jag fått, och ja kan inte så mkt på php,.. så om ni kunde förklara lite mera än vanligt skulle ja vara tacksam,.. skriptet använder databas mysql.

okey nu till frågan,.. när man lägger in en annons o ska skriva pris med mellanslag ex. 15 000 kr,.. så syns de bara 15 kr i annonsen.. hur kan man fixa till så att mellanslaget reggas..??.. skrivar man ex 15000 kr så syns de 15000 kr.

En till fråga,.. hur kan man begränsa begränsa visning av produkt informationen som syns när man listar alla annonser,.. asså när man söker så kommer alla annonser fram o lite information om varje annons,.. men nu vill ja inte att om personen skrivit en hel bok i sin information beteckning ska visa allt, för då förstörs tabell strukturen o designen,.. om man kunde begransä infot till 20 tecken elr nåt.. typ en mycket fin bord till salu,.. ska visas typ.. en mycket fin,.. sen inge mer.. ?? hoppas ni förstod.

Tacksam för era svar.

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

## #2 — TheMagnus, 2006-11-15T09:49Z

Ok, då har vi tre alternativ på första frågan. :)
1a: Plocka ut väsentlig kod så ska vi se vad det är som behöver fixas.
1b: Fråga personen du fick koden av.
1c: Ge oss hela skriptet om du inte vet vilken kod som är väsentlig.

2: Det finns en del exempel i forumet om du testar att söka lite. Annars fungerar det på följande sätt:

```php
<?php
$text = 'Detta är en text som är för lång och som ska kortas av efter 20 tecken.';
$nytext = (strlen($text) > 20)? substr($text, 0, 20).'…': $text;
echo $nytext;
?>
```

Ett alternativ är annars att skriva ut ett visst antal ord istället, t.ex. 8 ord:

```php
$text = 'Detta är en text som är för lång och som ska kortas av efter 8 ord.';
$wrds = explode(' ', $text);
if(count($wrds) > 8){
  $nytext = '';
  for($i = 0; $i < 8; $i++) {
    $nytext .= $wrds[$i].' ';
  }
  $nytext = $nytext.'…';
} else {
  $nytext = $text;
}
echo $nytext;
```

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

## #3 — tronez, 2006-11-15T11:51Z

<http://se2.php.net/manual/sv/function.number-format.php>

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

## #4 — Gislaved, 2006-11-15T12:44Z

> när man lägger in en annons o ska skriva pris med mellanslag ex. 15 000 kr,.. så syns de bara 15 kr i annonsen.. hur kan man fixa till så att mellanslaget reggas..??.. skrivar man ex 15000 kr så syns de 15000 kr.

Det låter som om du lagrar priset som ett heltal (int) i databasen. Antingen får du formatera om datumet innan du skickar det till databasen, eller så får du ändra i databasen så att du jobbar mot exempelvis ett varchar-fält, då kommer även andra tecken än siffror sparas.

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

## #5 — bmw_m5, 2006-11-15T19:16Z

tack för hjälpen TheMagnus, problem 2 är löst nu..:D

ska försöka skriva in koden här,..kör ett formulär i add.php.. som e kopplad till addaction.php

i add.php standard formulär 
\<input name="pris" type="text" id="pris"\>

och i addaction.php

\<?php
$pris = $\_POST\["pris"\];

$link = mysql_connect("xxx.xxx.se", "xxx", "xxx") or die("Could not connect: " . mysql_error());
mysql_select_db("xxx", $link);
mysql_query("INSERT INTO ad (
			pris)
                        VALUES (	
          		'$pris');");
$latestId = mysql_insert_id($link);
mysql_close($link);

tror de va den väsentlig koden.. va ska man bröva ändra för att fixa problemet..??

ps.. kolla i databasen o den verkar köra int

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

## #6 — @nders, 2006-11-15T19:20Z

En idé är att använda [str_replace()](http://se2.php.net/manual/sv/function.str-replace.php) för att göra sig av med mellanslagen.

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

## #7 — bmw_m5, 2006-11-15T20:38Z

> **@nders skrev:**
>
> En idé är att använda [str_replace()](http://se2.php.net/manual/sv/function.str-replace.php) för att göra sig av med mellanslagen.

vart ska man lägga in de i koden..??

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

## #8 — TheMagnus, 2006-11-16T16:18Z

```php
<?php
$pris = str_replace(' ', '', $_POST['pris']);

$link = mysql_connect("xxx.xxx.se", "xxx", "xxx") or die("Could not connect: " . mysql_error());
mysql_select_db("xxx", $link);
mysql_query("INSERT INTO ad (pris) VALUES ('$pris');");
$latestId = mysql_insert_id($link);
?>
```

Läs mer om str_replace() här: <http://www.php.net/str_replace>

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

## #9 — bmw_m5, 2006-11-16T17:56Z

jag lagt in den nu

$pris = str_replace(' ', '', $\_POST\['pris'\]);

men den visar fortfarande samma som förrut,.. asså 15 o inte 15 000

kollar i databasen.. o där står de samma sak asså endast de som stod förre mellanslaget,..??
de står  decimal(10,0) under typ på tabellen vid pris i databasen kan de bero på de..?.

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

## #10 — Gislaved, 2006-11-16T18:17Z

Det där påverkar bara framtida poster i databasen, inte de befintliga.

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

## #11 — bmw_m5, 2006-11-16T18:27Z

mmm ja testar ju o lägga in test annonser o sen läser vad som blev skrivet i databasen,.. o de är samma sak.. vrf kan man inte skriva in i databasen med mellansag..??

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

## #12 — @nders, 2006-11-17T04:33Z

> vrf kan man inte skriva in i databasen med mellansag..??

Om vrf betyder varför så är det helt enkelt så att det inte finns några tal med mellanslag, precis som det inte finns några heltal som börjar på noll. Heltal skrivs ex. 15000, decimaltal 15000.1 (alltid punkt när man pratar SQL).

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

## #13 — bmw_m5, 2006-11-17T19:53Z

ok.. men hur ska man gå till  väga för att få ett tal med mellanslag i databasen..? 
typ 15 000 kr.. istället för 15000 kr..??

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

## #14 — Pedda, 2006-11-17T23:37Z

Som Gislaved redan har skrivit. Ändra databasfältet från int till varchar.

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

## #15 — TheMagnus, 2006-11-18T09:19Z

Ett mycket hett tips är att köra på int i databasen och istället formatera beloppet med [number_format()](http://www.php.net/number_format)  vid utskrift istället.

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

## #16 — bmw_m5, 2006-11-18T17:54Z

testa det som gislaved om varchar-fältet.. o e fungerar bra nu..:D... tack för eran hjälp..!!

hur ska jag nu avsluta denna tråd som avklarad..??

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

---

Tråden på webben: https://www.webforum.nu/amne/php/153775-mellanslaget-reggas-inte
