2013-04-19 2 views
-2

У меня есть JQuery сохранить сценарий как:запрос в Jquery IF оператор

naam = prompt('Give a name for your file.'); 

if(naam != null) 
{ 
    var div_contents = $("#print").html(); 
    $.post("save.php", { 'contents': div_contents,'naam':naam }); 
    alert('Your file is save as : '+ naam); 
    window.location.replace("index.php?id=latest"); 
} 
else 
{ 
    alert('Not saved'); 
} 

сохраняет в DIV в save.php, которая создает новый идентификатор в базе данных

То, что я хочу для того чтобы достигнуть это, были,

window.location.replace("index.php?id=latest"); 

ID = последним должно стать (id = id из последнего сохраненного файла).

Я попытался

$q = "select MAX(id) from Moodboards"; 
$result = mysql_query($q); 
$data = mysql_fetch_array($result); 
$MBId = $data[0]; 
window.location.replace("index.php?id="+MBId); 

и

var MBID = 
<?php 
$q = "select MAX(id) from Moodboards"; 
$result = mysql_query($q); 
$data = mysql_fetch_array($result); 
$MBId = $data[0]; 
echo $MBId ?> 
window.location.replace("index.php?id="+MBId); 

Они оба потерпели неудачу.

Как запустить запрос в инструкции if (naam! = Null)?

+0

Ваш подход полностью испорчен как на стороне клиента, так и на стороне сервера. Подумайте о том, чтобы изучить современную веб-разработку с нуля, начиная с идей и затем до реализации. – moonwave99

+0

moonwave99, поэтому вы говорите, что невозможно использовать php в сценарии jquery? –

+0

@SvenB это не невозможно, вы просто не отличаетесь от клиентского и серверного программирования .. – dbf

ответ

2

В первую очередь вы должны исправить вашу JQuery POST ... Вам не нужно использовать POST реагировать, что неправильно .. Вы должны ждать его, а затем продолжить с другими действиями

naam = prompt('Give a name for your file.'); 

if(naam != null) 
{ 
    var div_contents = $("#print").html(); 
    $.post("save.php", { 'contents': div_contents,'naam':naam }, function(responde){ 
    if(responde.id) 
     window.location.replace("http://yoururl.com/index.php?id="+responde.id); 
    else 
     alert("No responde..."); 
    }, "json"); 
} 
else 
{ 
    alert('Not saved'); 
} 

Для лучшего результата I рекомендуем вам использовать данные в формате JSON в этой записи/реагировать .. в вашем PHP код, который вы должны установить:

<?php 
$q = "select MAX(id) from Moodboards"; 
$result = mysql_query($q); 
$data = mysql_fetch_array($result); 
$MBId = $data[0]; 
echo json_encode(array('id'=>$MBId)); 
exit(); 
?> 

PS Для window.location.replace пожалуйста установите полный адрес: "http://localhost/index.php?id=" или по крайней мере ставить слеш в начале этого "/index.php?id="

+0

Я не получаю ответа, а не refres, а не предупреждение не сохранено :(я заменил перенаправление предупреждением («Сохранено»), а также нет ответа –

+0

Нет никакого сообщения –

+0

Состояние говорит о состоянии save.php 200 OK –

0

Решение

if(naam != null) 
{  
var div_contents = $("#print").html(); 
$.post("save.php", { 'contents': div_contents,'naam':naam }); 
alert('Uw moodboard is opgeslagen als '+ naam);  
window.location.replace("index.php?id=<?php $q = "select MAX(id) from Moodboards"; 
$result = mysql_query($q); 
$data = mysql_fetch_array($result); 
$MBId = ($data[0] + 1); echo "$MBId";?>"); 
} 

Это работает для меня, я не должен сделать JQuery вар я мог бы эхо переменная в php.

И мне пришлось добавить 1, потому что запрос sql загружается при загрузке страницы.

Так что файл еще не сохранен, когда я получаю наивысший идентификатор.

+0

, вы все еще не используете $ .POST(); правильно ... вы отправляете некоторую информацию в файл save.php, но никогда не проверяете, успешно ли save.php или нет. –

Смежные вопросы