2016-05-18 39 views
2

我想用jQuery自動創建div。我必須用MySql數據庫中的數據填充它們。問題是,當我使用foreach循環時,它不想回顯數據。使用jQuery自動創建div,並從mysql中插入數據

這裏是我的MySQL代碼:

$sql = "SELECT * FROM `post` ORDER BY `id` DESC"; 
$result = mysqli_query($con, $sql); 
$row = mysqli_num_rows($result); 

這裏是我的jQuery代碼:

$(document).ready(function(){ 
     var count = 1; 
      for(i = <?php echo $row; ?>; i > 0; i--){ 
       $("#main").prepend('<div id="first'+count+'"></div>'); 
       count++; 
      } 
      count = 1; 
      for(i = <?php echo $row; ?>; i > 0; i--){ 
       <?php 
        while($col = mysqli_fetch_assoc($result)) 
         { 
          $cols[] = $col; 
         } 
        foreach($cols as $col){ 
       ?> 
       $("#first"+count+"").text("<?php echo $col['post']; ?>"); 
       count++; 
       <?php } ?> 
      } 
    }); 

我也檢查了檢查元素,一切似乎不錯,但它不希望創建div。

如果我改變這個echo $ col ['post'];到一些其他文字,它的工作原理。

這是我得到的檢查元素:

$(document).ready(function(){ 
     var count = 1; 
      for(i = 3; i > 0; i--){ 
       $("#main").prepend('<div id="first'+count+'"></div>'); 
       count++; 
      } 
      count = 1; 
      for(i = 3; i > 0; i--){ 
            $("#first"+count+"").text("text1"); 
       count++; 
            $("#first"+count+"").text("text2"); 
       count++; 
            $("#first"+count+"").text("text3"); 
       count++; 
           } 
    }); 

感謝您的想法!

+0

以及在第一次運行,我會減少循環的次數,你有一個'for'循環中,它'while'循環,然後一個'foreach'循環,一個循環應該是不夠的,例如一個「while」循環,它將遍歷結果 – rsz

+0

是的,感謝您的建議,但沒有所有3個循環,它不會按我的想法工作。 – user6332126

回答

0

我在我的工作站上運行你的代碼,它工作正常。

  1. 我可以建議你檢查你的新創建的div的重複ID,你可以改變他們在課堂上可能是它不衝突然後。
  2. #main div在頁面加載之前綁定。
  3. 檢查數據庫是否是數據插入OK。

它只是一些建議。如果你可以說一些關於這個場景的具體細節,那麼我可以給你一些具體的建議。

感謝

+0

謝謝你的建議......我已經在localhost上試過這段代碼,它沒有工作...比我轉移到我的域相同的代碼,它的工作完美。我不確定爲什麼是這樣,但它按我的意願工作。無論如何感謝 – user6332126

+1

歡迎:) –

相關問題