Спасибо Евгений!
*******************************************
CREATE TABLE test ( test_id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY ( test_id ),
test_descr VARCHAR(255),
test_link VARCHAR(255)
);
***********************************************
$Code;
$host="localhost";
$login="root";
$passwd="root";
$Link = mysql_connect($host,$login,$passwd);
//------------------------------------------------------------------------------
if (!empty($edit_link)) { // {{{
//------------------------------------------------------------------------------
if ($edit_link==1) { // Edit
$Code .= "
Add record";
$Code .= "
Back";
if ($add_record==1) {
$Query = "insert into test (test_descr,test_link) values (\'new record\',\'new link\')";
$Result = mysql_query($Query);
Header("Location: ".$PHP_SELF."?edit_link=1");
}
if (!empty($test_id)) {
if (!empty($test_descr)) {
$Query = "UPDATE test set test_descr=\'".$test_descr."\', test_link=\'".$test_link."\' where test_id=".$test_id;
$Result = mysql_query($Query);
Header("Location: ".$PHP_SELF."?edit_link=1");
}
$Query = "select * from test where test_id=".$test_id ." ORDER BY test_id";
$Result = mysql_query($Query);
$Data = @mysql_fetch_array ($Result,0);
$Code .=
"
";
// Header("Location: ".$PHP_SELF."?edit_link=1");
}
$Code .= "
";
$Query = "select * from test ORDER BY test_id";
$Result = mysql_query($Query);
while ($Data = @mysql_fetch_array ($Result,$Row)) {
$Code .= "".$Data["test_descr"]." | ".$Data["test_link"]." | ". "Edit" ." |
";
$Row++;
}
}
//------------------------------------------------------------------------------
if ($edit_link==2) { // Look
$Code .= "
";
$Query =
"select * from test ORDER by test_id";
$Result = mysql_query($Query);
while ($Data = @mysql_fetch_array ($Result,$Row)) {
$IsLink = true;
if (rtrim($Data["test_link"])=="") {
$IsLink = false;
}
$Code .= "". (($IsLink)? ("")"")) . $Data["test_descr"] . (($IsLink)?" ":"") . " |
";
$Row++;
}
$Code .= "
";
}
//------------------------------------------------------------------------------
} else {
//------------------------------------------------------------------------------
$Code .= "Edit
";
$Code .= "Look
";
//------------------------------------------------------------------------------
} // }}}
//------------------------------------------------------------------------------
print $Code;
?>
Записан
« Ответ #3 : 05 Марта 2002, 17:51:52 »
К сожалению, нет ни сообщений об ошибках, но скрипт не работает.
Может причина в моих не правильных настойках?
Только вчера переинсталлировал PHP 4.1.1.
Кто-нибудь протестируйте, пожалуйста у себя.
Записан
« Ответ #4 : 05 Марта 2002, 20:07:21 »
вот мой вариант решения:
<?php
error_reporting(E_ALL);
$host = "localhost";
$user = "root";
$pass = "";
$db = "test";
if(!($cn = @mysql_connect($host, $user, $pass))) {
echo "Не возможно подключиться к серверу";
exit;
}
if(!@mysql_select_db($db, $cn))
{
echo "Не возможно открыть БД";
exit;
}
if(isset($act) && !empty($act)) {
switch($act) {
case "edit":
// форма
$descr = null; $link = null;
if(isset($id) && !empty($id)) {
$query = "SELECT * FROM test WHERE test_id=\'$id\'";
// (необходимо добавить проверку $id) ^^^^^^^^^
$res = mysql_query($query);
if(mysql_errno()!=0) {
echo "MySQL err: ".mysql_error()." [".$query."]";
exit;
}
if(mysql_num_rows($res)!=0) {
$row = mysql_fetch_row($res);
$id = $row[0];
$descr = $row[1];
$link = $row[2];
}
}
else {
$id = null;
}?>
<form action="?act=save" method="POST">
<input type="hidden" name="id" value="<?=$id?>">
Descr: <input type="text" name="descr" value="<?=$descr?>">
Link: <input type="text" name="link" value="<?=$link?>">
<input type="submit" value="save">
</form>
<?
break;
case "save";
// сохранить
// (необходимо добавить проверку всех вводимых данных)
if($id=="")
$query = "INSERT INTO test (test_descr,test_link) VALUES (\'$descr\', \'$link\')";
else
$query = "UPDATE test SET test_descr=\'$descr\', test_link=\'$link\' WHERE test_id=\'$id\'";
$res = mysql_query($query);
if(mysql_errno()!=0) {
echo "MySQL err: ".mysql_error()." [".$query."]";
exit;
}
header("Location: $PHP_SELF");
break;
case "rem";
// удалить
$query = "DELETE FROM test WHERE test_id=\'$id\'";
// (необходимо добавить проверку $id) ^^^^^^^^^
$res = mysql_query($query);
if(mysql_errno()!=0) {
echo "MySQL err: ".mysql_error()." [".$query."]";
exit;
}
header("Location: $PHP_SELF");
break;
default:
echo "Не верно указано действие";
}
}
else {
$query = "SELECT * FROM test";
$res = mysql_query($query);
if(mysql_errno()!=0) {
echo "MySQL err: ".mysql_error()." [".$query."]";
exit;
}
if(mysql_num_rows($res)!=0) {
while($row = mysql_fetch_row($res)) {
if($row[2]=="")
echo $row[1];
else
echo \'<a href="\'.$row[2].\'">\'.$row[1].\'</a>\';
echo \' [<a href="?act=edit&id=\'.$row[0].\'">edit</a>]\';
echo \' [<a href="?act=rem&id=\'.$row[0].\'">rem</a>]\';
echo "
\\n";
}
}
echo \'
<a href="?act=edit">Add</a>\'."
\\n";
}
?>
PS. если что - на мыло (dmq@mailru.com) или на асю (76555967)
Записан
с уважением,
магистр белой магии.