UPDATE (MySQL - PHP)
От: chery  
Дата: 23.01.03 17:51
Оценка:
Скажите как обычно делают UPDATE полей таблицы.
Тоесть как построить в PHP форму редактирования?
Тоесть например я вижу записи, щёлкаю по ней (а дальше обЪясните)
и должна эта запись отображаться в textarea или как? Чтобы редактировать.
Тоесть надо передавать параметр, да?
Желательно с примером кода.
Re: UPDATE (MySQL - PHP)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 23.01.03 18:19
Оценка:
Здравствуйте, chery, Вы писали:

f_update_user.php

<html>
 <head>
  <link rel=stylesheet href="style.css" type="text/css">
  <title>update user</title>
 </head>
 <body>
<?php
 import_request_variables("GP");
 require 'settings.php';
 if (($language!="en")&&($language!="ru"))
  {
   $language = "en";
  }
 print "<h2>".$str_update_user[$language]."</h2>";
 if ($message != "")
  {
   print "<h4> ".$message." </h4>";
  }
 print "<table align=center class=\"forummessage\">";
 $dbconnection = mysql_connect($dbserver,$dbuser,$dbpassword);
 mysql_select_db($dbdatabase,$dbconnection);
 $result = mysql_query("SELECT * FROM forum_users WHERE ( user_name = '".$user_name."' )",$dbconnection);
 $user = mysql_fetch_array($result, MYSQL_ASSOC);
 mysql_close($dbconnection);
 print "<form action=\"update_user.php?language=".$language."&id=".$user["id"]."&return=".rawurlencode($return)."\" method=\"post\">";
 print "<table align=center>";
 print "<tr><td class=\"forumtopic\">".$str_user_name[$language]."</td><td><input type=text name=\"user_name\" value=\"".$user["user_name"]."\" size=64></td></tr>";
 print "<tr><td class=\"forumtopic\">".$str_password[$language]."</td><td><input type=password name=\"password1\" value=\"".$user["password"]."\" size=64></td></tr>";
 print "<tr><td class=\"forumtopic\">".$str_retype_password[$language]."</td><td><input type=password name=\"password2\" value=\"".$user["password"]."\" size=64></td></tr>";
 print "<tr><td class=\"forumtopic\">".$str_real_name[$language]."</td><td><input type=text name=\"real_name\" value=\"".$user["real_name"]."\" size=64></td></tr>";
 print "<tr><td class=\"forumtopic\">".$str_email[$language]."</td><td><input type=text name=\"email\" value=\"".$user["email"]."\" size=64></td></tr>";
 print "<tr><td class=\"forumtopic\">".$str_website[$language]."</td><td><input type=text name=\"website\" value=\"".$user["website"]."\" size=64></td></tr>";
 print "<tr><td class=\"forumtopic\">".$str_signature[$language]."</td><td><input type=text name=\"signature\" value=\"".rawurldecode($user["signature"])."\" size=64></td></tr>";
 print "<tr><td class=\"forumtopic\">".$str_messages_on_page[$language]."</td><td><select name=\"messages_on_page\">";
 for ($i = 5; $i <= 100; $i += 5)
  {
   if ($i == $user["messages_on_page"])
    {
     print "<option value=\"".$i."\" selected>".$i;
    }
   else
    {
     print "<option value=\"".$i."\">".$i;
    }
  }
 print "</select></td></tr>";
 if ($user["duplicate_messages_by_email"] == 1)
  {
   print "<tr><td class=\"forumtopic\">".$str_duplicate_messages_by_email[$language]."</td><td><select name=\"duplicate_messages_by_email\"><option value=\"0\">".$str_no[$language]."<option value=\"1\" selected>".$str_yes[$language]."</select></td></tr>";
  }
 else
  {
   print "<tr><td class=\"forumtopic\">".$str_duplicate_messages_by_email[$language]."</td><td><select name=\"duplicate_messages_by_email\"><option value=\"0\" selected>".$str_no[$language]."<option value=\"1\">".$str_yes[$language]."</select></td></tr>";
  }
 print "<tr><td class=\"forumtopic\">".$str_stay_logged_in[$language]."</td><td><select name=\"stay_logged_in\">";
 for ($i = 5; $i <= 120; $i += 5)
  {
   if ($i*60 == $user["stay_logged_in"])
    {
     print "<option value=\"".($i*60)."\" selected>".$i;
    }
   else
    {
     print "<option value=\"".($i*60)."\">".$i;
    }
  }
 print "</select></td></tr>";
 print "</table><br>";
 print "<center><a class=\"forumtopic\" href=\"f_delete_user.php?language=".$language."\">".$str_delete_user[$language]." ".$user["user_name"]."</a></center>";
 print "<br><center><input type=submit value=\"".$str_update_user[$language]."\"></center>";
 print "</form>";
 print "<center><a class=\"forumtopic\" href=\"forum.php?language=".$language."\">".$str_back[$language]."</a></center>";
?>
 </body>
</html>


update_user.php


<?php
 import_request_variables("GP");
 require 'settings.php';
 if (($language!="en")&&($language!="ru"))
  {
   $language = "en";
  }
 if ($user_name == "")
  {
   header("Location: f_add_user.php?language=".$language."&user_name=".$user_name."&real_name=".$real_name."&email=".$email."&website=".$website."&signature=".$signature."&message=".rawurlencode($str_please_type_user_name[$language]));
   die;
  }
 if ($password1 != $password2)
  {
   header("Location: f_add_user.php?language=".$language."&user_name=".$user_name."&real_name=".$real_name."&email=".$email."&website=".$website."&signature=".$signature."&message=".rawurlencode($str_passwords_does_not_match[$language]));
   die;
  }
 $dbconnection = mysql_connect($dbserver,$dbuser,$dbpassword);
 mysql_select_db($dbdatabase,$dbconnection);
 mysql_query("UPDATE forum_users SET user_name = '".$user_name."', password = '".$password1."', real_name = '".$real_name."', email = '".$email."', website = '".$website."', signature = '".$signature."', messages_on_page = ".$messages_on_page.", duplicate_messages_by_email = ".$duplicate_messages_by_email.", stay_logged_in = ".$stay_logged_in." WHERE ( id = ".$id." )",$dbconnection);
 mysql_close($dbconnection);
 header("Location: f_update_user.php?language=".$language."&user_name=".$user_name."&return=".rawurlencode($return));
?>


settings.php


<?php

$dbserver   = "mysql.sourceforge.net";
$dbdatabase = "****";
$dbuser     = "****";
$dbpassword = "******";

$user_name_length =  32;
$password_length  =  32;
$real_name_length =  64;
$email_length     = 255;
$website_length   = 255;
$signature_length =  64;
$topic_length     =  64;
$message_length   = 255;

$str_back                              = array("en" => "back","ru" => "назад");
$str_add_user                          = array("en" => "add user","ru" => "добавить пользователя");
$str_delete_user                       = array("en" => "delete user","ru" => "удалить пользователя");
$str_view_user                         = array("en" => "view user's profile","ru" => "просмотр профиля пользователя");
$str_update_user                       = array("en" => "update user's profile","ru" => "обновить профиль пользователя");
$str_login                             = array("en" => "login","ru" => "вход");
$str_logout                            = array("en" => "logout","ru" => "выход");
$str_add_message                       = array("en" => "add message","ru" => "добавить сообщение");
$str_language                          = array("en" => "russian (cp-1251)","ru" => "english");
$str_add_thread                        = array("en" => "add thread","ru" => "добавить нить");
$str_first_page                        = array("en" => "first page","ru" => "первая страница");
$str_previous_page                     = array("en" => "previous page","ru" => "предыдущая страница");
$str_refresh                           = array("en" => "refresh","ru" => "обновить");
$str_next_page                         = array("en" => "next page","ru" => "следующая страница");
$str_topic                             = array("en" => "topic","ru" => "тема");
$str_reply                             = array("en" => "reply","ru" => "ответить");
$str_posted_by                         = array("en" => "posted by","ru" => "послано");
$str_posted_at                         = array("en" => "posted at","ru" => "послано в");
$str_last_reply_by                     = array("en" => "last reply by","ru" => "последний ответ послан");
$str_last_reply_at                     = array("en" => "last reply at","ru" => "последний ответ послан в");
$str_january                           = array("en" => "January","ru" => "Январь");
$str_february                          = array("en" => "February","ru" => "Февраль");
$str_mart                              = array("en" => "Mart","ru" => "Март");
$str_april                             = array("en" => "April","ru" => "Апрель");
$str_may                               = array("en" => "May","ru" => "Май");
$str_june                              = array("en" => "June","ru" => "Июнь");
$str_july                              = array("en" => "July","ru" => "Июль");
$str_august                            = array("en" => "August","ru" => "Август");
$str_september                         = array("en" => "September","ru" => "Сентябрь");
$str_october                           = array("en" => "October","ru" => "Октябрь");
$str_november                          = array("en" => "November","ru" => "Ноябрь");
$str_december                          = array("en" => "December","ru" => "Декабрь");
$str_user_name                         = array("en" => "user name","ru" => "имя пользователя");
$str_password                          = array("en" => "password","ru" => "пароль");
$str_retype_password                   = array("en" => "retype password","ru" => "повторите пароль");
$str_real_name                         = array("en" => "real name","ru" => "настоящее имя");
$str_email                             = array("en" => "e-mail","ru" => "электронная почта");
$str_website                           = array("en" => "web-site","ru" => "веб-сайт");
$str_signature                         = array("en" => "signature","ru" => "подпись");
$str_messages_on_page                  = array("en" => "messages_on_page","ru" => "сообщений на странице");
$str_stay_logged_in                    = array("en" => "stay logged in (min)","ru" => "оставаться в системе (мин)");
$str_duplicate_messages_by_email       = array("en" => "duplicate messages by e-mail","ru" => "дублировать сообщения по электронной почте");
$str_message                           = array("en" => "message","ru" => "сообщение");
$str_anonimous                         = array("en" => "anonimous","ru" => "аноним");
$str_invalid_user_name_password        = array("en" => "invalid user name and/or password","ru" => "неправильные имя пользователя и/или пароль");
$str_you_are_currently_logged_in_as    = array("en" => "you are currently logged in as","ru" => "вы вошли в систему как");
$str_please_type_user_name             = array("en" => "please type user name","ru" => "пожалуйста введите имя пользователя");
$str_passwords_does_not_match          = array("en" => "passwords does not match","ru" => "пароли не совпадают");
$str_user_name_already_registred       = array("en" => "user name already registred","ru" => "имя пользователя уже заригистрированно");
$str_yes                               = array("en" => "yes","ru" => "да");
$str_no                                = array("en" => "no","ru" => "нет");
$str_no_replies                        = array("en" => "no replies","ru" => "нет ответов");
$str_user_was_deleted                  = array("en" => "user was deleted","ru" => "пользователь был удалён");
$str_subscribe_unsubscribe             = array("en" => "subscribe/unsubscribe","ru" => "подписаться/отписаться");
$str_do_you_want_to_subscribe          = array("en" => "do you want to subscribe to replies to this message and all it's thread?","ru" => "вы хотите пописаться на ответы на это сообщение и всю его нить?");
$str_you_can_not_subscribe             = array("en" => "you can not subscribe/unsubscribe if you are not logged in","ru" => "вы не можете подписываться/отписываться если вы не вошли в систему");
$str_you_are_subscribed                = array("en" => "you are subscribed","ru" => "вы подписаны");
$str_you_are_not_subscribed            = array("en" => "you are not subscribed","ru" => "вы не подписаны");
$str_                                  = array("en" => "","ru" => "");

?>
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: UPDATE (MySQL - PHP)
От: adontz Грузия http://adontz.wordpress.com/
Дата: 23.01.03 18:20
Оценка:
Здравствуйте, adontz, Вы писали:

сам форум здесь — http://xwpl.sourceforge.net/feedback/forum.php?language=ru
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.