Datatables mit mysql Ausgabe

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

BDC

Neues Mitglied
9 Januar 2017
16
0
1
36
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 ?
 

BDC

Neues Mitglied
9 Januar 2017
16
0
1
36
ja in den button's, welche ich aber schon rausgenommen habe.
Das Problem besteht aber weiterhin....
 

BDC

Neues Mitglied
9 Januar 2017
16
0
1
36
Nein !
Datatables betrachtet die DB Einträge als einen Eintrag !

Die Abfrage müsste jedesmal ein neues Table Tag erzeugen damit Datatables es trennt.
 

scbawik

Senior HTML'ler
14 Juli 2011
2.516
442
83
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) ;)
 

Spicelab

Mod | ZENmechanic
Team
Moderator
27 November 2015
1.669
319
83
Goa
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>
 
Werbung:

Latest posts