51

Re: добавление записей в бд через форму

VitoS сказал:

а из-за чего конфликтуют эти кавычки?

Событие onclick у вас получается до ближайшей двойной кавычки javascript:document.getElementById(.
Решение заключается в использовании одинарных кавычек, но чтобы PHP не воспринимал их как конец строки, необходимо экранировать (предварять) их косой чертой.
echo '<input type="checkbox" name="checkme" value="0" onclick="javascript:document.getElementById(\'phone\').value=\'Нет\';">Нет';

52

Re: добавление записей в бд через форму

спасибо большое!..заработало

53

Re: добавление записей в бд через форму

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

$stud_ud1='select * from studs group by Fio';
$res_stud_ud=mysql_query($stud_ud1);
echo "<SELECT id='stud_ud' style='font-size: 100%' align=center>";
  while($row_stud_ud=mysql_fetch_array($res_stud_ud,MYSQL_ASSOC)){
  $stud_ud=$row_stud_ud["Fio"];
  echo "<option value=''>$stud_ud</option>";}
  echo"</SELECT>";echo '&nbsp';echo '&nbsp';
  $stud_udal="Select * from studs where Fio='".$_REQUEST['stud_ud']."'";
$res_stud_udal=mysql_query($stud_udal);
  $row_stud_udal=mysql_fetch_assoc($res_stud_udal);
  $id_stud_udal=$row_stud_udal['Id_stud'];...

но у меня не получается это сделать, хотя вроде бы всегда получалось...мож проблема в том, что этот список я создавал с помощью javascript?

<script type="text/javascript">
    $(document).ready(function(){
        $('#stud_ud').indexedselect({defaultText:'Выберите студента...'});
    });
</script>//вот я так я ссылаюсь на этот список...

из-за чего может быть проблема?

54

Re: добавление записей в бд через форму

VitoS сказал:

из-за чего может быть проблема?

В параметре value не задано значение, соответственно выбор любого значения из списка возвращает пустую строку.
echo "<option value=''>$stud_ud</option>";

55

Re: добавление записей в бд через форму

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

56

Re: добавление записей в бд через форму

VitoS сказал:

хотел еще узнать насчет удаления данных из базы

Одним запросом можно удалить данные из нескольких связанных таблиц.
Это пример удаления данных из трех таблиц по связывающему идентификатору id.

DELETE t1, t2, t3 FROM t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;

Документация здесь.

57

Re: добавление записей в бд через форму

спасибо)

58

Re: добавление записей в бд через форму

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

59

Re: добавление записей в бд через форму

VitoS сказал:

как бы вы решили эту проблему?

То есть проблема в том, что надо добавлять мероприятие если его еще не существует? А если мероприятие уже есть в БД, то проблем нет?

60

Re: добавление записей в бд через форму

ну в принципе да, ну еще конечно если мероприятий несколько-как в этом случае быть(причем несколько-может быть любым количеством)...и хотел еще узнать как можно сделать ,чтобы происходил выбор мероприятий...это можно сделать с помощью выпадающего списка, но их у меня уже несколько есть-получится избыток списков...

61

Re: добавление записей в бд через форму

Попробуйте использовать jQuery UI и метод автозаполнения.
http://jqueryui.com/demos/autocomplete/#multiple

62

Re: добавление записей в бд через форму

у меня снова возник вопрос по мероприятиям студентов...я создал скрипт, который добавляет новое текстовое поле (это мне нужно для того, чтобы вбивать несколько мероприятий)..а можно ли как-нибудь для этих текстовых полей создать динамический поиск по базе данных?..пытался найти исходники какие-нибудь-не получилось найти нормальный..подскажите пожалуйста что можно сделать? вот мой скрипт:

echo '<script language="javascript">
var num=1;
function AddItem() {
  div=document.getElementById("num");
  button=document.getElementById("add_pole");
  num++;
  newitem="<strong>Мероприятие " + num + ": </strong>";
  newitem+="<input type=\"text\" name=\"item" + num;
  newitem+="\" size=\"15\"><br>";
  newnode=document.createElement("span");
  newnode.innerHTML=newitem;
  div.insertBefore(newnode,button);
}
</script>';
echo '<div ID="num">
<strong>Мероприятие 1: </strong><input type="text" name="item1" size="15"><br>
<input type="button" value="Добавить поле" onClick="AddItem();" ID="add_pole">
</div>';

63

Re: добавление записей в бд через форму

VitoS сказал:

можно ли как-нибудь для этих текстовых полей создать динамический поиск по базе данных?

Я выше дал ссылку на jQuery UI, там вроде есть то, что вам надо.

Для начала попробуйте сделать поиск для одного статичного поля, и если он будет работать хорошо, то добавляйте на все динамичные.

64

Re: добавление записей в бд через форму

нашел необходимые исходники, но кое-чего не понимаю. Значит, вызываю я необходимые скрипты:
echo '<script src="javascript/jquery.js"></script>
    <script src="javascript/jquery-ui.js"></script>
    <script src="javascript/jquery.ui.autocomplete.html.js"></script>
    <script src="javascript/demo.js"></script>
    <script>
    $(function() {
        $( "#autocomplete" ).autocomplete({
            source: [
                {
                    label: "aardvark 1",
                    value: "aardvark 1"
                },
                {
                    label: "<b>apple 2</b>",
                    value: "apple 2"
                },
                {
                    label: "<i>atom 3</i>",
                    value: "atom 3"
                }
            ],
            html: true
        });
    });
    </script>';
echo '<input type="text" id="autocomplete">';echo '<br>';

но почему то начиная со строки $(function() { весь текст кода выводится на экран..это из-за чего может быть?...и как я понял в данном случае поиск происходит только по значениям вот этим:

source: [
                {
                    label: "aardvark 1",
                    value: "aardvark 1"
                },
                {
                    label: "<b>apple 2</b>",
                    value: "apple 2"
                },
                {
                    label: "<i>atom 3</i>",
                    value: "atom 3"
                }
            ],

а чтобы поиск происходил по определенной таблице нужно в этом участке кода что-то изменить? или нет?

65

Re: добавление записей в бд через форму

VitoS сказал:

текст кода выводится на экран

Подключаемые файлы должны находиться внутри тега <head>.

VitoS сказал:

в данном случае поиск происходит только по значениям вот этим

Совершенно верно. Вы можете либо сформировать массив этих значений выбрав их из БД при генерации страницы, либо воспользоваться Ajax подгрузкой, что будет несколько сложнее в реализации.

66 (изменено: VitoS, 2011-04-20 12:26:27)

Re: добавление записей в бд через форму

Подключаемые файлы должны находиться внутри тега <head>. все равно отображается на экране....текст заключенный в теге <script> появляется на экране:

<script>
    $(function() {
        $( "#autocomplete" ).autocomplete({
            source: [
                {
                    label: "aardvark 1",
                    value: "aardvark 1"
                },
                {
                    label: "<b>apple 2</b>",
                    value: "apple 2"
                },
                {
                    label: "<i>atom 3</i>",
                    value: "atom 3"
                }
            ],
            html: true
        });
    });
    </script>

и хотел узнать, у меня почему-то несколько javascritов контактируют между собой...это из-за чего может быть? ну вот к примеру у меня 2 скрипта описанные в теге <head>:

    (1)<script>
    $(function() {
        $( "#autocomplete" ).autocomplete({
            source: [
                {
                    label: "aardvark 1",
                    value: "aardvark 1"
                },
                {
                    label: "<b>apple 2</b>",
                    value: "apple 2"
                },
                {
                    label: "<i>atom 3</i>",
                    value: "atom 3"
                }
            ],
            html: true
        });
    });
    </script>
   (2) <script type="text/javascript">
    $(document).ready(function(){
        $('#stud_ud').indexedselect({defaultText:'Выберите студента...'});
    });
</script>

из-за чего может быть конфликт этих скриптов? и причем второй скрипт нормально работал без первого...

67

Re: добавление записей в бд через форму

VitoS сказал:

из-за чего может быть конфликт этих скриптов?

Ошибка в разметке, сам код рабочий, но если он выводится, как текст - значит тег <script> не работает. Проверьте разметку: лишние пробелы, правильность написания тегов и т. д. Тип скрипта можно не указывать только в HTML5, <!DOCTYPE html>, иначе надо добавлять type="text/javascript".

При работе с JavaScript поможет Firebug - расширение Firefox.

68 (изменено: VitoS, 2011-04-20 14:09:41)

Re: добавление записей в бд через форму

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

69

Re: добавление записей в бд через форму

VitoS сказал:

теперь один скрипт работает, а другой нет

Займитесь отладкой, я уже указал на Firebug.

70 (изменено: VitoS, 2011-04-20 19:58:20)

Re: добавление записей в бд через форму

если я правильно понимаю Firebug должен выявить ошибки?...если так, то ошибок он не выводит..а браузер ругается на эту строчку  $('#autocomplete').autocomplete({...пишет, что объект не поддерживает это свойство или метод...это может быть из-за чего?

71

Re: добавление записей в бд через форму

VitoS сказал:

это может быть из-за чего?

Это может быть из-за неправильного подключения файлов скрипта в заголовке.

Если браузер выводит ошибки, то Firebug тем более будет это делать. Нажмите на жука и перейдите во вкладку Console.

72

Re: добавление записей в бд через форму

у меня вывелась ошибка :

$("#autocomplete1").autocomplete is not a function
[Прерывать на этой ошибке] html: true

а вот сам скрипт:
<script type="text/javascript">
     $(function() {
        $('#autocomplete1').autocomplete({
            source: [
                {
                    label: "aardvark 1",
                    value: "aardvark 1"
                },
                {
                    label: "<b>apple 2</b>",
                    value: "apple 2"
                },
                {
                    label: "<i>atom 3</i>",
                    value: "atom 3"
                }
            ],
            html: true
        });
    });
    </script>

нужно вообще убрать эту строчку?..и я немного не понял, что эта строчка делает?

73

Re: добавление записей в бд через форму

VitoS сказал:

я немного не понял, что эта строчка делает?

Ссылку на примеры я уже давал, http://jqueryui.com/demos/autocomplete/
А что это у вас такое - я не могу знать.

74 (изменено: VitoS, 2011-04-20 23:00:45)

Re: добавление записей в бд через форму

VitoS сказал:

в данном случае поиск происходит только по значениям вот этим

Совершенно верно. Вы можете либо сформировать массив этих значений выбрав их из БД при генерации страницы, либо воспользоваться Ajax подгрузкой, что будет несколько сложнее в реализации.

<script>
    $(function() {
        $( "#autocomplete" ).autocomplete({
            source: [
                {
                    label: "aardvark 1",
                    value: "aardvark 1"
                },
                {
                    label: "<b>apple 2</b>",
                    value: "apple 2"
                },
                {
                    label: "<i>atom 3</i>",
                    value: "atom 3"
                }
            ],
            html: true
        });

    });
    </script>

а как сделать, чтобы при генерации страницы формировался массив значений, по которому будет происходить поиск?скрипт же пишется в тегах <head>..разве там можно как-то задать подключение к базе данных или это нужно сделать в отдельном файле?...мне нужно сформировать массив мероприятий допустим:$sql='select nazv from dela'. а как этот массив строится и в каком месте задается?
подскажите пожалуйста неумному человеку..

75

Re: добавление записей в бд через форму

VitoS сказал:

как этот массив строится и в каком месте задается?

PHP код можно встроить в любом месте, поэтому выбирайте данные из БД и стройте массив.