Lägga till ett värde.

PHP

22 svar · 281 visningar · startad av Rödalacket

Medlem sedan feb. 20002 612 inlägg
Trådstart#1

Rubriken är lite missvisande men jag skulle vilja lägga till ett värde till ett redan existerande värde i en tabell.

Inte lägga till på så sett att det adderas, det har jag redan löst :), utan det skall stå 123,456.

Om jag har 123 i tabellen och skriver in 456 i formuläret så skall resultatet bli 123,456.

Hur löser jag det?

Hade fler frågor på lager men kommer inte på dom nu så jag åter kommer med dom senare.. :)

Medlem sedan jan. 20007 697 inlägg
#2

Om jag har 123 i tabellen och skriver in 456 i formuläret så skall resultatet bli 123,456

$tal1 = "123";
$tal2 = "456";
$tal3 = $tal1 . "," . $tal2;

Medlem sedan feb. 20002 612 inlägg
#3

Så här har jag gjort för att addera ett värde till ett värde i tabellen.

mysql_query("UPDATE variabel  SET variabel=$sVariabel+variabel", $dl);

Går det inte att lösa på något sådant sett?

------------------
www.lns.nu

Medlem sedan aug. 200021 inlägg
#4

I sådana fall borde du göra så här...

mysql_query("UPDATE variabel SET variabel='".($sVariabel+variabel)."'", $dl);

/Staffan

Medlem sedan jan. 20007 697 inlägg
#5

Kan du inte göra som jag gjorde tidigare och först skapa det nya värdet och sen bara uppdatera tabellen?

$tal1 = "123";
$tal2 = "456";
$tal3 = $tal1 . "," . $tal2;

mysql_query ( "UPDATE variabel SET variabel='$tal3'");

Går inte det?

Medlem sedan feb. 20002 612 inlägg
#6

Frofro´s lösning fick jag inte att funka..fick värdet noll från början och värdet lags inte till utan det blev bara det nya värdet :(

Kim
Kanske en dum fråga men när man matar in det värdet som skall läggas till i textfältet och trycker på submit knappen så är det bara värdet i textfältet som skickas.
Hur skall jag skicka iväg $tal3 till tabellen?

------------------
www.lns.nu

Medlem sedan jan. 20007 697 inlägg
#7

Nu förstår jag inte riktigt.
Ändrar den inte värdet i tabellen?

Medlem sedan feb. 20002 612 inlägg
#8

Hmmm...vet inte riktigt hur jag skall förklara.
Om du kollar på http://www.lns.nu/PHP/getvar_add2.php
så ser du att det står ett tal där.
När man knappar in ett nytt värde i rutan Värde så skall det läggas till till det värdet som står där så jag beskrev förut.

------------------
www.lns.nu

Medlem sedan jan. 20007 697 inlägg
#9

Ska värdet som skrivs in i rutan adderas med det värde som redan står där? :q

Medlem sedan feb. 20002 612 inlägg
#10

Jag såg att du var där :)

Ja det är riktigt.
Står det 121 och man skriver in 100 så skall sidan uppdateras och det skall stå 121,100

------------------
www.lns.nu

Medlem sedan jan. 20007 697 inlägg
#11

Men vad händer nu egentligen? Det hände ju inget vettigt när jag skrev in tal där.

I alla fall, om det står 121,100 och jag skriver in 87. Ska det då bli 121,100,87?

Medlem sedan feb. 20002 612 inlägg
#12

Ja det är riktigt, det är det jag vill komma åt.
Som det är nu så läggs värdet till, adderas, till det värdet som står där.
Står det 121 och du knappar in 100 så blir resultatet 221.

------------------
www.lns.nu

Medlem sedan jan. 20007 697 inlägg
#13

Det är nog så här att den behandlar talen som just tal. Jag vet inte om man kan göra så här, men jag chansar lite.

(char)$tal1 = "123";
(char)$tal2 = "456";
(char)$tal3 = $tal1 . "," . $tal2;
mysql_query ( "UPDATE variabel SET variabel='$tal3'");
Medlem sedan dec. 200012 464 inlägg
#14

Du kan använda funktionen CONCAT i mysql.

  update ogrish set aleb = concat(aleb,'123') where id = 4711

Jag kan för lite PHP för att ge mig på alla $ och fnuttar hit och dit. :h

Medlem sedan feb. 20002 612 inlägg
#15

Kim:
Då är vi där igen.....
Om $tal1 är det värde som redan står där och $tal2 är det värde man knappar in i textfältet då är det $tal2 som skickas.
Hur får jag formuläret att förstå att det är $tal3 som skall skickas till tabellen?

------------------
www.lns.nu

Medlem sedan feb. 20002 612 inlägg
#16

LarsG:
Jag skall undersöka CONCAT lite mer.. :)

------------------
www.lns.nu

Medlem sedan feb. 20002 612 inlägg
#17

Här kommer en liten lösning på det hela om det är någon som skulle vara intresserad.
Det funkar men om det är den bästa lösningen vet jag inte men som sagt var ...det funkar

$dr = mysql_query("UPDATE variabel SET variabel=CONCAT_WS(',',variabel,'$sVariabel')", $dl);

------------------
www.lns.nu

Medlem sedan jan. 20001 006 inlägg
#18

Jag har allmänt tråkigt.. ;)

Inte så snyggt kanske men det fungerar.

<?
$dbcon = mysql_connect ("localhost", "user", "pass")
		OR DIE ("Nej det gick inte..");
mysql_select_db ("test", $dbcon);

$query = mysql_query ("SELECT * FROM test");

if (isset ($value)) {

while ($row = mysql_fetch_array ($query)) {
	$test = $row[test];
	}
$new_value = $test.",".$value;
mysql_query ("UPDATE test SET test='$new_value'");
echo $new_value;

} else {

while ($row = mysql_fetch_array ($query)) {
	echo "$row[test]";
	}

}

echo <<<END
<br><br><br>
<form action="$PHP_SELF">
<input type="text" name="value"><br>
<input type="submit" name="submit">
</form>
END;
?>

/j

Medlem sedan feb. 20002 612 inlägg
#19

En liten fråga...Vad gör/är PHP_SELF?

------------------
www.lns.nu

Medlem sedan jan. 20001 006 inlägg
#20

Det är en fördefinierad variabel..

"PHP_SELF: The filename of the currently executing script, relative to the document root."
http://www.php.net/manual/en/language.variables.predefined.php

/j

265 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)