Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

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

 

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

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

тема: выбор из меню и запись в БД

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

 
 автор: sim5   (12.10.2007 в 15:06)   письмо автору
 
   для: rez   (12.10.2007 в 14:35)
 

Я сейчас материться начну, и очень сильно!) В отличие от Faraon'a, я вам ничего не предлагал, я вам советовал проверить самого себя! Я лишь говорил, что можно поступить так, либо так. Я не писал того, что вы используете, а если бы писал, то совсем не так. Вы "вольно" обращаетесь к индексам массива, что для меня не понятно, то что у вас таблица не верно закрыта, вы мимо ушей, вы хотите "если", но в вашем коде я нигде не свтречал ни одной проверки...
Даже не зная что все таки означет $rez['10'], а правильнее наверное будет $rez[10], я могу точно сказать, что это не "выводит информацию из БД" как вы пишите, а некая переменная полученная из базы. А теперь ваше:

> если в бд уже есть информация по выбранному пункту меня, то отображается по умолчанию именно он

Где отображается? Вы эту переменную сами не занете куда запихнуть, а мне от куда это знать, что это за $rez[10], так и осталось загадкой.

>Как бы сделать так что бы он при нажатии на кнопку отправить не затирался а перезаписывался какраз значением из $rez['10'] (в случае если инфа есть) или из am[".$rez[0]."] (в случае если инфы нет или выбрано другое значение).

Если что-то выводите, но при условии, то проверте перед выводом это условие - удовлетворяет ему - выводите, нет, значит нет. Тоже самое при записи.

   
 
 автор: rez   (12.10.2007 в 14:35)   письмо автору
 
   для: sim5   (12.10.2007 в 13:56)
 

Предложенный вами способ тоже не сработал! =(

>Что вообще это такое $rez['10']? Куда у вас пропал закрывающий тег </tr>?
выводит информацию из БД, т.е. если в бд уже есть информация по выбранному пункту меня, то отображается по умолчанию именно он. Вот с этим как рах и трабла! Как бы сделать так что бы он при нажатии на кнопку отправить не затирался а перезаписывался какраз значением из $rez['10'] (в случае если инфа есть) или из am[".$rez[0]."] (в случае если инфы нет или выбрано другое значение).

   
 
 автор: sim5   (12.10.2007 в 13:56)   письмо автору
 
   для: rez   (12.10.2007 в 13:28)
 

Кода чего? Если вы о селекте:

то вместо этого:
<?
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>'
?>
вот это:
<?
echo  "<td><select name=\"am[".$rez[0]."]\" style=\"width:100\">  
  <option value=\"Auea?ai\" selected>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>'
?>

Что вообще это такое $rez['10']? Куда у вас пропал закрывающий тег </tr>?

   
 
 автор: rez   (12.10.2007 в 13:28)   письмо автору
 
   для: sim5   (12.10.2007 в 13:02)
 

>Если вы считаете что в этом, то:
>1. Можете выбросить вообще этот пустой опшен, а первому опшену со значением добавьте атрибут selected. Тогда это значение будет выбрано по умолчанию, и вам никогда не придет пустое значение.
>2. Нужно проверять то, что вам приходит! Я вам об этом говорил еще ранее, вы сослались на то, что "все свои", тем не менее вы сами определили в селекте пустое значение, а если ни кто и ничего не выберет, вы об этом думали? Если есть пустое значение - проверьте, либо на стороне клиента, либо на сервере, а далее ужу как вам угодно.

Можно пример кода?

   
 
 автор: sim5   (12.10.2007 в 13:02)   письмо автору
 
   для: rez   (12.10.2007 в 12:07)
 

Если вы считаете что в этом, то:
1. Можете выбросить вообще этот пустой опшен, а первому опшену со значением добавьте атрибут selected. Тогда это значение будет выбрано по умолчанию, и вам никогда не придет пустое значение.
2. Нужно проверять то, что вам приходит! Я вам об этом говорил еще ранее, вы сослались на то, что "все свои", тем не менее вы сами определили в селекте пустое значение, а если ни кто и ничего не выберет, вы об этом думали? Если есть пустое значение - проверьте, либо на стороне клиента, либо на сервере, а далее ужу как вам угодно.

И еще. Вы так и не потрудились, просто вывести на экран то, что получаете из формы. Уверен, если бы вы это сделали, давно бы нашли причину.

   
 
 автор: rez   (12.10.2007 в 12:07)   письмо автору
 
   для: sim5   (12.10.2007 в 10:57)
 

>У вас проблема с обновлением в таблице именно с данными, которые вы принимаете из элемента SELECT, и только с этим?

Да.

>Где в вашей форме прописыввается id номера записи таблицы?

echo '<td class="events"><p class="text">' .$rez['0'].'<br></td>';


echo "<td><select name=\"ar[".$rez[0]."]\" style=\"width:100\"> 


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>';


>Зачем вам пустой опшен в элементе SELECT?

Вот вот, я не знаю что туда вписать! Мне кажется что в этом и заключается проблема!!!!!

   
 
 автор: rez   (12.10.2007 в 12:03)   письмо автору
 
   для: Faraon   (12.10.2007 в 11:28)
 

Не работате! =(

   
 
 автор: Faraon   (12.10.2007 в 11:28)   письмо автору
 
   для: rez   (12.10.2007 в 10:45)
 

Должно работать

<?php
$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>
<input type=hidden name=id[] value="
.$rez[0].">
<select name=\"ar[]\" style=\"width:100\">
<option align=\"center\" value=\""
.$rez['9']."\">";
?>
<?=$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[]\" style=\"width:100\">
<option align=\"center\" value=\""
.$rez['10']."\">";
?>
<?=$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
    
$id=$_POST['id'];
    
$ar=$_POST['ar'];
    
$am=$_POST['am'];

  for(
$i=0;$i<count($id);$i++){
     
pg_query("UPDATE konkurs SET otv='".$ar[$i]."', rez='".$am[$i]."' WHERE id=$id[$i]"); ////iaiiaeaiea a aa ?aaaeoe?oaiuo aaiiuo
    
}
}
echo 
'</table>';
?>

   
 
 автор: sim5   (12.10.2007 в 10:57)   письмо автору
 
   для: rez   (12.10.2007 в 10:24)
 

А вы что уже сбились с пути истинного? Рановато. Я не пастор душ человеческих и на путь истинный не наставляю :))
У вас проблема с обновлением в таблице именно с данными, которые вы принимаете из элемента SELECT, и только с этим? Где в вашей форме прописыввается id номера записи таблицы? Зачем вам пустой опшен в элементе SELECT?

   
 
 автор: rez   (12.10.2007 в 10:45)   письмо автору
 
   для: rez   (12.10.2007 в 10:24)
 

На самом деле Faraon правильно меня понял!!!! Тока предложенный им вариант тоже не подходит, почему то!!!

   

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

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

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