Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выбор из меню и запись в БД 
:(
    Опции темы
roror
Дата 12.10.2007, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.10.2007

Репутация: нет
Всего: нет



   
Есть скрипт на php который выводит табличку с данными хранящимися в БД, 2 столбца (последних) в этой таблице необходимо редактировать. Это осуществляется при помощи выпадающих меню. Суть проблемы: необходимо сделать так, что бы данные записывались в БД, отображались уже внесенные данные и не затирались существующие. Вот скрипт:

Код

<?
$db = pg_query("select * from konkurs where datep>='".$date."' and datep<='".$end_date."' order by datep DESC"); 

//////Caaieiaee oaaeeou 
echo '<table cellpadding="3" cellspacing="0" class="events">'; 
echo '<tr align="center" height="20"><td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">Iiia? caiene</td>'; 
echo '<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">Aaoa aianaiey</td>'; 
echo '<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">Iaeiaiiaaiea caeac?eea</td>'; 
echo '<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">Oei eiieo?na</td>'; 
echo '<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">Nnueea</td>'; 
echo '<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">Iienaiea</td>'; 
echo '<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">Oaia</td>'; 
echo '<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">Aaoa iiaa?e</td>'; 
echo '<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">Ioaaonoaaiiue</td>'; 
echo '<td class="events" align="center" bgcolor="#EEEEEE"><p class="news_header">?acoeuoao</td></tr>'; 
?> 

<form action="konkurs_red.php" method="post"> 

<?php 
$a=0; 
$old = pg_query("select *  from konkurs where datep>='".$date."' and datep<='".$end_date."' order by datep DESC"); 

    while($rez = pg_fetch_row($old)) { 
$a++; 
echo '<tr class="row' . ($a%2+1) . '">'; 
echo '<td class="events"><p class="text">' .$rez['0'].'<br></td>'; 
echo '<td class="events"><p class="text">' .$rez['1'].'<br></td>'; 
echo '<td class="events"><p class="text">' .$rez['2'].'<br></td>'; 

echo '<td class="events"><p class="text">' .$rez['4'].'<br></td>'; 
echo '<td class="events"><p class="text">' .$rez['5'].'<br></td>'; 
echo '<td class="events"><p class="text">' .$rez['6'].'<br></td>'; 
echo '<td class="events"><p class="text">' .$rez['7'].'<br></td>'; 
echo '<td class="events"><p class="text">' .$rez['8'].'<br></td>'; 

///////////////////////Часть кода при помощи которой должно происходить редактирование данных, вывод существующих и запись в БД новых. 

echo "<td><select name=\"ar[".$rez[0]."]\" style=\"width:100\">  
<option align=\"center\" value=\"\">"; 
?> 
<?=$rez['9']?> 
<? 
echo " </option> 
  <option value=\"Eaaaeia\">Eaaaeia</option> 
  <option value=\"Ni?ieei\">Ni?ieei</option> 
  <option value=\"O?oaeei\">O?oaeei</option> 
  <option value=\"Iaoeiaa\">Iaoeiaa</option> 
  <option value=\"Oaa?iaa\">Oaa?iaa</option> 
  <option value=\"E?anii?aiia\">E?anii?aiia</option> 
  <option value=\"Aa??aiei\">Aa??aiei</option> 
  <option value=\"Aa??aiei\">Iaii?eei</option> 
</select></td>"; 

///////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 

echo  "<td><select name=\"am[".$rez[0]."]\" style=\"width:100\">  
<option align=\"center\" value=\"\">"; 
?> 
<?=$rez['10'] ?> 
<? 
echo "</option>  
  <option value=\"Auea?ai\">Auea?ai</option>  
  <option value=\"I?iea?ai\">I?iea?ai</option>  
  <option value=\"Ia ninoiyeny\">Ia ninoiyeny</option>  
  <option value=\"Ia o?anoaoai\">Ia o?anoaoai</option>  
  </select></td>"; 
} 
echo '</table>'; 
?> 

<table cellpadding="2" cellspacing="10" border="0" align="right"> 
<tr><td align="right"> 
<br><br> 
<input type="submit" Name="boot" value="Iaiiaeou eioi &raquo;&raquo;&raquo;"> 
</td></tr> 

</table> 
    </form> 
     
<? 
if (!empty($_POST['boot'])) {                                                                //// ioi?aaea aaiiuo n eiiiee 
    while( (list($idx,$val) = each($ar)) and (list($idx,$val) = each($am)) ) 
    { 
     pg_query("UPDATE konkurs SET otv='".$ar[$idx]."', rez='".$am[$idx]."' WHERE id=$idx"); ////iaiiaeaiea a aa ?aaaeoe?oaiuo aaiiuo 
    } 
} 
echo '</table>'; 
?>


Спасибо!
PM MAIL   Вверх
comcon1
Дата 12.10.2007, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: нет
Всего: 17



В чем проблема конкретно???


--------------------
PM MAIL   Вверх
roror
Дата 12.10.2007, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.10.2007

Репутация: нет
Всего: нет



Этот скрипт представляет из себя таблицу, некоторые поля которой можно редактировать при помощи выпадающих меню. Если в базе уже есть данне то они отображаются. Если ввести данне, то старые данные стираются, даже те которые находятся в других ячейках. Складывается впечатление что переменная которая отвечает за запись данных пуста, вносятся только конкретно выбранные данные.
Мне кажется что причина вот тут, в самих менюшках:

Код

echo  "<td><select name=\"am[".$rez[0]."]\" style=\"width:100\">   //// значение взятое из select записывается в бд
<option align=\"center\" value=\"\">";                                               /// вот тут мне кажется и ошибка value должно иметь какое то значение, что бы если ничего не выбрано и в базе есть данные то они просто переписывались а не стирались
?>  
<?=$rez['10'] ?>                                                                                   /// выводит инфу из базы, если она там есть
<? 
echo "</option>  
  <option value=\"Auea?ai\">Auea?ai</option>  
  <option value=\"I?iea?ai\">I?iea?ai</option>  
  <option value=\"Ia ninoiyeny\">Ia ninoiyeny</option>  
  <option value=\"Ia o?anoaoai\">Ia o?anoaoai</option>  
  </select></td>";


вот так выглядит запрос к БД

if (!empty($_POST['boot'])) {                                                            
    while( (list($idx,$val) = each($ar)) and (list($idx,$val) = each($am)) )
    {
     pg_query("UPDATE konkurs SET otv='".$ar[$idx]."', rez='".$am[$idx]."' WHERE id=$idx"); 
    }
}
echo '</table>';

Это сообщение отредактировал(а) roror - 12.10.2007, 12:28
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.