Sıralama jquery ve php kullanarak

2 Cevap php

Merhaba Guru ne ben bir hata tanımlanmamış itibaren söyleyerek oluşur başlığı tekrar inşa zaman sonra ilk kez çalışır bu kod ile yanlış

JQuery

function sort(tableHeader,sortDir)
{
 $.ajax({
 url: "sort.php",
 type:"get",
 data: "tableHeader="+tableHeader +"&sortdirection="+sortDir,
 success:function(data){
 $("#t1").html(data);}});}

php

  $table_Header=$_GET['tableHeader'];
  $sort_Dir=$_GET['sortDir'];

 if ($table_Header == 'From')
 {
   $sort_By = 'player_name';
 }
 else if ($table_Header == 'To')
 {
  $sort_By = 'player_name';
 }   
 else if ($table_Header== 'Gr')
 {
   $sort_By = 'grp_abr';
 }

 if (isset($sort_Dir) && $sort_Dir == 'DESC')
 {
    $sort_Dir = 'DESC';
 }
else
  {
    $sort_Dir = 'ASC';
  }

   $str = stripslashes('From');
   echo $sortBy;
   $result = mysql_query("SELECT * FROM messages,Player
   where player_id = from_user
   ORDER BY player_name ".$sort_Dir);
   echo "<thead>
   <tr>
   <th style='color:royalblue;'>•</th>
   <th align='center'>Time</th>
   <th align='left' onClick='sort('From',$sort_Dir);'>De:</th>
   <th align='left'>To:</th>
   <th align='left'>Gr</th>
   </tr>
   </thead> ";

  while($row = mysql_fetch_array($result))
  {
  echo "<tbody>
  <tr class='highlight'>
  <td width='30' align='center' style='color:royalblue'>"."•"."</td>
  <td width='70' align='left'>".$row["Time_Date"]."</td>
  <td width='600' align='left'>".$row["player_name"]."</td>
  <td width='600' align='left'></td>
  <td width='100' align='left'></td>
  <tr class='highlight'>
  <td></td>
  <td colspan='4'>".$row["msg_desc"]."</td></tr>
 </tbody>";
  }

I need urgent help Thanks in advance

2 Cevap

Burada kaynak koduna göz yaptıktan sonra, gözlemlerimi aşağıdaki.

sort.php:12 >>> tür yön için $ _GET dizi elemanı mistyped edilir: javascript sort() function sorgu dizesi bu değişkeni ile ajax isteği oluşturur iken denilen $_GET["sortDir"] diyoruz ' SortDirection '.

sort.php:28 >>> Sen ters gerekmez sıralamak javascript fonksiyonu olarak sortDirection() zaten yapar, burada sipariş. Yani, 28-35 ve 44 hattı da açıklama satırları yerine php değişkeni $sort_Dir, ancak javascript değişkeni sortDir kullanmayın.

user.php:48 >>> Geçerli sıralama düzenini belirlemek için karşılaştırma dize karşı yapılmış sayıl "Desc", genellikle bu değişken için bir değer, bu nedenle ilk denemede olarak "DESC" kullanırken iyiydi ama "DESC" nedeniyle dizeleri arasındaki ikili karşılaştırma, Javascript "Desc" farklı olarak ikinci basitçe, hiçbir şey yapmaz. Yani "Desc" "DESC" sizin sortDirection() fonksiyonu haline değiştirin.

Bu şeyler çalışma almalısınız.

Önce ben onClick='sort('From',$sort_Dir);', orada bir php dize içinde bu şekilde konum olarak bir ters eğik çizgi ile onları kaçan, etrafında sort(...) tırnak çift tek tırnak geçiş değiştirmek için denemek istiyorum:

onClick=\"sort('From',$sort_Dir);\"

İkincisi, aynı pasajı içinde, sen ASC veya DESC içine php tarafından tercüme edilecektir $ sort_Dir, geçiyoruz. Böyle dize beri bunu javascript ayrıştırıcı karıştırmayın etrafında kelime ASC veya DESC tırnaklar olmadan görünmesi için, yere belgeye eklenecek bazı kaynak html kodunu yazıyoruz.

bu nedenle bu gibi onClick şeyler değiştirmek gerekir:

onClick=\"sort('From','$sort_Dir');\"

Ben benim yorumum belirtildiği gibi, sen ilk hakkında daha fazla bilgi vermek gerekir (zaman olur, nasıl vb) tür çağırma () (ve sadece başarılı, öyle görünüyor).

Bu deneyin ve görün.