Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.06.2011, 15:40
Аватар для DarkRevenger
Новичок на форуме
Отправить личное сообщение для DarkRevenger Посмотреть профиль Найти все сообщения от DarkRevenger
 
Регистрация: 19.04.2011
Сообщений: 6

Ajax+PHP+MySQL checkbox
Доброго времени суток. Начал писать страничку на php, хочу добавить туда некоторый функционал, но никак не соображу. Может кто-нибудь подсказать логику как это должно работать? Хотябы в какую сторону копать, потому-что из-за одной такой функции читать горы литературы по AJAX уже устал.
Ситуация такая. Есть 2 файла на php. Index и fullform.
в индексе просто выпадающий список, который формируется по результату запроса к БД.
<select name="calls" id="calls" style="width:415px;">
<option value='0'>Select the recipient</option>
<?$q = mysql_query("SELECT distinct recipient FROM Calls WHERE phone_number=$phone_number  AND Calls.date_of_call 
BETWEEN DATE_SUB(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), INTERVAL DAY(CURDATE())-1 DAY) 
AND DATE_SUB(CURDATE(), INTERVAL DAY(CURDATE()) DAY) and Calls.Cost<>0 ");
$p = mysql_fetch_array ($q);
do{echo "<option value=".$p['recipient'].">".$p['recipient']."</option>";}
while ($p = mysql_fetch_array ($q));?></select>

в fullform в зависимости от выбора выводятся данные по выбранному условию. Коды выложить не могу, очень большие файлы, только запросы и циклы. Ну примерно так
if($myrow['personal']==1)
{$o[]="<td class='check'><input type=checkbox name=\"call_select[]\" checked data-on=\"Personal\" data-off=\"Business\" value=\"$value\" ></td>";}
             else
{$o[]="<td class='check'><input type=checkbox name=\"call_select[]\" data-on=\"Personal\" data-off=\"Business\"  value=\"$value\" ></td>";}
  $o[]="<td align=right>{$myrow['cost']}</td>";
             $o[]="<td>{$myrow['recipient']}</td>";
             $o[]="<td>{$myrow['date_of_call']}</td>";
             $o[]="<td>{$myrow['time_of_call']}</td>";
             $o[]="<td>{$myrow['duration']}</td>";
             $o[]="<td align=right>{$myrow['connection_type']}</td>";
             $o[]="<td align=center>{$myrow['volume']}</td>";
             $o[]="<td>{$myrow['rouming']}</td>";
             $o[]="</thead></tr>";
       }
       $o[]="</tbody></table>";
       $o[]="<input type=\"submit\" name=\"set_personal\" value=\"RESULT\">";
       $o[]="</form><br>";
       echo implode('',$o);

кнопка RESULT. В ней как раз вся проблема. От неё нужно избавиться. Т.е. нужно как-то сделать так чтобы если юзер отметил чекбокс, значение поля personal в таблице Calls поченялось с 0 на 1. Я это сделал в php, но вот в чём проблема: чтобы значения записались в БД, нужно нажать кнопку, а как от неё избавиться?
Я в принципе много чего перечитал про события oncklick и onchange и onchecked, но что-то не понял как их привязать к php и mysql. Можете объяснить, или линку дать, где есть информация. Там вот есть такой момент data-on и data-off. Это нажат или нет, можно как-то с ними связать? Вообще всё немного сложнее. Value всех элементов таблицы должно записываться в другие таблицы, но с этим я разбирусь, когда пойму, как работать с AJAX в такой ситуации.

Последний раз редактировалось DarkRevenger, 08.06.2011 в 09:37.
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2011, 10:49
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от DarkRevenger Посмотреть сообщение
чтобы значения записались в БД, нужно нажать кнопку, а как от неё избавиться?
Чтобы значения записались в БД нужно не на кнопку нажать, а отправить AJAX-запрос на сервер
А отправку запроса Вы можете повесить на что угодно: на onclick() по строке текста, на checkbox, на onchange() поля... Единственный минус в том, что вместо одного запроса, который отправляет всю форму разом у Вас будет много индивидуальных запросов.
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2011, 00:30
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Код:
{$o[]="<td class='check'><input type=checkbox name=\"call_select[]\" checked data-on=\"Personal\" data-off=\"Business\" value=\"$value\" ></td>";}
{$o[]="<td class='check'><input type=checkbox name=\"call_select[]\" data-on=\"Personal\" data-off=\"Business\"  value=\"$value\" ></td>";}
$o[]="<input type=\"submit\" name=\"set_personal\" value=\"RESULT\">";
ох, Господи Иисусе. сюда бы вставить картинку с Пикаром (Жаном-Люком), но я пока не настолько разочарован.

это же форум JS, JavaScript, но никак не рекурсивной аббревиатуры.

прошу вас, не надо так выкладывать код! его ж нихрена невозможно читать

напишите сразу готовый html-код, с которым будет работать JS
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2011, 07:43
Аватар для DarkRevenger
Новичок на форуме
Отправить личное сообщение для DarkRevenger Посмотреть профиль Найти все сообщения от DarkRevenger
 
Регистрация: 19.04.2011
Сообщений: 6

Сообщение от Маэстро Посмотреть сообщение
Чтобы значения записались в БД нужно не на кнопку нажать, а отправить AJAX-запрос на сервер
Ну как бы кнопка для этого и нужна =) (в приведённом примере)
Сообщение от melky
напишите сразу готовый html-код, с которым будет работать JS
Если я напишу ГОТОВЫЙ код с РАБОТАЮЩИМ JS тогда зачем мне вообще писать сюда.?
Ответить с цитированием
  #5 (permalink)  
Старый 14.06.2011, 07:45
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от melky Посмотреть сообщение
напишите сразу готовый html-код, с которым будет работать JS ( манипулировать с html)
Сообщение от DarkRevenger Посмотреть сообщение
Если я напишу ГОТОВЫЙ код с РАБОТАЮЩИМ JS тогда зачем мне вообще писать сюда.?
почувствуйте разницу

так покажите html или нет?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX + Firefox некорректное отображение checkbox shu7 Firefox/Mozilla 2 26.06.2015 14:23
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
AJAX обращение к файлу php и получение значения zeraid jQuery 8 28.03.2011 14:46
Разработка движка для сайта. MySQL, PHP Shitbox2 Работа 25 13.03.2011 20:58
Как передать массив из PHP в js (AJAX) Александр Иванов Общие вопросы Javascript 7 10.09.2009 10:22