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 :: Версия для печати :: SAJAX + PHP + MySQL
Форумы портала PHP.SU » » Вопросы новичков » SAJAX + PHP + MySQL

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

1. filkeith - 09 Августа, 2011 - 09:24:59 - перейти к сообщению
СОбственно вопрос как? Просмотрел разные библиотеки, остановился на SAJAX'е. JavScript знаю по постольку по скольку.
есть такой код:
PHP:
скопировать код в буфер обмена
  1. if (isset($_REQUEST['post']))                   //если нажата кнопка post, в БД инфу пихаем
  2.                 {
  3.                 $filter->ChekData($wall->text);//фильтруем сообщение
  4.                 $filter->Replace($filter->message);//заменяем что не надо
  5.                 $wall->WallWrite($id,$filter->message,$_SESSION[id]);//строим селект
  6.                 $db->InsertDb($wall->select);//пишем в БД
  7.                 }
  8. $wall->Wallshow($_SESSION[id]);//здесь у меня делаеться селект
  9. $db->SelectDB($wall->select);//тут селект идёт в БД и из него резюльтат приходит
  10. $tab=null;//обнуляю, потому как до этого её использую для вывода постранично
  11. while ($row=mysql_fetch_array($db->select))//ну и сам вывод
  12.                         {
  13.                         $tab.='<div class="posts"><table width="480"><tr><td><p align="right"><a href="profile.php?id='.$row['author'].'">>'.$row['author'].'</a></p></td></tr><tr><td><p align="right">'.$row['date'].'</p></td></tr><tr><td>'.$row['text'].'</td></tr><tr><td><p align="right"><a href="profile.php?un='.$row['unic'].'&del=1">Удалить</a></p></td></tr></table></div>';
  14.                         }

вот что с этим можно сделать? Что бы после нажатия кнопки на форме, просто подгружался кусок страницы реализация может и не самая лучшая, но я решил писать как мне проще и удобнее.
$wall->Wallshow($_SESSION[id]); - тут формируеться массив в котором прописанно, из какой таблицы, что надо дёонуть и как.
$db->SelectDB($wall->select); - тут из массива данные подставляються в "SELECT * FROM..." и отправляються в базу, такой универсальный селект так сказать
Заранее спасибо
2. illy - 09 Августа, 2011 - 09:37:51 - перейти к сообщению
Через аякс Улыбка

в форму добавь target=adder
и после формы
<div id=ddd></div>
<iframe name=adder frameborder=0 src=(здесь тоже что и в action) width=0 height=0 scrolling=no></iframe>

Замени

if (isset($_REQUEST['post'])) //если нажата кнопка post, в БД инфу пихаем
{
$filter->ChekData($wall->text);//фильтруем сообщение
$filter->Replace($filter->message);//заменяем что не надо
$wall->WallWrite($id,$filter->message,$_SESSION[id]);//строим селект
$db->InsertDb($wall->select);//пишем в БД
}
$wall->Wallshow($_SESSION[id]);//здесь у меня делаеться селект
$db->SelectDB($wall->select);//тут селект идёт в БД и из него резюльтат приходит
$tab=null;//обнуляю, потому как до этого её использую для вывода постранично
while ($row=mysql_fetch_array($db->select))//ну и сам вывод
{
$tab.='<div class="posts"><table width="480"><tr><td><p align="right"><a href="profile.php?id='.$row['author'].'">>'.$row['author'].'</a></p></td></tr><tr><td><p align="right">'.$row['date'].'</p></td></tr><tr><td>'.$row['text'].'</td></tr><tr><td><p align="right"><a href="profile.php?un='.$row['unic'].'&del=1">Удалить</a></p></td></tr></table></div>';
echo "<script>parent.document.getElementById('ddd').innerHTML+=\"<div class=posts><table width=480><tr><td><p align=right><a href=profile.php?id=$row['author']>$row['author']</a></p></td></tr><tr><td><p align=right>$row['date']</p></td></tr><tr><td>$row['text']</td></tr><tr><td><p align=right><a href=profile.php?un=$row['unic']&del=1>Удалить</a></p></td></tr></table></div>\";</script>";
}
3. filkeith - 09 Августа, 2011 - 09:42:19 - перейти к сообщению
illy пишет:
Через аякс Улыбка

в форму добавь target=adder
и после формы
<div id=ddd></div>
<iframe name=adder frameborder=0 src=(здесь тоже что и в action) width=0 height=0 scrolling=no></iframe>

ну я понял что через аякс Не понял
в форму добавить, просто в тег <form ....>?
<div id=ddd></div> - просто так и между ним ничего? туда я так понял будет выводиться новая инфа?

где у меня вывод в таблицу, просто подписать твой код чуть ниже?
подключать никакую библиотеку не надо? или эт ос SAJAX'ом
спасибо
4. illy - 09 Августа, 2011 - 09:48:01 - перейти к сообщению
Цитата:
в форму добавить, просто в тег <form ....>?

угу
Цитата:
<div id=ddd></div> - просто так и между ним ничего? туда я так понял будет выводиться новая инфа?

ага
Цитата:
где у меня вывод в таблицу, просто подписать твой код чуть ниже?

так точно
Цитата:
подключать никакую библиотеку не надо? или эт ос SAJAX'ом

ничё подключать ненадо Ха-ха
незнаю что такое SAJAX Ха-ха
5. filkeith - 09 Августа, 2011 - 09:50:34 - перейти к сообщению
illy пишет:

незнаю что такое SAJAX Ха-ха

ну библиотека типа SImple AJAX, http://sajax[dot]info/

спасибо, сейчас буду пробовать
6. illy - 09 Августа, 2011 - 09:58:26 - перейти к сообщению
Вот тебе простой аякс:

ajax.php

<?php
if (isset($_POST['text'])){
echo "<script>parent.document.getElementById('write').innerHTML+='Ура заработало!!!<br>Вы ввели: ".$_POST['text']."';</script>";
exit;
}
?>
<form id=forma target=ajax action=ajax.php method=POST>
<input type=text name=text>
<input type=submit value=Отправить>
</form>

<font id=write></font>
<iframe name=ajax frameborder=0 src=ajax.php width=0 height=0 scrolling=no></iframe>
7. filkeith - 09 Августа, 2011 - 10:04:57 - перейти к сообщению
Тэкс, это срабатывает всего один раз, и если отправит 2ое или 3е сообщение, оно добовляется но не обновляется страничка.
Да и форма не очищается(

illy пишет:
Вот тебе простой аякс:

а это надо подогнать под мои нужды, буду пробовать, спасибо

ну, всё не то. Всётаки мне интересно как то сделать с помощью SAJAX
8. illy - 09 Августа, 2011 - 10:42:39 - перейти к сообщению
Цитата:
форма не очищается

Аякс в той же странице:
ajax.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_POST['text'])){
  3. echo "<script>parent.document.getElementById('write').innerHTML+='Вы ввели: ".$_POST['text']."<br>';
  4. parent.document.getElementById('text').value=''</script>";
  5. }
  6. ?>
  7. <form id=forma target=ajax action=ajax.php method=POST>
  8. <input type=text name=text>
  9. <input type=submit value=Отправить>
  10. </form>
  11.  
  12. <font id=write></font>
  13. <iframe name=ajax frameborder=0 src=ajax.php width=0 height=0 scrolling=no></iframe>
  14.  


Аякс в другой странице:
adder.html
CODE (html):
скопировать код в буфер обмена
  1. <form id=forma target=ajax action=adder.php method=POST>
  2. <input type=text name=text>
  3. <input type=submit value=Отправить>
  4. </form>
  5.  
  6. <font id=write></font>
  7. <iframe name=ajax frameborder=0 src=adder.php width=0 height=0 scrolling=no></iframe>


adder.php

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_POST['text'])){
  3. echo "<script>parent.document.getElementById('write').innerHTML+='Вы ввели: ".$_POST['text']."<br>';
  4. parent.document.getElementById('text').value=''</script>";
  5. }
  6. ?>
  7.  

 

Powered by ExBB FM 1.0 RC1