Witam,
Dziś borykam się z problemem dodawania rekordu w sposób dynamiczny. Zapisywanie do bazy działa, dynamiczne wyświetlanie również. Jednak mam problem z kolejnością wyświetlania rekordów. Chciałbym, aby nowe wpisy wyświetlały się na górze listy, a nie pod spodem. Czy ktoś może nakierować mnie, która część js odpowiada za kolejność wyświetlania nowego, dodanego rekordu? Sortowanie w zapytaniu działa dopiero po odświeżeniu strony.
go.php
include_once("config.php");
$contentToSave = filter_var($_POST["txt"],FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
if(mysql_query("INSERT INTO msgs SET user_id='".$_GET['user_id']."', txt='".$contentToSave."', date='".date("Y-m-d H:i:s")."'")) {
echo '<li id="item_'.$my_id.'">'; echo '<p class="txt"><b>'.$_GET['user_id'].'</b><br>'.$contentToSave.'</p>';
}else
header('HTTP/1.1 500 Looks like mysql error, could not insert record!'); }
}
else
{
//Output error
header('HTTP/1.1 500 Error occurred, Could not process request!'); }
index.php
<script type="text/javascript">
$(document).ready(function() {
$(".submit").click(function (e) {
e.preventDefault();
if($("#Txt").val()==='')
{
alert("Napisz coś...");
return false;
}
var myData = 'txt='+ $("#Txt").val();
jQuery.ajax({
type: "POST", // HTTP method POST or GET
url: "go.php?user_id=1",
dataType:"text",
data:myData,
success:function(response){
$("#od").append(response);
$("#Txt").val('');
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
}
});
});
});
</script>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF']?>" method="post" class="od">
<input type="text" name="txt" id="Txt">
<button class="submit">+</button>
</form>
<ul id="od">
<?php
include_once("config.php");
//MySQL query
{
echo '<li id="item_'.$row["id"].'" class="li">'; echo '<p class="txt">'.$row["txt"].'</p>'; }
}
else{
echo '<p class="tc null"><i>null.</i></p>'; }
?>
</ul>
Ten post edytował arek33 15.04.2014, 05:41:26