2016-05-18 2 views
2

Ich möchte automatisch erstellen divs mit jQuery. Ich muss sie mit Daten aus MySql-Datenbank füllen. Das Problem ist, dass wenn ich foreach-Schleife verwende, es keine Daten echoten will.Auto erstellen divs mit jQuery und Einfügen von Daten aus mysql

Hier ist mein Code für mysql:

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

Und hier ist meine jQuery-Code:

$(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 } ?> 
      } 
    }); 

ich auch in Element überprüfen überprüft haben und alles scheint in Ordnung, aber es funktioniert nicht wollen Erstelle Divs.

Und wenn ich das ändere echo $ col ['post']; zu einem anderen Text, es funktioniert.

Hier ist, was ich in Element untersuchen lassen:

$(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++; 
           } 
    }); 

Vielen Dank für Ideen!

+0

auch im ersten Lauf würde ich die Anzahl der Schleifen reduzieren, haben Sie eine 'for' Schleife, in ihm ein 'while' Schleife und dann eine' foreach' Schleife, sollte eine Schleife genug sein, zum Beispiel eine "while" -Schleife, die durch die Ergebnisse iterieren würde – rsz

+0

Ja, danke für den Vorschlag, aber ohne alle 3 Schleifen funktioniert es nicht wie ich will. – user6332126

Antwort

0

Ich führe Ihren Code in meiner Arbeitsstation funktioniert es gut.

  1. Ich kann vorschlagen, dass Sie nach der doppelten ID Ihres neu geschaffenen div überprüfen, das Sie in der Klasse ändern können, ist sein nicht Konflikt dann.
  2. Ist #main div binded vor dem Laden der Seite.
  3. Überprüfen Sie, ob die Dateneinfügung für die Datenbank OK ist.

Es ist nur ein Vorschlag. Wenn Sie einige spezifische Details über die Szene sagen können, kann ich Ihnen einen spezifischen Vorschlag machen.

Dank

+0

Vielen Dank für Vorschläge ... Ich habe diesen Code auf localhost versucht und es hat nicht funktioniert ... Als ich den gleichen Code an meine Domain übertragen und es hat perfekt funktioniert. Ich bin mir nicht sicher, warum das so ist, aber es funktioniert so, wie ich es wollte. Danke trotzdem – user6332126

+1

du bist willkommen :) –