Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обновление сразу нескольких полей оператором UPDATE
 
 автор: Roo$   (08.09.2006 в 21:33)   письмо автору
 
 

Как обнавить сразу нескольких полей в БД. Я делаю так....

$query3="UPDATE guestbook  set msg = '$umsg' privat = '$priv' where id_msg = '$id'";
mysql_query($query3);


Но ничего не получается.

По очереди получается.....

$query3="UPDATE guestbook  privat = '$priv' where id_msg = '$id'";
mysql_query($query3);



$query3="UPDATE guestbook  set msg = '$umsg'  where id_msg = '$id'";
mysql_query($query3);

   
 
 автор: Trianon   (08.09.2006 в 21:41)   письмо автору
 
   для: Roo$   (08.09.2006 в 21:33)
 

запятая.


$query3="UPDATE guestbook  
  set msg = '$umsg' 
    , privat = '$priv'
  where id_msg = '$id'"; 
mysql_query($query3); 

   
 
 автор: Roo$   (08.09.2006 в 21:52)   письмо автору
 
   для: Trianon   (08.09.2006 в 21:41)
 

Блин,... как я сам не догодался.
У меня есть еще один вопрос.
Когда я открываю сообщение на редактирование....То он берется из БД так
stroka1<br /> stroka2<br /> stroka3<br /> i <img src = '../chat/data/smiles/40.gif'></img>
Как его вернуть в нормальный вид? Без тегов

   
 
 автор: Trianon   (08.09.2006 в 23:00)   письмо автору
 
   для: Roo$   (08.09.2006 в 21:52)
 

Его нужно было в нормальном виде - без тегов - туда класть. Теперь же пить боржоми поздно.

   
 
 автор: Roo$   (08.09.2006 в 23:15)   письмо автору
 
   для: Trianon   (08.09.2006 в 23:00)
 

А как бы я его выводил на главную страничку?

   
 
 автор: Trianon   (09.09.2006 в 12:22)   письмо автору
 
   для: Roo$   (08.09.2006 в 23:15)
 

Вот перед выводом и преобразовывать в html.
Перед выводом, а не перед сохранением в БД..

   
 
 автор: Roo$   (09.09.2006 в 12:24)   письмо автору
 
   для: Trianon   (09.09.2006 в 12:22)
 

А разве в базу данных можно так записать

stroka1
stroka2
stroka3

Она запишит ее как stroka1 stroka2 stroka3

   
 
 автор: cheops   (09.09.2006 в 12:28)   письмо автору
 
   для: Roo$   (09.09.2006 в 12:24)
 

Нет, он запишет её как
stroka1\r\nstroka2\r\nstroka3

Восстановить структуру переносов при выводе на HTML-страницу можно будет добавив тэги <br>, например, при помощи функции nl2br()
<?php
  
echo nl2br($запись_из_базы);
?>

   
 
 автор: Roo$   (09.09.2006 в 16:27)   письмо автору
 
   для: cheops   (09.09.2006 в 12:28)
 

А у меня эти строки

stroka1
stroka2
stroka3

Записаны также
stroka1
stroka2
stroka3
и в базе данных без \r\n
Тип поля textarea

   
 
 автор: cheops   (09.09.2006 в 16:53)   письмо автору
 
   для: Roo$   (09.09.2006 в 16:27)
 

Символы \r\n являются не видимыми - то, что их не видно, это нормально - при пропускании текста из базы данных через PHP-функцию nl2br() - переносы строк восстанавливаются?

   
 
 автор: Trianon   (09.09.2006 в 16:56)   письмо автору
 
   для: cheops   (09.09.2006 в 16:53)
 

> Символы \r\n являются не видимыми
Странно. Я же вижу. И Roo$ видит.

[поправлено модератором]

   
 
 автор: cheops   (09.09.2006 в 16:58)   письмо автору
 
   для: Trianon   (09.09.2006 в 16:56)
 

Ничего страшного в этом нет, слово "атом" тоже видно, в отличие от частицы, которую оно обозначает.

   
 
 автор: Trianon   (09.09.2006 в 17:07)   письмо автору
 
   для: cheops   (09.09.2006 в 16:58)
 

[поправлено модератором]

   
 
 автор: Roo$   (09.09.2006 в 18:10)   письмо автору
 
   для: Trianon   (09.09.2006 в 17:07)
 

С этим я разобрался. Теперь возникла проблема. На хосте register_globals = Off
А я делаю загрузку файла на FTP следующим образом


$tmpName   = $HTTP_POST_FILES['filename']['tmp_name'];
$fileName  = $HTTP_POST_FILES['filename']['name'];
$fileSize  = $HTTP_POST_FILES['filename']['size'];

$str1="Прикрепленный файл: [URL='http://www.mysite.ru/doc/";
$str2="']";
$str3= "[/URL]";
$strfile="";
if (!empty($filename))
{
$add=$str1 . $fileName . $str2 . $fileName . $str3. " (". round($fileSize/1000, 2) ." kb)";

if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Размер файла больше 3-х метров");
exit;
}
copy($_FILES["filename"]["tmp_name"], "../doc/".$_FILES["filename"]["name"]);
$strfile = "Прикрепленный файл: ".$_FILES["filename"]["name"];
}


Но файл не загружается... Можит что то нетак делаю?

   
 
 автор: Trianon   (09.09.2006 в 18:15)   письмо автору
 
   для: Roo$   (09.09.2006 в 18:10)
 

Смотря чего хотите достичь....
1 . register_globals = Off - это очень хорошо.
2. для перемещения загружаемых файлов вместо copy принято применять move_uploaded_file
3. Как Вы думаете, что будет, когда двое людей захотят загрузить файл, допустим, foto.jpg ?
Каждый - свой , естественно.

   
 
 автор: Roo$   (09.09.2006 в 18:29)   письмо автору
 
   для: Trianon   (09.09.2006 в 18:15)
 

1.А какие параметры тут нужно задать move_uploaded_file(....)?
2. Тогда нужно чтобы вместо названия файла подставлялось какое-нибудь число (как в этом форуме)

   
 
 автор: Trianon   (09.09.2006 в 18:52)   письмо автору
 
   для: Roo$   (09.09.2006 в 18:29)
 

1. в плане параметров move_uploaded_file(....) от copy(....) ничем не отличается.
2. В этом форуме для имени файла используется текущие дата и время.
Это не единственный способ. Можно было бы применить номер сообщения.
Т.к. на одно сообщение всяко может приходиться не более одного файла.

   
 
 автор: Roo$   (09.09.2006 в 18:59)   письмо автору
 
   для: Trianon   (09.09.2006 в 18:52)
 

Я пробывал в своем примере ставить move_uploaded_file(....) вместо copy(....) .... - результата нет. Файл не копируется.

   
 
 автор: Trianon   (09.09.2006 в 19:02)   письмо автору
 
   для: Roo$   (09.09.2006 в 18:59)
 

посмотрите $_FILES["filename"]["error"],
http://php.rinet.ru/manual/ru/features.file-upload.php
http://php.rinet.ru/manual/ru/features.file-upload.errors.php

   
 
 автор: Roo$   (09.09.2006 в 19:17)   письмо автору
 
   для: Trianon   (09.09.2006 в 19:02)
 

ДА... щас попробую разобраться

   
 
 автор: Roo$   (09.09.2006 в 20:39)   письмо автору
 
   для: Trianon   (09.09.2006 в 19:02)
 

Все сделал... Файл загружается. Сделал его ограничитель (размер 3 mb). Как можно теперь сделать проверку на размер файла перед его загрузкой на сервер?

if($_FILES["filename"]["size"] > 1024*3*1024)
{
echo ("Файл больше 3-х метров");
exit;
}

   
 
 автор: Trianon   (09.09.2006 в 23:02)   письмо автору
 
   для: Roo$   (09.09.2006 в 20:39)
 

Подумайте, откуда php узнает размер, если файл еще не загружен?

   
 
 автор: Roo$   (09.09.2006 в 23:27)   письмо автору
 
   для: Trianon   (09.09.2006 в 23:02)
 

Значит ни как... Хорошо. Теперь я выявил след. особиность... Что загружать файлы можно только на англ.языке. Что вы мне посоветуете?

   
 
 автор: Trianon   (10.09.2006 в 13:45)   письмо автору
 
   для: Roo$   (09.09.2006 в 23:27)
 

Сохранять файлы, назначая им собственные имена. Я это уже посоветовал.

[поправлено модератором]

   
 
 автор: Roo$   (10.09.2006 в 20:20)   письмо автору
 
   для: Trianon   (10.09.2006 в 13:45)
 

Можноли руские бувы заменить на латинские... Например... книга - kniga + к этому добавлять id_msg

   
 
 автор: Trianon   (10.09.2006 в 22:23)   письмо автору
 
   для: Roo$   (10.09.2006 в 20:20)
 

если взять id_msg в качестве имени, то никаких knig к нему добавлять будет не нужно.

   
 
 автор: Roo$   (10.09.2006 в 23:35)   письмо автору
 
   для: Trianon   (10.09.2006 в 22:23)
 

Так я и сделаю...
Как подскажишь мне замутить цитирование?
Все записывать в одну ячейку (саму цитату и ответ)?

   
 
 автор: Trianon   (09.09.2006 в 12:30)   письмо автору
 
   для: Roo$   (09.09.2006 в 12:24)
 

База не меняет данные, которые Вы в нее пишете. Как минимум для полей типа text и blob. Да и для полей char, максимум что может поменять, так это обрезать хвостовые пробелы.

[поправлено модератором]

   
 
 автор: PIXEL   (11.09.2006 в 01:31)   письмо автору
 
   для: Roo$   (08.09.2006 в 21:52)
 

можно вырезать таги так: strip_tags()
только некоторая часть безвозратно потеряется :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования