Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Возврат данных в форму
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Возврат данных в форму

Страниц (1): [1]
 

1. leshiy_SV - 25 Ноября, 2009 - 09:26:18 - перейти к сообщению
Подскажите как сделать или можно ли вообще сделать, так через jquery отсылаю данные в php скрипт, который делает выборку записи из базы и полученные данные заносятся в формы в ввода для редактирования. Как отослать и выбрать из базы это понятно, а вот как раскидать потом все по полям ввода это не понятно.
CODE (text):
скопировать код в буфер обмена
  1. $("button.edit").click(function(){
  2.         $.post("edit.php", {id: 2}, function(data){
  3.                 /*что тут писать чтобы данные раскидались по формам*/
  4.                 });    
  5.         });

CODE (text):
скопировать код в буфер обмена
  1. $query  = "SELECT * FROM  `user` WHERE  `user_id` = $id";
  2.            $info_user = @mysql_query($query);

CODE (text):
скопировать код в буфер обмена
  1. <div>Имя:<input type="text" id="name" name="name"></div>
  2. <div>Фамилия:<input type="text" id="surname" name="surname"></div>
2. Viper - 25 Ноября, 2009 - 09:55:15 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. $("#name").val("val1");
  2. $("#surname").val("val2");


val может быть и элементом массива. смотря в каком формате приходит ответ.
PS! Если массив, то к элементу обращаетесь как arr[index]. к примеру
CODE (text):
скопировать код в буфер обмена
  1. $("#name").val(arr[0]);


Также можно вернуть строку с разделителем.Тогда в callback
CODE (text):
скопировать код в буфер обмена
  1. var data = (data).split("|");
  2. $("#name").val(data[0]);
  3. $("#surname").val(data[1]);
3. leshiy_SV - 25 Ноября, 2009 - 10:20:10 - перейти к сообщению
Попробывал сделать так:
CODE (text):
скопировать код в буфер обмена
  1. $("button.edit").click(function(){
  2.         $.post("edit.php", {id: 2}, function(data){
  3.                  var data = (data).split("|");
  4.       $("#name").val(data[0]);
  5.       $("#surname").val(data[1]);
  6.                 });    
  7.         });

CODE (text):
скопировать код в буфер обмена
  1. $query  = "SELECT * FROM  `user` WHERE  `user_id` = $id";
  2.            $info_user = @mysql_query($query);
  3. $user = mysql_fetch_array($info_user);
  4. echo $user;

но в итоге заноситься только в первое поле слово Array и все.
4. Viper - 25 Ноября, 2009 - 10:32:36 - перейти к сообщению
leshiy_SV ну так для начала $user это ж массив возвращаемый не JS, a php!
5. leshiy_SV - 25 Ноября, 2009 - 11:09:38 - перейти к сообщению
вот.Делать так:
CODE (text):
скопировать код в буфер обмена
  1. $("button.edit").click(function(){
  2.         $.post("edit.php", {id: 2}, function(data){
  3.       $("#name").val(data.name);
  4.       $("#surname").val(data.surname);
  5.                 }, 'json');    
  6.         });

CODE (text):
скопировать код в буфер обмена
  1. $query  = "SELECT * FROM  `user` WHERE  `user_id` = $id";
  2.            $info_user = @mysql_query($query);
  3. $user = mysql_fetch_array($info_user,MYSQL_ASSOC);
  4. echo json_encode($user);

и вроде бы работает

 

Powered by ExBB FM 1.0 RC1