Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: php function else

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Телевизор
Отправлено: 23 Ноября, 2010 - 04:28:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 369
Дата рег-ции: Март 2010  
Откуда: с яндекса


Помог: 3 раз(а)




Добро,
после долгих раздумываний:
После того как нажали кнопку сохранить субмит вызывается функция complete и дальше уже заносится в базу, (else) если не не пуста то перезаписывается id .

как можно сделать чтобы запрашивал перезаписать или нет ?
я так предполагаю что после else нуна js скрипт? или можно както иначе ?

буду Вам признателен...

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3.  
  4. function complete(){
  5. require '../conect.sql.php';
  6. // делаем запрос к БД в котором пытаемся вытащить страничку с указаным id. На данный момент мы не сделали еще ни одной страницы, посему запрос вернет пустой ряд.
  7. $result = mysql_query("SELECT * FROM pp_public WHERE list = '".$_POST['list']."';", $link);
  8. // перекидываем данные из MySQL в пхпшный ассоциативный массив
  9. $row = mysql_fetch_array($result);
  10. // проверяем не пуст ли элемент массива id. Если пуст, значит вставляем наши данные в БД
  11. if(empty($row['list']))
  12. $query = "INSERT INTO pp_public
  13.   (css,
  14.   js,
  15.   pid,
  16.   jsIE,
  17.   list,
  18.   body,
  19.   title,
  20.   metatitle,
  21.   sortirovka,
  22.   metakeywords,
  23.   metadescription)
  24.                   VALUES
  25.   ('".mysql_real_escape_string($_POST['css'])."',
  26.   '".mysql_real_escape_string($_POST['js'])."',
  27.   '".mysql_real_escape_string($_POST['pid'])."',
  28.   '".mysql_real_escape_string($_POST['jsIE'])."',
  29.   '".mysql_real_escape_string($_POST['list'])."',
  30.   '".mysql_real_escape_string($_POST['body'])."',
  31.   '".mysql_real_escape_string($_POST['title'])."',
  32.   '".mysql_real_escape_string($_POST['metatitle'])."',
  33.   '".mysql_real_escape_string($_POST['sortirovka'])."',
  34.   '".mysql_real_escape_string($_POST['metakeywords'])."',
  35.   '".mysql_real_escape_string($_POST['metadescription'])."')";
  36.  
  37.  else // а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
  38. $query = "UPDATE pp_public SET
  39.  css = '".mysql_real_escape_string($_POST['css'])."',
  40.  js = '".mysql_real_escape_string($_POST['js'])."',
  41.  pid = '".mysql_real_escape_string($_POST['pid'])."',
  42.  jsIE = '".mysql_real_escape_string($_POST['jsIE'])."',
  43.  list = '".mysql_real_escape_string($_POST['list'])."',
  44.  body = '".mysql_real_escape_string($_POST['body'])."',
  45.  title = '".mysql_real_escape_string($_POST['title'])."',
  46.  metatitle = '".mysql_real_escape_string($_POST['metatitle'])."',
  47.  sortirovka = '".mysql_real_escape_string($_POST['sortirovka'])."',
  48.  metakeywords = '".mysql_real_escape_string($_POST['metakeywords'])."',
  49.  metadescription = '".mysql_real_escape_string($_POST['metadescription'])."'
  50. WHERE list = '".$_POST['list']."';";
  51. // непосредственно записываем наши данные в базу (до этого мы просто описывали, что надо сделать, а теперь делаем)
  52. mysql_query($query, $link);
  53. // ну и просто выводим крикливую надпись, что скрипт отработал
  54. echo '<span style="font-size: large;"><span style="color: #F00;"><strong>Страница опубликована !</strong></span></span>';
  55. }
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  

(Отредактировано автором: 23 Ноября, 2010 - 04:39:16)

 
 Top
OrmaJever
Отправлено: 23 Ноября, 2010 - 12:58:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




это можно зделать через ajax. Например как в некоторых дживках при регистрации проверяют свободен ли ник.
1) создаёте отдельный php файл. Туда пишие Примерно так
PHP:
скопировать код в буфер обмена
  1. require '../conect.sql.php';
  2. $result = mysql_query("SELECT * FROM pp_public WHERE list = '".mysql_escape_string($_POST['list'])."';", $link);
  3.  
  4. $row = mysql_fetch_array($result);
  5. if(empty($row['list'])) echo 1;
  6. else echo 0;

Тоесть если есть запись выведет 0 если нету то 1.
А затем в ajax отправить пост на эту страницу и смотрите что вернёт.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Телевизор
Отправлено: 01 Декабря, 2010 - 22:37:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 369
Дата рег-ции: Март 2010  
Откуда: с яндекса


Помог: 3 раз(а)




чегота не очень понял, но пока смотрю подобие в нете...
вообще задумка такая что когда идет запись в базу если else то выдаем простой джава вопрос "заменить сущ страницу?" > подтверждаем и уже дальше идет запись...

делал все по function
 
 Top
OrmaJever
Отправлено: 01 Декабря, 2010 - 23:34:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




тот код что я написал выше должен бытьв отдельном файле. Этот файл нужно вызвать с помощью ajax и передать ему псот параметр list (можно кстате и гет), затемэтот файл проверит есть ли запись и вернёт в скрипт 1 (если нету) и 0 (если есть). А дальше в js работает с этой цыфрой.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Декабря, 2010 - 00:38:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Телевизор а зачем именно так? Не проще ли будет сделать только редактирование для существующих, и только добавление для новых без проверок?
 
 Top
Телевизор
Отправлено: 02 Декабря, 2010 - 08:07:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 369
Дата рег-ции: Март 2010  
Откуда: с яндекса


Помог: 3 раз(а)




OrmaJever
точняк, терь понял буду действовать спасибо !!!!

DeepVarvar
при сохранении новой страницы могут совпасть элементы массива, и они тогда перезапишутся без подтверждения.
раньше через автоинкремент и выборка по этим id была, а потом переделал для поисковых систем в url свои названия страниц...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB