• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datatables mit mysql Ausgabe

BDC

Neues Mitglied
Hallo,
ich nutze jquery Datatables und möchte die Tablle nun gerne mit den Daten aus der SQL füllen.

JqueryDatatables arbeitet hier mit der Htaml Tabelle:
HTML:
<table border="0" cellspacing="0" cellpadding="0" class="" id="table_id">
                <thead>
                    <tr>
                        <th>Spieler</th>
                        <th>Rang</th>
                        <th>Punkte Gesamt</th>
                        <th>Punkte Durchschnitt</th>
                        <th>Punkte pro Spieler</th>
                        <th>Best</th>
                        <th>Siege</th>
                        <th>Spiele</th><th>Letztes Spiel</th>
                    </tr>
                </thead>
                    <tbody>
                        <tr><td>Xanner</td><td>1</td><td>1941,00</td><td>970,00</td><td>141,50</td><td>980</td><td>1</td><td>2</td><td>30.04.2011</td></tr>
                        <tr><td>Rock</td><td>2</td><td>6229,00</td><td>889,00</td><td>154,14</td><td>1306</td><td>4</td><td>7</td><td>07.05.2011</td></tr>
                        <tr><td>Imp</td><td>3</td><td>4992,00</td><td>713,00</td><td>119,29</td><td>1046</td><td>1</td><td>7</td><td>07.05.2011</td></tr>
                        <tr><td>Phönix</td><td>4</td><td>2772,00</td><td>693,00</td><td>118,50</td><td>950</td><td>1</td><td>4</td><td>30.04.2011</td></tr>
                        <tr><td>LosSpackos</td><td>5</td><td>3325,00</td><td>665,00</td><td>102,20</td><td>981</td><td>0</td><td>5</td><td>07.05.2011</td></tr>
                        <tr><td>Granitor</td><td>6</td><td>1255,00</td><td>627,00</td><td>125,00</td><td>766</td><td>0</td><td>2</td><td>12.02.2011</td></tr>
                        <tr><td>Soof</td><td>7</td><td>2430,00</td><td>486,00</td><td>76,20</td><td>549</td><td>0</td><td>5</td><td>07.05.2011</td></tr>
                        <tr><td>Patko</td><td>8</td><td>2139,00</td><td>427,00</td><td>77,00</td><td>550</td><td>0</td><td>5</td><td>07.05.2011</td></tr>
                        <tr><td>Yoshi</td><td>9</td><td>1243,00</td><td>414,00</td><td>69,00</td><td>505</td><td>0</td><td>3</td><td>07.05.2011</td></tr>
                        <tr><td>Dana</td><td>10</td><td>228,00</td><td>228,00</td><td>28,00</td><td>228</td><td>0</td><td>1</td><td>30.04.2011</td></tr>
                        <tr><td>Sascha</td><td>11</td><td>134,00</td><td>134,00</td><td>16,00</td><td>134</td><td>0</td><td>1</td><td>30.04.2011</td></tr>
                        <tr><td>Pascale</td><td>12</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Marco</td><td>13</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Richy</td><td>14</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Andy</td><td>15</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Jessy</td><td>16</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Rik</td><td>17</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                    </tbody>
            </table>

Ich möchte die Daten durch die MySql füllen lassen und habe bisher so ausgegeben:
HTML:
<caption>Angebote</caption>

                        <thead>
                            <tr>
                                <th>ID</th>
                                <th>Jahr</th>
                                <th>Lfd.Nr.</th>
                                <th>Postleitzahl</th>
                                <th>Ort</th>
                                <th>Bauvorhaben</th>
                                <th>Bauunternehmen/Bauherr</th>
                                <th>Abgabetermin</th>
                                <th>Art</th>
                                <th>Abgegeben</th>
                                <th>Bearbeiter</th>
                            </tr>
                        </thead>

                    <tbody>
                            <?php
                            $pdo = new PDO('mysql:host=localhost;dbname=nubis', 'root', '');

                            $sql = "SELECT * FROM angebote ORDER BY ID";
                            foreach ($pdo->query($sql) as $row) {
                            ?>
                                    <tr>
                                    <td><?php echo $row['id'] ?></td>
                                    <td><?php echo $row['jahr'] ?></td>
                                    <td><?php echo $row['lfdnr'] ?></td>
                                    <td><?php echo $row['postleitzahl'] ?></td>
                                    <td><?php echo $row['ort'] ?></td>
                                    <td><?php echo $row['bauvorhaben'] ?></td>
                                    <td><?php echo $row['bauherr'] ?></td>
                                    <td><?php echo $row['abgabetermin'] ?></td>
                                    <td><?php echo $row['gu'] ?></td>
                                    <td><?php echo $row['abgabe'] ?></td>
                                    <td><?php echo $row['bearbeiter'] ?></td>
                                    </td><td><form action='info.php' method="POST">
                                    <input type='hidden' name='id' value='<?php echo $row['ID']; ?>'>
                                    <input type="image" src="img/info.png" alt="Löschen">
                                    </form>
                                    </td><td><form action='bearbeiten.php' method="POST">
                                    <input type='hidden' name='id' value='<?php echo $row['ID']; ?>'>
                                    <input type="image" src="img/bearbeiten.png" alt="Bearbeiten">
                                    </form>
                                    </td><td><form action='loeschen.php' method="POST">
                                    <input type='hidden' name='id' value='<?php echo $row['ID']; ?>'>
                                    <input type="image" src="img/loeschen.png" alt="Bearbeiten">
                                    </form>
                                    
                                    </tr><?php } ?>

Wenn ich es so mache füllt die Datenbak zawr die Tabelle aber Jquery geht davon aus, das es sich bei den Einträgen um eine Zeile handelt und die Funktionen suchen und sortieren funktionieren dann nicht entsprechend.
Hat jemand eine Idee ?
 
Werbung:
ja in den button's, welche ich aber schon rausgenommen habe.
Das Problem besteht aber weiterhin....
 
Werbung:
Nein !
Datatables betrachtet die DB Einträge als einen Eintrag !

Die Abfrage müsste jedesmal ein neues Table Tag erzeugen damit Datatables es trennt.
 
Nein !
Datatables betrachtet die DB Einträge als einen Eintrag !

Die Abfrage müsste jedesmal ein neues Table Tag erzeugen damit Datatables es trennt.
Sorry, aber es ist eher anzunehmen dass du Fehler machst als der Autor von Datatables.
Wie dem auch sei, ich bin raus.
Um von anderen Hilfe zu erhalten solltest du jedoch in Erwägung ziehen noch ein paar Informationen rauszurücken; unter anderem den JS Code sowie das generierte HTML (Dein PHP Code interessiert niemanden) ;)
 
Werbung:
HTML:
<table border="0" cellspacing="0" cellpadding="0" class="" id="table_id">
                <thead>
                    <tr>
                        <th>Spieler</th>
                        <th>Rang</th>
                        <th>Punkte Gesamt</th>
                        <th>Punkte Durchschnitt</th>
                        <th>Punkte pro Spieler</th>
                        <th>Best</th>
                        <th>Siege</th>
                        <th>Spiele</th><th>Letztes Spiel</th>
                    </tr>
                </thead>
                    <tbody>
                        <tr><td>Xanner</td><td>1</td><td>1941,00</td><td>970,00</td><td>141,50</td><td>980</td><td>1</td><td>2</td><td>30.04.2011</td></tr>
                        <tr><td>Rock</td><td>2</td><td>6229,00</td><td>889,00</td><td>154,14</td><td>1306</td><td>4</td><td>7</td><td>07.05.2011</td></tr>
                        <tr><td>Imp</td><td>3</td><td>4992,00</td><td>713,00</td><td>119,29</td><td>1046</td><td>1</td><td>7</td><td>07.05.2011</td></tr>
                        <tr><td>Phönix</td><td>4</td><td>2772,00</td><td>693,00</td><td>118,50</td><td>950</td><td>1</td><td>4</td><td>30.04.2011</td></tr>
                        <tr><td>LosSpackos</td><td>5</td><td>3325,00</td><td>665,00</td><td>102,20</td><td>981</td><td>0</td><td>5</td><td>07.05.2011</td></tr>
                        <tr><td>Granitor</td><td>6</td><td>1255,00</td><td>627,00</td><td>125,00</td><td>766</td><td>0</td><td>2</td><td>12.02.2011</td></tr>
                        <tr><td>Soof</td><td>7</td><td>2430,00</td><td>486,00</td><td>76,20</td><td>549</td><td>0</td><td>5</td><td>07.05.2011</td></tr>
                        <tr><td>Patko</td><td>8</td><td>2139,00</td><td>427,00</td><td>77,00</td><td>550</td><td>0</td><td>5</td><td>07.05.2011</td></tr>
                        <tr><td>Yoshi</td><td>9</td><td>1243,00</td><td>414,00</td><td>69,00</td><td>505</td><td>0</td><td>3</td><td>07.05.2011</td></tr>
                        <tr><td>Dana</td><td>10</td><td>228,00</td><td>228,00</td><td>28,00</td><td>228</td><td>0</td><td>1</td><td>30.04.2011</td></tr>
                        <tr><td>Sascha</td><td>11</td><td>134,00</td><td>134,00</td><td>16,00</td><td>134</td><td>0</td><td>1</td><td>30.04.2011</td></tr>
                        <tr><td>Pascale</td><td>12</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Marco</td><td>13</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Richy</td><td>14</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Andy</td><td>15</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Jessy</td><td>16</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                        <tr><td>Rik</td><td>17</td><td>0,00</td><td>0,00</td><td>0</td><td>0</td><td>0</td><td>0</td><td>-</td></tr>
                    </tbody>
            </table>

Ich möchte die Daten durch die MySql füllen lassen und habe bisher so ausgegeben:
HTML:
<caption>Angebote</caption>

                        <thead>
                            <tr>
                                <th>ID</th>
                                <th>Jahr</th>
                                <th>Lfd.Nr.</th>
                                <th>Postleitzahl</th>
                                <th>Ort</th>
                                <th>Bauvorhaben</th>
                                <th>Bauunternehmen/Bauherr</th>
                                <th>Abgabetermin</th>
                                <th>Art</th>
                                <th>Abgegeben</th>
                                <th>Bearbeiter</th>
                            </tr>
                        </thead>

                    <tbody>
                            <?php
                            $pdo = new PDO('mysql:host=localhost;dbname=nubis', 'root', '');

                            $sql = "SELECT * FROM angebote ORDER BY ID";
                            foreach ($pdo->query($sql) as $row) {
                            ?>
                                    <tr>
                                    <td><?php echo $row['id'] ?></td>
                                    <td><?php echo $row['jahr'] ?></td>
                                    <td><?php echo $row['lfdnr'] ?></td>
                                    <td><?php echo $row['postleitzahl'] ?></td>
                                    <td><?php echo $row['ort'] ?></td>
                                    <td><?php echo $row['bauvorhaben'] ?></td>
                                    <td><?php echo $row['bauherr'] ?></td>
                                    <td><?php echo $row['abgabetermin'] ?></td>
                                    <td><?php echo $row['gu'] ?></td>
                                    <td><?php echo $row['abgabe'] ?></td>
                                    <td><?php echo $row['bearbeiter'] ?></td>
                                    </td><td><form action='info.php' method="POST">
                                    <input type='hidden' name='id' value='<?php echo $row['ID']; ?>'>
                                    <input type="image" src="img/info.png" alt="Löschen">
                                    </form>
                                    </td><td><form action='bearbeiten.php' method="POST">
                                    <input type='hidden' name='id' value='<?php echo $row['ID']; ?>'>
                                    <input type="image" src="img/bearbeiten.png" alt="Bearbeiten">
                                    </form>
                                    </td><td><form action='loeschen.php' method="POST">
                                    <input type='hidden' name='id' value='<?php echo $row['ID']; ?>'>
                                    <input type="image" src="img/loeschen.png" alt="Bearbeiten">
                                    </form>
                                   
                                    </tr><?php } ?>

Wenn ich es so mache füllt die Datenbak zawr die Tabelle aber Jquery geht davon aus, das es sich bei den Einträgen um eine Zeile handelt und die Funktionen suchen und sortieren funktionieren dann nicht entsprechend.
Hat jemand eine Idee ?
Nein !
Datatables betrachtet die DB Einträge als einen Eintrag !

Die Abfrage müsste jedesmal ein neues Table Tag erzeugen damit Datatables es trennt.
Handelt es sich nur um einen dummen Zufall, oder liegt uns gar ein unvollständig kopierter Code vor, in dem neben dem schon bemängelten fehlenden </td> auch diese zwei Zeilen fehlen?
HTML:
                    </tbody>
            </table>
 
Zurück
Oben