You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Friday, December 17th 2010, 5:17pm

Datenbank in einer Tabelle auswerten

Hi,
ich wüsste gerne wie man die Daten einer MySQL-Datenbank in einer Tabelle ausgibt.

Um was es sich handelt können sich bestimmt viele denken!

Ein Highscore für einen Vote.
Soll heisen, die Tabelle müsste entsprechend geordnet sein.

Wie lässt sich das realisieren, dass automatisch (je nach Anzahl der Datensätze) Zeilen in der Tabelle hinzugefügt werden.

Mein Punktesystem ist ganz einfach:
Die Person (ID) mit den meisten Klicks hat am meisten Punkte.
Leider habe ich noch keine Lösung dafür im Netz gefunden, nicht mal ansatzweise.

Gruß,
Kevin

2

Friday, December 17th 2010, 5:27pm

Nein ich habe keine Ahnung was du meinst...

Liegt vll am völlig Falschen Treadnamen oder an der schlechten Erklärung


Wie du Daten in eine MysqlTabelle hinzufügen kannst gibts genug Infos unter google (INSERT INTO)

3

Friday, December 17th 2010, 5:32pm

Wenn ich dich richtig verstehe, möchtest du bestehende Daten als HTML ausgeben?

Sollte relativ einfach sein.

1. Verbindung zu MySQL aufbauen
2. Tabelle auswählen
3. Tabelle abfragen
4. Daten als HTML zusammenbauen
5. Verbindung schließen

Übrigens, der erste Google-Treffer: http://www.w3schools.com/PHP/php_mysql_select.asp

Wenn du etwas Code gebaut hast und auf Probleme stößt, können wir hier weitermachen...

4

Friday, December 17th 2010, 5:36pm

Ihr habts beide falsch verstanden, ich versuchs nochmal.
Das liegt glaube ich an meiner Formulierung.

Also,
ich habe Datensätze in einer Datenbank.
Diese sollen in einer HTML-Tabelle dargestellt werden.

Wie realisiere ich, das PHP mir automatisch Zeilen ergänzt und die HTML-Tabelle ordnet?

Also im Endeffekt ist das ganze dann eine Highscoreliste...

Gruß,
Kevin

5

Friday, December 17th 2010, 6:34pm

http://dev.mysql.com/doc/refman/5.1/de/select.html siehe ORDER BY.

Wie realisiere ich, das PHP mir automatisch Zeilen ergänzt

Und das kannst du nicht präzisieren?

6

Friday, December 17th 2010, 7:11pm

Hast du dir eigentlich den Link mal angeschaut, den ich oben gepostet habe ?(

7

Friday, December 17th 2010, 7:18pm

Hast du dir eigentlich den Link mal angeschaut, den ich oben gepostet habe ?(

Hab nicht weit genug gescrollt...

Tut mir Leid, danke!

8

Friday, December 17th 2010, 9:16pm

Kein Problem. Wenn du jetzt noch Probleme hast, dann poste ein paar Code-Teile. Ohne macht es wenig Sinn, dir zu helfen.
Das gilt übrigens generell bei jedem Problem, nicht nur hier.

9

Friday, December 17th 2010, 11:10pm

Kein Problem. Wenn du jetzt noch Probleme hast, dann poste ein paar Code-Teile. Ohne macht es wenig Sinn, dir zu helfen.
Das gilt übrigens generell bei jedem Problem, nicht nur hier.

Dann nehme ich die Einladung mal wahr. ;)

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
       include 'config.inc.php';
       include 'db_conn_s.php';
 
       $result = mysql_query("SELECT * FROM voting_g");
 
        echo "<table border='1'>
              <tr>
              <th>ID</th>
              <th>Name</th>
              <th>Punkte</th>
              </tr>";
 
        while($row = mysql_fetch_array($result))
              {
                 echo "<tr>";
                 echo "<td>" . $row['ID'] . "</td>";
                 echo "<td>" . $row['Vorname'] . "</td>";
                 echo "<td>" . $row['Punkte'] . "</td>";
                 echo "</tr>";
              }
                 echo "</table>";
 
       include 'db_conn_c.php';
     ?>


Das ist mein jetziger Code, funktioniert auch perfekt, nur hätte ich jetzt gerne das die Zeilen abwechselnd grau und dunkelgrau sind.
Also die Hintergrundfarbe.
Mit CSS geht das bei dem Fall meines Wissens nicht wirklich...

Gruß,
Kevin

10

Friday, December 17th 2010, 11:52pm

PHP Funktion wie Smarty Funktion cycle?
Alternativ auch so:

PHP Quellcode

1
2
3
4
5
$i = 0;
while(xyz) {
    echo ($i % 2 == 0) ? 'Klasse1' : 'Klasse2';
    $i++;
}

11

Saturday, December 18th 2010, 12:56pm

PHP Funktion wie Smarty Funktion cycle?
Alternativ auch so:

PHP Quellcode

1
2
3
4
5
$i = 0;
while(xyz) {
    echo ($i % 2 == 0) ? 'Klasse1' : 'Klasse2';
    $i++;
}


Was genau bezweckt der Code? Sorry ich bin noch blutiger Anfänger in PHP!

Gruß,
Kevin

12

Saturday, December 18th 2010, 1:04pm

Also. Um abwechselnde Farben in den Zeilen zu erreichen, brauchst du einen Algorithmus, der dir sagt, welche Zeile das gerade ist. Hier bietet sich an, zu prüfen, ob die Zeile gerade oder ungerade ist. Das machst du z.B. mit dem Modulo-Operator. Der gibt dir bei geraden Zahlen 0 als Rest und hilft dir somit beim Unterscheiden zwischen geraden und ungeraden Zeilen.
Du kannst nun die geraden Zeilen anders einfärben also die ungeraden.

Oben siehst du noch die verkürzte IF-Abfrage, den sogenannten ternären Operator

PHP Quellcode

1
echo ($i % 2 == 0) ? 'Klasse1' : 'Klasse2';

ist das gleiche wie

PHP Quellcode

1
2
3
4
5
if ($i % 2 == 0) {
echo 'Klasse1'; 
} else {
echo  'Klasse2';
}


Nur eben kürzer ;)

13

Saturday, December 18th 2010, 1:14pm

Danke,
ich kannte die verkürzte if-Abfrage nicht.

Mir sind die ausführlichen Codes sowieso lieber, da finde ich mich besser zurecht!

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
$i = 0;
while($row = mysql_fetch_array($result))
          {
           echo "<tr class=\""; echo ($i % 2 == 0) ? 'tr_1' : 'tr_2'; echo "\">";
$i++;
           echo "<td>" . $row['ID'] . "</td>";
           echo "<td>" . $row['Vorname'] . "</td>";
           echo "<td>" . $row['Punkte'] . "</td>";
           echo "</tr>";
           }


PS: Irgendwie kann ich den Code hier im Forum nicht richtig einrücken...


So müsste das aussehen oder?

Gruß,
Kevin

This post has been edited 9 times, last edit by "Kev95" (Dec 18th 2010, 1:45pm)


14

Saturday, December 18th 2010, 2:34pm

Wenn deine CSS-Klassen so heißen, sollte das stimmen. Probier es doch einfach aus ;)

Du kannst die Strings auch mit "." aneinanderhängen, wie du es weiter unten schon machst:

PHP Quellcode

1
echo "<tr class=\"".(($i % 2 == 0) ? "tr_1" : "tr_2")."\">";


Ja, das mit dem Einrücken hier ist so eine Sache. Da die IDEs zwischen Tab und Leerzeichen wechseln, ist es hier im BBCode wahrscheinlich einfach nicht implementiert. Können wir aber dßnut mal fragen. Eventuell gibts dazu schon irgend ne Info hier im Forum, ich hab jetzt nicht weiter gesucht...

15

Saturday, December 18th 2010, 3:10pm

Wenn du jetzt statt " ' nimmst kansnt dir sogar das maskieren sparen (vorallem Interessant bei großen HTML Passagen)

Source code

1
echo '<tr class="'.(($i % 2 == 0) ? "tr_1" : "tr_2").'">';

16

Saturday, December 18th 2010, 3:26pm

Hab ich gleich mal umgesetzt!

Dankeschön,
Kevin

17

Saturday, December 18th 2010, 4:45pm

Hi,
jetzt hab ich schon wieder ein Problem...

Wie ist es möglich die Tabelle zu sortieren?
Also der Eintrag mit den meisten Punkten, soll oben stehen.

Ich vermute das geht nur mit JavaScript und das kann ich garnicht.

Gruß,
Kevin

18

Saturday, December 18th 2010, 6:10pm

http://dev.mysql.com/doc/refman/5.1/de/select.html siehe ORDER BY.

19

Saturday, December 18th 2010, 6:25pm

Da oben hatte ich garnicht mehr nach geguckt.
Danke!

Wie in der Schule: Sorgfältiger arbeiten Kevin!

Gruß,
Kev

Similar threads

Social bookmarks