Запис в базата

ventsi_konov

Registered
Код:
<form action="" method="post">
<select name="vid" size="1">
<option>Бял амур</option>
<option>Черен амур</option>
<option>Белоглазка</option>
<option>Белуга</option>
</select>
<input type="text" name="grama" value="grama">
<input type="text" name="user" value="user">
<input type="submit" name="submit">
</form>

<?php 
include('config.php');
if($_POST['submit']){
$grama = $_POST['grama'];
$user = $_POST['user'];
$vid = $_POST['vid'];

if($vid == "Бял амур"){
$table = "bqlamur";
}
$query = 'SELECT * FROM '.$table.'';
$result = mysql_query($query);
$row = mysql_fetch_array($result) or die('ko');
if($grama > $row['grama']){
$update = "UPDATE $table SET name='$user' and grama='$grama' where id='1';";
mysql_query($update);
echo 'promeneno';
}
else {
echo 'ne e promeneno';
}
}
?>

Не мога да разбера защо този код по-горе не иска да пише в базата. Ето я и нея:
Код:
CREATE TABLE `bqlamur` (
  `id` int(11) NOT NULL auto_increment,
  `grama` int(11) NOT NULL,
  `user` varchar(60) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;
 

INSERT INTO `bqlamur` VALUES (1, 0, 'name');


CREATE TABLE `cherenamur` (
  `id` varchar(1) collate latin1_general_ci NOT NULL default '1',
  `grama` varchar(10) collate latin1_general_ci NOT NULL default '0',
  `user` text collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Предполагам че грешката е в базата. Моля ви помогнете да го оправя. Благодаря предварително.
 
ventsi_konov каза:
Код:
<form action="" method="post">
<select name="vid" size="1">
<option>Бял амур</option>
<option>Черен амур</option>
<option>Белоглазка</option>
<option>Белуга</option>
</select>
<input type="text" name="grama" value="grama">
<input type="text" name="user" value="user">
<input type="submit" name="submit">
</form>

<?php 
include('config.php');
if($_POST['submit']){
$grama = $_POST['grama'];
$user = $_POST['user'];
$vid = $_POST['vid'];

if($vid == "Бял амур"){
$table = "bqlamur";
}
$query = 'SELECT * FROM '.$table.'';
$result = mysql_query($query);
$row = mysql_fetch_array($result) or die('ko');
if($grama > $row['grama']){
$update = "UPDATE $table SET name='$user' and grama='$grama' where id='1';";
mysql_query($update);
echo 'promeneno';
}
else {
echo 'ne e promeneno';
}
}
?>
къде си написал, че трябва да прави запис ?
 
Извинявам се не се изразих правилно. ето това :
Код:
UPDATE $table SET name='$user' and grama='$grama' where id='1';
Не иска да промени нищо. Имам само един ред. Мъчих се и с ИД както се вижда но не става.
 
една грешка:

от

$update = "UPDATE $table SET name='$user' and grama='$grama' where id='1';";

на

$update = "UPDATE $table SET name='$user', grama='$grama' where id='1'";

и сложи си на всички mysql_query() едно or die(mysql_error());
примерно:
mysql_query($result) or die(mysql_error());
 
MontefuckeR в случея той променя вече направен запис. Сигурно се е объркал.
 
Само още един въпрос. Препоръчайте ми grama какво да му задам вместо int(11) за да се записват числа между 0.001 и 500.
 
Ми сега като е int - 0.001 такива екстри няма. За това, че float, в най-лошия случай double
 

Back
Горе