PHP.SU

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

Страниц (20): В начало « ... 12 13 14 15 16 17 18 19 [20]

> Найдено сообщений: 298
Deonis Отправлено: 11 Июня, 2010 - 16:27:08 • Тема: Обработка очень большой формы • Форум: Программирование на PHP

Ответов: 13
Просмотров: 1360
Спасибо всем за ответы!
Решил задачу таким образом:
PHP:
скопировать код в буфер обмена
  1.  
  2. /*Вытаскиваем все поля таблицы*/
  3. $fields = mysql_list_fields("dbName", "table", $db);
  4. $cols = mysql_num_fields($fields);
  5. for ($i = 2; $i < $cols; $i++) {
  6.                 $fieldName.= ", ".mysql_field_name($fields, $i);
  7. }
  8. /*Аттачим переменные*/
  9. for($i=1;$i<=84;$i++)
  10. {
  11.         if($_POST['data'] != "")
  12.         {
  13.                 $data.=", ".$_POST['data'];
  14.         }
  15.         else
  16.         {
  17.                 $data.=", ''";
  18.         }
  19. }
  20. $dogId = $_POST['id'];
  21. $query = "INSERT INTO table (dogId".$fieldName.") VALUES ('$dogId'".$data.")";
  22. $res = mysql_query($query,$db);
  23.  


Способ конечно ОЧЕНЬ далёк от идеального, но в данном моём случае лень-матушка меня победила. Уж больно меня ломало всё это дело набирать вручную. Новичкам, таким как я, не советую злоупотреблять таким способом, т.к. промахнётесь с порядком и поплывут ваши переменные, как кораблики в весеннем ручье ;)
Deonis Отправлено: 10 Июня, 2010 - 20:46:04 • Тема: Посоветуйте хороший редактор php • Форум: Программное обеспечение

Ответов: 20
Просмотров: 12032
Думаю, что как новичка, я бы посоветовал Dreamweaver. Тем более, что начинать действительно надо с HTML и CSS. Он хоть и не бесплатный, но начинающему он пригодиться.
Deonis Отправлено: 10 Июня, 2010 - 17:53:39 • Тема: Обновление поля • Форум: Программирование на PHP

Ответов: 9
Просмотров: 691
Две таблицы:
В первой (table1) два поля - id, type (тут у нас Моря, Океаны, Озера)
Во второй таблице (table2) три поля - id, typeId, name (тут - Красное, Черное, Тихий, Индийский, Байкал)

Значение поля typeId соответствует полю id в перой таблице.
Теперь код:
PHP:
скопировать код в буфер обмена
  1.  
  2. //Делаем запрос на море (у Моря - id = 1)
  3. $choice = 1;
  4. //Запрос к базе
  5. $db = mysql_connect("localhost","root","");
  6. $query = "SELECT table2.name FROM table2 ";
  7. $query.= "WHERE table2.typeId = $choice";
  8. $res = mysql_query($query,$db);
  9. $row = mysql_fetch_array($res);
  10. //Выводоим результат
  11. do{
  12.         printf("<p>%s</p>",$row['name']);
  13. }
  14. while($row = mysql_fetch_array($res));
  15.  


На выходе получаем:
Красное
Черное
Deonis Отправлено: 10 Июня, 2010 - 16:32:28 • Тема: Обработка очень большой формы • Форум: Программирование на PHP

Ответов: 13
Просмотров: 1360
qbik пишет:

PHP:
скопировать код в буфер обмена
  1. $sql="insert...";
  2. //далее  
  3. foreach ($_POST["data"] as $data) $sql.=",".$data." ";


Спасибо за ответ, как вариант Подмигивание
Deonis Отправлено: 10 Июня, 2010 - 15:40:05 • Тема: Обработка очень большой формы • Форум: Программирование на PHP

Ответов: 13
Просмотров: 1360
SAD пишет:
А зачем Вам нужны имена? А заносить то в базу, тоже нужно аж 168 имен написать


Я может не очень правильно объяснил. В таблице есть соответственно полям формы 84 поля. У каждого поля в базе естественно своё уникальное имя. И для того, чтобы данные из каждого поля формы "поселились" в нужной ячейке мне надо указывать это при запросе:
PHP:
скопировать код в буфер обмена
  1.  
  2. $query = "INSERT INTO table (aa,bb,cc,.....nn) VALUES ('$aa', '$bb', '$cc',.......'$nn')";
  3. $res = mysql_query($query,$db);
  4.  

Чтоб еще более понятной стала задачка, то это будет таблица с родословными собак. У каждого собакевича есть свои поля: имя, инфо, дата рождения... Поэтому и форма очень большая. Надо внести пап, мам, дедушек, бабушек, всех прадедушек до определённого колена.
Deonis Отправлено: 10 Июня, 2010 - 14:07:54 • Тема: Обработка очень большой формы • Форум: Программирование на PHP

Ответов: 13
Просмотров: 1360
Доброго времени суток, господа!
Возникла проблема, надеюсь на вашу помощь.
Суть:
Как мне известно, не все сервера поддерживают работу с глобальными переменными. Поэтому при передаче данных из формы в обработчик я перевожу глобальные переменные в обычные, ну типа:
PHP:
скопировать код в буфер обмена
  1.  
  2. $name = $_POST['name'];
  3. $mail = $_POST['mail'];
  4. .......
  5. $n = $_POST['$n'];
  6.  

И в дальнейшем вношу в базу, используя уже эти обычные переменные.
Обычно этих переменных не так много и написать вышеуказанный код не так сложно, НО... столкнулся с задачей, в которой мне нужно обработать данные из 84-ёх полей и у каждого поля уникальное имя. Руки опускаются при мысли писать восемьдесят четыре раза перевод переменной из глобальной в обычную Плач
Первая мысль была использовать foreach, но в этом случае теряеться уникальное имя переменной, посему вариант отпал. Может кто поможет решить эту проблему, а нет, то пойду мылить веревку Огорчение
Deonis Отправлено: 27 Мая, 2010 - 12:32:21 • Тема: Описание шаблонов preg_match • Форум: Программирование на PHP

Ответов: 2
Просмотров: 932
alexspb пишет:
Пользуйтесь поиском составление регулярных выражений
Это тот случай, где надо вдумчиво читать, пробовать составлять и т.п.
Дело нелегкое, но когда освоите, в собственных глазах вырастите ))


Спасибо! Подмигивание
Deonis Отправлено: 27 Мая, 2010 - 05:34:13 • Тема: Описание шаблонов preg_match • Форум: Программирование на PHP

Ответов: 2
Просмотров: 932
Доброго времени суток! Медленно, но уверенно продвигаясь в изучении PHP, на php[dot]su я добрался до описания функций preg_match, preg_match_all и т.д. Вроде бы всё понятно, но во как самому составлять шаблоны - увы мне не ясно в связи с тем, что я не знаю какой и за что символ отвечает.
Пример из статьи:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Извлекаем имя хоста из URL
  4. preg_match("/^(http:\/\/)?([^\/]+)/i",
  5.     "http://www.php.net/index", $matches);
  6. $host = $matches[2];
  7.  
  8. // извлекаем две последние части имени хоста
  9. preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
  10. echo "domain name is: {$matches[0]}\n";
  11. ?>
  12.  


Так вот набор символов аля /^(http:\/\/)?([^\/]+)/i - для меня "тёмный лес". Пожалуйста, помогите найти их описание и как правильно составлять шаблоны. Если там объяснять не много, то может быть расскажите прямо в этом посте.
Deonis Отправлено: 21 Мая, 2010 - 04:03:42 • Тема: Визулизация сайта • Форум: HTML, Дизайн & CSS

Ответов: 13
Просмотров: 5156
JustUserR пишет:
...для получения инофрмации об разрешении экрана - а ширина и высота окна браузера это document.body.clientWidth и document.body.clientHeight соответственно ...


Если можно, то с этого места поподробней Закатив глазки Почему-то это в ИЕ7 не работает (наверное только у меня Недовольство, огорчение ). Одновременно тестирую и в Firefox, так тут все пашет как надо. Это проблема браузера или же нужен особый подход?
Пардон, не предоставил сразу доступное описание своей проблемы: есть задумка - в зависимости от размеров (именно размеров браузера, а не текущего разрешения) менять подключаемые CSS. Т.е. если человек при разрешении скажем 1024х768 развернул браузер всего на пол экрана, то подключается соответствующий класс в котором прописаны размеры адаптированно под такого пользователя.
Очень не хочется отказываться от этой идеи, но увы, не получается. Если можно, то помогите "ботанику" Огорчение
Deonis Отправлено: 17 Мая, 2010 - 18:21:12 • Тема: Сравнение данных БД и вносимых данных • Форум: Программирование на PHP

Ответов: 4
Просмотров: 445
JustUserR пишет:
Однако вы можете сделать свою SQL-функицю которая будет удалять пробелы из строк со стороны БД


Спасибо! Мне, как новичку это будет полезно. Хотя, всегда было стремновато подходить к написанию собственных функций. Учителя у меня нет, а самому... ощущение, что это дремучий лес Улыбка Ну, будем потихоньку въезжать. Если знаете, то может подскажете доступную для понимания статейку по самым азам написания функций?
Deonis Отправлено: 17 Мая, 2010 - 17:26:58 • Тема: Сравнение данных БД и вносимых данных • Форум: Программирование на PHP

Ответов: 4
Просмотров: 445
Всем доброго времени суток!
Есть проблемка, может подскажете? Некоторые решения этой задачи на форуме видел, но полностью удовлетворяющих - увы нет.
Суть: в базе есть, ну скажем, наименование моделей оборудования, они могут состоять из одного, двух и более слов. Для того, чтобы не дублировались они я делаю проверку, может по тупому, но типа так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $newBrand = $_POST['newBrand'];
  3. $res = mysql_query("SELECT * FROM Brands WHERE brandName LIKE '%$newBrand%' COLLATE cp1251_general_ci", $db);
  4.  

Но работает это не всегда корректно, т.к. для полной уверености мне необходимо поубирать пробелы, и не только в новом вносимом названии (newBrand), но и в названиях, уже находящихся в базе.
Например, в базе есть модель "ААА 12 34", вносимое новое название "ААА 1 23 4". Они идентичны просто ввели по другому. Как же их сравнить? Со вносимым все ясно - $newBrand = str_replace(" ", "", $newBrand); , но как быть с тем что в базе? Вытаскивать все наименования и прогонять их через do while - мне кажеться тупо. Если альтернативное решение?
Deonis Отправлено: 17 Марта, 2010 - 09:37:13 • Тема: Заменить запятую на точку • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 218
AdMeen пишет:
... хотя, маны надо читать =).

Вы правы, обычно так и делаю, но почему-то с этой проблемой зашел в тупик, всю ночь по инету искал ответ, но видать промахивался Улыбка Мне показалось, что ответ лежит где-то рядом с функцией preg_replace, но и разобраться самому пока с ней не удалось, и с верного пути меня это чуть сместило.

ЗЫ. Спасибо за помощь, всё работает Улыбка
Deonis Отправлено: 17 Марта, 2010 - 05:26:46 • Тема: Заменить запятую на точку • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 218
Есть задача, которая наверняка многим покажется смешной, но сделайте скидку на то, что я занимаюсь PHP и MySQL только месяц и без учителей.
Итак, пользователь вводит в форму цену товара, которая имеет "копейки", например 110,55. В таблице поле price имеет тип float(7,2) . Естественно, что запись храниться в базе не как 110,55 (с запятой), а 110.55 (с точкой) . Посему и вводить цену надо с точкой, а в ином случае в поле запишеться просто 110.00
Как сделать так, чтоб если пользователь ввел случайно цену с запятой, перед внесением в базу запись проверялась и, если надо, то запятая менялась на точку? Но что ещё более сложное для меня, так это решить проблему, если пользователь введёт ошибочно какой-нибудь символ после цены, например - 110,55f

Страниц (20): В начало « ... 12 13 14 15 16 17 18 19 [20]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB