---
title: "Dela en sträng i 2 delar, ändra ena delen och sätta tillbaka till en???!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/180461-dela-en-sträng-i-2-delar-ändra-ena-delen-och-sätta-tillbaka-till-en"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Smurfina"
published: "2009-09-28T10:39:33.000Z"
updated: "2009-09-28T20:06:28.000Z"
replies: 9
views: 550
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/180461-dela-en-sträng-i-2-delar-ändra-ena-delen-och-sätta-tillbaka-till-en"
---

# Dela en sträng i 2 delar, ändra ena delen och sätta tillbaka till en???!

## #1 — Smurfina, 2009-09-28T10:39Z

Är det någon som kan hjälpa mig?
Jag vill plocka upp ett internt OrderNr från en mySQL databas till en php-sida, och öka det största OrderNr med 1.
När jag har kört min query har $RCOrderNr värdet 401. Problemet är att nummerserien för OrderNr alltid ska börja med 40 och därefter ska ett löpande nummer läggas på.

På något sätt måste jag plocka sönder $RCOrderNr för att se vilka siffror som kommer efter 40 och sedan öka den siffran med 1 och plocka ihop allt i en ny variabel som kan läggas in i databasen, eller??! Hur??!

Jag bifogar koden som jag använder för att plocka upp det största RCOrderNr.

$query_RCOrderNR = "SELECT MAX( extra_RCOrderNr ) FROM web_entry";
$RCOrderNr = mysql_query($query_RCOrderNR) or die("Failed to get RCOrderNr");
			 
Vore väldigt tacksam för tips hur jag kan få till resten av koden!

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

## #2 — fiddler, 2009-09-28T10:51Z

```php
<?
	function lopnr_inc($a)
	{
		$lopnr = "40".(substr($a,2) + 1);
		return $lopnr;
	}
	
	$lopnummer = 40338;
	$nytt_lopnummer = lopnr_inc("$lopnummer");
	print $nytt_lopnummer; //Ger 40339
?>
```

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

## #3 — Smurfina, 2009-09-28T12:50Z

> **[fiddler skrev:](https://www.webforum.nu/p/1482186)**
>
> ```php
> <?
> 	function lopnr_inc($a)
> 	{
> 		$lopnr = "40".(substr($a,2) + 1);
> 		return $lopnr;
> 	}
> 	
> 	$lopnummer = 40338;
> 	$nytt_lopnummer = lopnr_inc("$lopnummer");
> 	print $nytt_lopnummer; //Ger 40339
> ?>
> ```

Jag får inte RCOrderNr till att öka med 1. Jag använder din funktion... Kan någon se vad som är felet?
Här är koden:

$query_RCOrderNR = "SELECT MAX( extra_RCOrderNr ) FROM web_entry";
$RCOrderNr = mysql_query($query_RCOrderNR) or die("Misslyckades att hämta det största RCOrderNr");
			 
function lopnr_inc($a)
{
	$lopnr = "40".(substr($a,2) + 1);
	return $lopnr;
}
		
$nytt_lopnummer = lopnr_inc("$RCOrderNr");
print $nytt_lopnummer; //Ger RCOrderNr + 1

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

## #4 — fiddler, 2009-09-28T13:30Z

Vad är $RCOrderNr från början och vad skrivs ut?

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

## #5 — Smurfina, 2009-09-28T14:13Z

> **[fiddler skrev:](https://www.webforum.nu/p/1482198)**
>
> Vad är $RCOrderNr från början och vad skrivs ut?

Från början är RCOrderNr 402. Och 401 skrivs ut!

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

## #6 — fiddler, 2009-09-28T14:28Z

Vad märkligt. 401 får du om variabeln är tom eller har färre siffror än tre...

Testade du exemplet jag hade med 40338?

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

## #7 — Smurfina, 2009-09-28T14:44Z

> **[fiddler skrev:](https://www.webforum.nu/p/1482203)**
>
> Vad märkligt. 401 får du om variabeln är tom eller har färre siffror än tre...
> 
> Testade du exemplet jag hade med 40338?

Jag bytte ut 402 i databasen till 40338. Men får fortfarande 401 från funktionen. Om jag kör sql-queryn för sig får jag det högsta värdet tillbaka (alltså 40338), så queryn funkar. Vad har jag missat? Något förslag?

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

## #8 — metalboy, 2009-09-28T14:51Z

mysql_query() returnerar inget värde från databasen. Du måste använda mysql_result() / mysql_fetch_assoc() eller liknande funktion för att få fram värdet.

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

## #9 — Smurfina, 2009-09-28T16:48Z

> **[metalboy skrev:](https://www.webforum.nu/p/1482205)**
>
> mysql_query() returnerar inget värde från databasen. Du måste använda mysql_result() / mysql_fetch_assoc() eller liknande funktion för att få fram värdet.

Tack! Det var det som var problemet! Nu fungerar fiddlers funktion precis som den ska! Stort tack för hjälpen!

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

## #10 — fiddler, 2009-09-28T20:06Z

Vabra!!  :)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/180461-dela-en-sträng-i-2-delar-ändra-ena-delen-och-sätta-tillbaka-till-en
