|
|
|
|
|
для: Trianon
(31.05.2006 в 21:03)
| | Спасибо за пример. Я сейчас его попробую. | |
|
|
|
|
|
|
|
для: Trianon
(31.05.2006 в 22:09)
| | а никто не спорит что у тебя он рабочий) проблема как раз в том что у нас(почему то мне кажется что у сквиртел13 то же самое будет) не работает). и мы не знаем че делать.. :( | |
|
|
|
|
|
|
|
для: noob
(31.05.2006 в 21:43)
| | Насчет mysql_query() - спасибо, я исправил. Там было штук пять таких.
А что касается русского, то виноват не скрипт . Все настройки соединения выполняются в конфиг-файле:
У меня там ничего необычного нет. Только
mysql_connect($server, $user, $password);
mysql_select_db($database);
Естественно с проверкой ошибок.
Даже пресловутые
// mysql_query ("set character_set_client='cp1251'");
// mysql_query ("set character_set_results='cp1251'");
// mysql_query ("set collation_connection='cp1251_general_ci'");
и то закомментарены.
Единственное, что, вероятно, играет роль, так это то, что $user у меня не равно 'root'
Рутовый пользователь в некоторых версиях MySQL требует настройки кодовой таблицы.
Скрипт абсолютно рабочий, я проверил все ветки. | |
|
|
|
|
|
|
|
для: Trianon
(31.05.2006 в 21:03)
| | в 44 строке помоему ошибка.
вместо
exit("Error in $sql : <br>". mysql_query());
|
надо
exit("Error in $sql : <br>". mysql_error());
|
но это не важно конечно.... важно следующее.
С английскими буквами скрипт работает отлично. Но если вводить русские слова, то ошибка опять:
Error in INSERT INTO adr (name,msg) VALUES ('sdf','фыва') :
Data too long for column 'msg' at row 1
|
| |
|
|
|
|
|
|
|
для: Сквиртел13
(31.05.2006 в 19:02)
| | Вот тот минимум, который я смог придумать.
<?
include 'config.inc.php';
$self = $_SERVER['PHP_SELF'];
$table = 'adr'; // имя таблицы
if (0) {}
else if(isset($_REQUEST['update']) ) // если запрос на обновление записи
{
$name=$_REQUEST['name'];
$msg=$_REQUEST['msg'];
if(get_magic_quotes_gpc())
{
$name = stripslashes($name);
$msg = stripslashes($msg);
}
$id = intval($_REQUEST['update']);
$name = mysql_escape_string($name);
$msg = mysql_escape_string($msg);
$sql = "UPDATE $table SET name='$name', msg = '$msg' WHERE id = $id";
if(!($res = mysql_query($sql)))
exit("Error in $sql : <br>". mysql_error());
if(!mysql_affected_rows())
exit("No record (id = $id)");
echo "Record $id succesfully updated<br>\r\n";
}
else if(isset($_REQUEST['insert']) ) // если запрос на добавление записи
{
$name=$_REQUEST['name'];
$msg=$_REQUEST['msg'];
if(get_magic_quotes_gpc())
{
$name = stripslashes($name);
$msg = stripslashes($msg);
}
$name = mysql_escape_string($name);
$msg = mysql_escape_string($msg);
$sql = "INSERT INTO $table (name,msg) VALUES ('$name','$msg')";
if(!($res = mysql_query($sql)))
exit("Error in $sql : <br>". mysql_error());
$id = mysql_insert_id();
echo "Record succesfully inserted with id = $id<br>\r\n";
}
else if(isset($_REQUEST['delete']) ) // если запрос на удаление записей
{
$del = $_REQUEST['delete'];
if(is_array($del))
foreach($del as $k => $v) $del[$k] = intval($v);
else
$del = array(intval($del));
$del = implode(',',$del);
$sql = "DELETE FROM $table WHERE id IN ($del)";
if(!($res = mysql_query($sql)))
exit("Error in $sql : <br>". mysql_error());
$num = mysql_affected_rows();
echo "$num record(s) deleted: $del<br>\r\n";
}else if(isset($_REQUEST['edit']) ) // если запрос на редактирование строки
{
$id = intval($_REQUEST['edit']);
$sql = "SELECT * FROM $table WHERE id = $id";
if(!($res = mysql_query($sql)))
exit("Error in $sql : <br>". mysql_error());
if(!($row = mysql_fetch_assoc($res)))
exit("No record (id = $id)");
{ // формируем запрос на обновление записи
?>
<table border=1><form action=<?=$self?> method=post>
<tr><td> id </td>
<input type=hidden name=update value=<?= $row['id']?> >
<td><?= $row['id']?></td></tr>
<tr><td> Name </td><td>
<input size=5 name=name value=<?=
'"'.htmlspecialchars($row['name']).'"';?> ></td></tr>
<tr><td> Message </td><td>
<input size=60 name=msg value=<?=
'"'.htmlspecialchars($row['msg']).'"';?> ></td></tr>
<tr><td> </td><td>
<input type=submit value=Update></td></tr>
</form></table>
<?
exit();
}
}
//---- вывод таблицы ---- общая часть
{
$sql = "SELECT * FROM $table";
if(!($res = mysql_query($sql)))
exit("Error in $sql : <br>". mysql_error());
{ ?>
<table border=1><form method=post><tr>
<td> </td>
<td> id </td>
<td> Name </td>
<td> Message </td>
</tr>
<?
}
while($row = mysql_fetch_assoc($res))
{
?>
<tr>
<td>
<input type=checkbox name=delete[] value=<?= $row['id']?> >
</td>
<td><a href=?edit=<?= $row['id']?> alt=edit ><?= $row['id']?> </a>
</td>
<td><?=
'"'.htmlspecialchars($row['name']).'"';?> </td>
<td><?=
'"'.htmlspecialchars($row['msg']).'"';?> </td>
</tr>
<?
}
{
?>
<tr><td colspan=4>
<input type =submit value='delete selected rows'>
</td></tr>
</form></table> <hr>
Insert new record there:<br>
<table border=1><form method=post>
<tr><td> Name </td><td>
<input size=5 name=name ></td></tr>
<tr><td> Message </td><td>
<input size=60 name=msg ></td></tr>
<tr><td> </td><td>
<input type=submit name=insert value=insert ></td></tr>
</form></table>
<?
}
}
?>
|
Таблица создается так:
CREATE TABLE adr (
id int(11) NOT NULL auto_increment,
name varchar(20) default NULL,
msg tinytext,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
| |
|
|
|
|
|
|
|
для: noob
(31.05.2006 в 19:06)
| | Понятно)) Давай так как найдешь ответ сообщи мне я тоже когда найду обязательно сообщу!))) | |
|
|
|
|
|
|
|
для: Сквиртел13
(31.05.2006 в 18:52)
| | просто у меня такая же хрень =)
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=18286&page=1 | |
|
|
|
|
|
|
|
для: Trianon
(31.05.2006 в 18:58)
| | Любая таблица с любыми данными. Мне просто нужно понять сам смысл как это делается, а дальше я сама. | |
|
|
|
|
|
|
|
для: Сквиртел13
(31.05.2006 в 18:55)
| | какая у Вас структура таблицы, и что туда нужно вводить?
проще на примере показать. | |
|
|
|
|
|
|
|
для: Trianon
(31.05.2006 в 18:49)
| | А как вводить данные со своей html странички.
А на счет phpMyAdmin я помню что Вы советовали, но мне надо научиться сначало так делать. | |
|
|
|
|