PHP.SU

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

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

> Найдено сообщений: 14
alexey11 Отправлено: 13 Сентября, 2011 - 22:04:10 • Тема: Непонятка с enum • Форум: Работа с СУБД

Ответов: 6
Просмотров: 1975
Да,получилось. Спасибо!
alexey11 Отправлено: 13 Сентября, 2011 - 16:45:20 • Тема: Непонятка с enum • Форум: Работа с СУБД

Ответов: 6
Просмотров: 1975
Ок! Сделал поле TINYINT (1)

Вписал по Вашему примеру и получается, что с установленным флагом в базу попадает 1, при снятом флаге 0, но при повторном захождении в форму установленный флаг не сохраняется...
alexey11 Отправлено: 12 Сентября, 2011 - 20:41:10 • Тема: Непонятка с enum • Форум: Работа с СУБД

Ответов: 6
Просмотров: 1975
... в базу добавлять у меня получилось, таким способом:
CODE (html):
скопировать код в буфер обмена
  1. <input type="radio" name="vibor" value="yes"> Есть
  2. <input type="radio" name="vibor" value="no"> Нет<br>


PHP:
скопировать код в буфер обмена
  1. $selected_radio = $_POST['vibor'];
  2.  
  3. if ($selected_radio == 'yes') {
  4. $pr='1';
  5. }
  6. else if ($selected_radio == 'no') {
  7. $pr='2';
  8. }


Но как теперь считав с базы значение 1 или 2, передать значение в форму?
alexey11 Отправлено: 10 Сентября, 2011 - 15:05:31 • Тема: Непонятка с enum • Форум: Работа с СУБД

Ответов: 6
Просмотров: 1975
Не могу понять как этот механизм работает
Раньше никогда это не приходилось делать и потому туго доходит.

Есть база, содержащая поле pr и допустимыми значениями 1 и 2, тип enum.(pr enum('1','2'))

Имеется форма
PHP:
скопировать код в буфер обмена
  1. ...
  2. <input type="radio" name="name1" value="<?=$row['pr']?>"> Да<br>
  3. <input type="radio" name="name1" value="<?=$row['pr']?>"> НЕТ<br>
  4. ...


В скрипте идет следующая обработка
PHP:
скопировать код в буфер обмена
  1.  ...
  2.  $name1 = intval($_POST['pr']);
  3.  $query="INSERT INTO $table SET pr='$name1'";
  4. ...


Как в базу передать этот параметр? Куда его вообще здесь запихнуть?
alexey11 Отправлено: 08 Сентября, 2011 - 22:28:14 • Тема: Возможно составить такой запрос? • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2169
Спасибо за помощь.

Все получилось.
alexey11 Отправлено: 07 Сентября, 2011 - 21:53:06 • Тема: Возможно составить такой запрос? • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2169
Спасибо за помощь.

Ну а если этот пример, то каким образом можно передать в этот массив данные?
DeepVarvar пишет:
$arr = array("field1 = 'hfjfk'","field2 = 'nhgfjfk'","field3 = 767685");
$where = (count($arr) > 0) ? " WHERE ".implode(" AND",$arr) : "";

У меня не получается... Недовольство, огорчение
Даже кавычки правильные сохранить не получается. Если просто вписываю в него, то работает, а сам факт передачи не получается. Если можно, помогите пожалуйста и с этой частью.
alexey11 Отправлено: 07 Сентября, 2011 - 19:07:04 • Тема: Возможно составить такой запрос? • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2169
... у меня 4 передаваемых параметра. Но из них , к примеру, 2 может не быть или быть всего 1, а может даже не одного (в таком случае просто выводится вся база)! И первый тоже не всегда может быть, потому просто добавить where не получиться, так же где то нужно передавать и AND ...
alexey11 Отправлено: 07 Сентября, 2011 - 15:46:23 • Тема: Возможно составить такой запрос? • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2169
Да, но получается что в запросе - если переменная пуста, то where остается без параметра и получается ошибка...
alexey11 Отправлено: 07 Сентября, 2011 - 15:15:03 • Тема: Возможно составить такой запрос? • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2169
Получилось. Спасибо!
А как можно сделать именно что бы проверялось если в форме поле пустое, то не учитывается в запросе?
alexey11 Отправлено: 07 Сентября, 2011 - 15:07:55 • Тема: Возможно составить такой запрос? • Форум: Работа с СУБД

Ответов: 11
Просмотров: 2169
Возможно ли сделать так, чтобы определение WHERE бралось с переменной?

К примеру
PHP:
скопировать код в буфер обмена
  1. $r1='name="ddd"';
  2. mysql_query('SELECT * FROM base1 WHERE $r1', $db);
  3.  

А вообще нужно так:
В форме три текстовых поля и нужно чтобы выборка делалась именно по тем полям которые имеют значение. Если в какое то текстовое поле формы не введено ничего, то и в выборке оно не учитывается.

Как то можно такое сделать?
alexey11 Отправлено: 04 Сентября, 2011 - 20:11:54 • Тема: Не получается удаление записей сделать • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1989
Получилось. Большое спасибо!
alexey11 Отправлено: 03 Сентября, 2011 - 19:07:15 • Тема: Не получается удаление записей сделать • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1989
Ок! Спасибо! Все получилось.
Но есть одно НО, получается чтобы увидеть что запись удалилась - нужно F5 нажать.
(Добавление)
... а как в этом примере сделать чтобы этого ньюанса не было?
alexey11 Отправлено: 03 Сентября, 2011 - 09:40:26 • Тема: Не получается удаление записей сделать • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1989
antobra пишет:
Например ссылку на arh.php?delete=[идентификатор]

Вот именно это у меня не получается, что в смысле - [идентификатор] ?? у меня как раз ен получалось его передать. и если пытаюсь это сделать через кнопку submit то и нажимая на добавление записи - оно удаляет. Если ссылкой то подскажите пожалуйста где ее вставить ... и как и в каком файле.
Спасибо!
alexey11 Отправлено: 02 Сентября, 2011 - 16:15:50 • Тема: Не получается удаление записей сделать • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1989
Помогите разобраться. Я на php не писал ранее. Поставили просто задачу на работе и нужно сделать.
Нужно чтобы добавлялись записи в таблицу, отображалось ссылкой и редактировать можно нажав на ссылку, но не получается удаление сделать. Чтобы кнопка отдельная была.
Это основной скрипт arh.php
PHP:
скопировать код в буфер обмена
  1. <?
  2. mysql_connect('localhost','root');
  3.  
  4. $table="ulic";
  5.  
  6. if($_SERVER['REQUEST_METHOD']=='POST') {
  7.   $name = mysql_real_escape_string($_POST['name']);
  8.   if ($id = intval($_POST['id'])) {
  9.     $query="UPDATE $table SET name='$name' WHERE id=$id";
  10.   } else {
  11.     $query="INSERT INTO $table SET name='$name'";
  12.   }
  13.   mysql_query($query) or trigger_error(mysql_error()." in ".$query);
  14.   header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
  15.   exit;
  16. }
  17. if (!isset($_GET['id'])) {
  18.   $LIST=array();
  19.   $query="SELECT * FROM $table";
  20.   $res=mysql_query($query);
  21.   while($row=mysql_fetch_assoc($res)) $LIST[]=$row;
  22.   include 'list.php';
  23. } else { // form displaying part:
  24.   if ($id=intval($_GET['id'])) {
  25.     $query="SELECT * FROM $table WHERE id=$id";
  26.     $res=mysql_query($query);
  27.     $row=mysql_fetch_assoc($res);
  28.     foreach ($row as $k => $v) $row[$k]=htmlspecialchars($v);
  29.   } else {
  30.     $row['name']='';
  31.     $row['id']=0;
  32.   }
  33.   include 'form.php';
  34. }
  35. ?>


form.php
PHP:
скопировать код в буфер обмена
  1. <form method="POST">
  2. <input type="text" name="name" value="<?=$row['name']?>"><br>
  3. <input type="hidden" name="id" value="<?=$row['id']?>">
  4. <input type="submit"><br>
  5.  
  6. <br>
  7. <a href="?">Return to the list</a>
  8. </form>


list.php
PHP:
скопировать код в буфер обмена
  1. <a href="?id=0">Добавить запись</a>
  2. <br>
  3. <br>
  4. <? foreach ($LIST as $row): ?>
  5. <li><a href="?id=<?=$row['id']?>"><?=$row['name']?></a>
  6. <? endforeach ?>
  7. <br>
  8. <br>
  9. <a href="index.php">Вернуться к справочнику</a>

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB