Autor Zpráva
Bejkus
Profil *
Ahoj
Chtěl bych vás poprosit, jestli by jste mi neudělali zdroják na tohle:
Když si uživatel vybere ze selectu třeba "99 Mincí" tak se mu v mysql přičte do sloupce coins 99.
session si udělám sám potřebuji jen to zpracování do mysql.
Díky.

tady je script se selectem:
	<form action="zapsat.php" method="post">
	<table width="100%">
		<tr><td>Uzivatelske jmeno:</td><td> <input type="text" name="name" size="40"></td></tr>
		<tr><td>Castka:</td><td> <select name="type">
									<option value="10"> 10 Minci </option>
									<option value="25"> 25 Minci </option>
									<option value="50"> 50 Minci </option>
									<option value="70"> 70 Minci </option>
									<option value="99"> 99 Minci </option>
							    </select>

		</td></tr>
	</table>
	<input type="submit" value="Pridat mince">
	</form>

a script který to zapíše chci od vás.
Díky.
laijk
Profil
Bejkus:
niečo takéto??

if ($_POST['type'] == 10) {
$pocet_minci = 10;
}
elseif ($_POST['type'] == 25) {
$pocet_minci = 25;
}
elseif ($_POST['type'] == 50) {
$pocet_minci = 50;
}
elseif ($_POST['type'] == 70) {
$pocet_minci = 70;
}
elseif ($_POST['type'] == 99) {
$pocet_minci = 99;
}
$query = 'INSERT INTO tabulka
(coins)
VALUES
('. $pocet_minci. ')';
panther
Profil
laijk:
proč místo té zbytečné sady nevkládat rovnou hodnotu z pole POST do DB? Ušetřil bys téměř celý svůj kód.
Bejkus
Profil *
laijk:
Ano, ale prosím, mohl by jsi mi to dát do celého php kódu?
Děkuji
laijk
Profil
panther:
vlastne máš pravdu, akurát som musel robiť takto tak ma iné nenapadlo
Bejkus:

takto by to malo fungovať-teda dúfam, že bude

<?php
$db = mysql_connect('x', 'x', 'x') or
die('Spojenie s databázov sa nepodarilo. Skontrolujte prosím pripojenie.');
mysql_select_db('x', $db) or die(mysql_error($db));
?>
<html>
<head>
</head>
<body>

$query = 'INSERT INTO tabulka
(coins)
VALUES
('". $_POST['type']. "')';

$vysledky = mysql_query($query, $db) or die(mysql_error($db));
</body>
</html>
Bejkus
Profil *
laijk:
Hned to du vyzkoušet.
Díky Ti.
laijk
Profil
to spojenie si samozreje uprav čo je hore-chcel si celý kód tak máš
Bejkus
Profil *
laijk:
Nema to bát takto?:
<?php
$db = mysql_connect('x', 'x', 'x') or
die('Spojenie s databázov sa nepodarilo. Skontrolujte prosím pripojenie.');
mysql_select_db('x', $db) or die(mysql_error($db));
?>
<html>
<head>
</head>
<body>
<?
$query = 'INSERT INTO tabulka
(coins)
VALUES
('". $_POST['type']. "')';

$vysledky = mysql_query($query, $db) or die(mysql_error($db));
?>
</body>
</html> 

Díky ;)
Stano
Profil
Bejkus:
toto ti zapíše do DB počet mincí čo si vyberú v selecte a ty ich tuším chceš pripočítať k tým čo už v DB sú. to sa riešilo tu.
laijk
Profil
Stano:
to je pravda že keď bude chcieť pripočítať nepôjde to
Stano
Profil
laijk:
ak sa nepletiem tak tvoj kód pridá další riadok. on by potreboval skôr update. ale bez toho aby sme vedeli ako ma navrhnutú databázu môžeme len hádať. ale v podstate mu stačí aby zmenil to query a bude to fungovať.
Bejkus
Profil *
Stano:
Ano, chci je připočítat.
Právě sem to zprovoznil, ale fakt se to nepřipočítává,...
Jinak díky Stano za odkaz.
laijk
Profil
Bejkus:
ak by si chcel aby ti to pripočítavalo tak nejak takto by to malo vyzerať:

$query = 'UPDATE tabulka SET
coins = coins + '. $_POST['type'];

$vysledky = mysql_query($query, $db) or die(mysql_error($db));
laijk
Profil
aha vlastne máte pravdu, toto nepíš lebo ti to prepíše všetky riadky v stĺpci coins, prepáčte, musel by si napísať ako vyzerá tvoja tabulka
Tori
Profil
Bejkus:
Když si uživatel vybere ze selectu třeba "99 Mincí" tak se mu v mysql přičte do sloupce coins 99.
A do kterého řádku se to má přičíst? Předpokládám, že každý řádek má nějaké ID (možná ID uživatele?), a to musíte odněkud zjistit - aby se pokaždé použilo ID právě přihlášeného uživatele. Další možnost je skryté formulářové pole, kam si uložíte ID cílového řádku, ale muselo by se to zabezpečit (abych třeba nezadala ID jiného uživatele a počet mincí -99, takže někomu jinému by se odečetly).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: