Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Редактирование набора полей

Сообщения:  [1-10]    [11-20]  [21-25] 

 
 автор: sim5   (12.02.2010 в 03:55)   письмо автору
 
   для: vale1487   (11.02.2010 в 21:33)
 

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

Вы уже такой дока, что даже на этапе изучения/отладки не хотите получать сообщения о возможных ошибках запроса?
Проверить булевое значение достаточно как if($result)....
\n для браузера (в качестве указания переходя на новую строку) пустой звук, он понимает только <br>.
И вообще выбросить эту проверку из цикла, проку от нее ни какого в данном случае.

  Ответить  
 
 автор: vale1487   (11.02.2010 в 21:33)   письмо автору
 
   для: sim5   (11.02.2010 в 18:13)
 

Вот что у меня получается

<form action="" method="post">
<input type="text" name="hotel[]" value="Отель1"> </br>
<input type="text" name="hotel[]" value="отель2"></br>
<input type="submit" value="Send">
</form>

foreach ($_POST['hotel'] as $hotel) // проход по массиву и запись в переменную

{

$result= mysql_query("INSERT INTO interes (hotel) VALUES ('$hotel')"); //заносим в таблицу поля и результат запроса присваиваем переменой $result
if ($result==true)

{

echo "дабавлено\n";
}


else

{

echo "ошибка добавления";
}
}


В базу приходит все как надо, но если добавить еще поля

<input type="text" name="prise[]" value="цена2"></br>
<input type="text" name="prise[]" value="цена2"></br>

то тут задтруднение

  Ответить  
 
 автор: sim5   (11.02.2010 в 18:13)   письмо автору
 
   для: vale1487   (11.02.2010 в 18:06)
 

Примеров от элементарных до сложных в разделе http://softtime.ru/forum/index.php?id_forum=3 форума хоть отбавляй. Вы простых вещей не понимаете. К тому же, вы хотя бы напишите что представляет ваш массив полученный из формы.
Создайте просто массив без всякой формы, пройдите его циклом и вносите его значения в базу. Зная синтаксис запроса, и как получать значения массива, это будет совсем не сложно записать как код. Вот вам уж очень простейший пример будет. НО напишите этот код сами, и покажите его ВЕСЬ здесь, если будут проблемы.
У вас же даже строка запроса к базе имеет ошибки (по крайней мере в том, что вы выставили здесь), попробуйте найти их сами.

  Ответить  
 
 автор: sim5   (11.02.2010 в 18:06)   письмо автору
 
   для: neadekvat   (11.02.2010 в 18:01)
 

Да, верно, хотел сказать о "пропавших" элементах массива, а получилось.... )

  Ответить  
 
 автор: vale1487   (11.02.2010 в 18:06)   письмо автору
 
   для: sim5   (11.02.2010 в 17:51)
 

это один из вариантов

я вставлял mysql_query("INSERT INTO таблица...

и в теле цикла, у меня вставялись почему то очень много значений вместо в базу , вместо 2.

Я ж много не прошу , мне б элементарный пример на основе выше описанных примеров. Там буду разбираться.

  Ответить  
 
 автор: neadekvat   (11.02.2010 в 18:01)   письмо автору
 
   для: sim5   (11.02.2010 в 17:51)
 

Разве вне цикла $hotel не будет существовать? По-меому, в $hotel будет последнее значение из массива.
Но ситуацию это, конечно, не меняет.

  Ответить  
 
 автор: sim5   (11.02.2010 в 17:51)   письмо автору
 
   для: vale1487   (11.02.2010 в 17:20)
 

Зачем вы в цикле выводите значение в браузер, а вне цикла пытаетесь его внести в базу? Вне цикла переменной $hotel уже не существует! У вас таким макаром вообще ничего в базу вноситься не будет. К тому же, хотя бы так дополняйте запрос:
mysql_query("INSERT INTO таблица VALUES ('$hotel')") or die (mysql_error());
и обязательно получите сообщение о существующих ошибках при запросе.
Еще раз прочтите об операторе INSERT.
Впрочем, судя по вашему коду, вам нужно не с этого начинать, мне так кажется.

  Ответить  
 
 автор: neadekvat   (11.02.2010 в 17:33)   письмо автору
 
   для: vale1487   (11.02.2010 в 17:20)
 

омг..
foreach ($_POST['hotel'] as $hotel)
{
echo "<b>$hotel</b><br>";
mysql_query("INSERT INTO таблица VALUES ('$hotel');
}

И это не вопрос "знаю/не знаю" и опыта. Это логика, обычная логика..

  Ответить  
 
 автор: vale1487   (11.02.2010 в 17:20)   письмо автору
 
   для: sim5   (10.02.2010 в 16:49)
 

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

И так и не могу разбраться с методом обработки, мозгов не хватает.

небольшая выдержка
обрабатываем массив от формы

foreach ($_POST['hotel'] as $hotel)
{
echo "<b>$hotel</b><br>";

}

mysql_query("INSERT INTO таблица VALUES ('$hotel')

Не могу я до сих пор понять как массив присланный от формы заставить в таблицу уйти весь. У меня то только одно поле корректно вставится а другое пустое то наоборот.

  Ответить  
 
 автор: sim5   (10.02.2010 в 16:49)   письмо автору
 
   для: vale1487   (10.02.2010 в 15:59)
 

Выполнение скрипта, запрос к базе, это не мультик, работа эта ничего не показывает, окромя сообщений о ваших возможных ошибках.
А результат работы - помещение данных в базу, вот в нее вы можете заглянуть. Вы видимо код имели ввиду. Можно конечно и написать, но а самому написать? Вы изучили оператор INSERT?
Учиться надо, а это значит надо пробовать, а не слепо копировать себе то, что вам покажут. Поэтому пишите, а уж на ошибки ваши вам укажут на форуме. Вот это для вас будет куда полезнее для понимания.
Давайте, пробуйте, и результат проб сюда, если что не так будет ;-)

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-25] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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