Mit PHP Inhalt auslesen

07/23/2013 11:02 Germaantutorials#1
Hallo epvp,
Ich möchte einen Inhalt aus einer mssql db auslesen.

Die Query in php lautet:

PHP Code:
$sql        "SELECT  [CharName], [Level], [K1],[K2],[Del] FROM [PS_GameData].[dbo].[Chars] ";
$res        mssql_query($sql);
$fet        mssql_fetch_array($res); 
Die ausgaben sind ca 5-6 Zeilen lang..

Ich möchte dies in eine Tabelle haben.

Diese siehtz wie folgt aus:

PHP Code:
<table border=1 cellpadding=5 cellspacing=0> 
    <tr> 
    <tr> 
        <td WIDTH=150><font size=2 face=arial color=red><b>Charakter Name</b></td> 
        <td WIDTH=150><font size=2 face=arial color=red><b>Level</b></td> 
        <td WIDTH=150><font size=2 face=arial color=red><b>Kill</b></td> 
        <td WIDTH=150><font size=2 face=arial color=red><b>Tode</b></td> 
        <td WIDTH=150><font size=2 face=arial color=red><b>Gelöscht?</b></td> 
    </tr> 
    </tr> 
</table>
        <table border=1 cellpadding=5 cellspacing=0> 
            <tr> 
            <tr> 
                <td WIDTH=150><font size=2 face=arial><?php echo $fet[0]?></td> 
                <td WIDTH=150><font size=2 face=arial><?php echo $fet[1]?></td> 
                <td WIDTH=150><font size=2 face=arial><?php echo $fet[2]?></td> 
                <td WIDTH=150><font size=2 face=arial><?php echo $fet[3]?></td> 
                <td WIDTH=150><font size=2 face=arial><?php echo $online?></td> 
            </tr> 
            </tr> 
    </table>
Jedoch wird mit nur eine Zeile angezeigt wieso?

Bitte um hilfe
07/23/2013 11:19 MrPuschel#2
print_r($fet); // Anschauen was drinsteht.

Ansonten benötigt dein methodenaufruf mssql_fetch_array als weiten Parameter das flag MSSQL_NUM wenn du nicht mit einem Schlüssel darauf zugreifen möchtest. Ich weis nicht ob MSSQL_Both standard ist. Schau hier nach: [Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]
07/23/2013 11:48 Germaantutorials#3
Wärst du/jemand anders so gütigum das umzuschreiben, hab grad echt kein plan mehr^^
07/23/2013 12:32 Evolutio#4
dann gib mal die Ausgabe von print_r($fet);
07/23/2013 12:49 Germaantutorials#5
Quote:
Originally Posted by Evolutio View Post
dann gib mal die Ausgabe von print_r($fet);
Ich weiß leider nicht wie man das anwendet..
07/23/2013 13:46 dowhile#6
Quote:
Jedoch wird mit nur eine Zeile angezeigt wieso?
Erwartest du, dass PHP dadurch, dass du vier Werte aus einem Array ausgibst, zurückverfolgt, woher das Array stammt, automatisch erkennt, dass die Array erzeugende Methode noch mehr Arrays erzeugen könnte, dann die sonstige Ausgabe um die Ausgabe der Array-Einträge analysiert, dabei erkennt, dass es sich um eine HTML-Tabelle handelt, den Start und das Ende der Tabellen-Zeile sucht, um dann selbstständig noch mehr Zeilen zu generieren?

Oder wieso verwundert dich, dass das nicht funktioniert?
07/23/2013 14:23 Evolutio#7
Quote:
Originally Posted by Germaantutorials View Post
Ich weiß leider nicht wie man das anwendet..
Du hast oben in deinem Code:
PHP Code:
$fet mssql_fetch_array($res); 
also machst du einfahc dadrunter folgendes:
PHP Code:
print_r($fet); 
07/23/2013 14:33 Germaantutorials#8
Quote:
Originally Posted by Evolutio View Post
Du hast oben in deinem Code:
PHP Code:
$fet mssql_fetch_array($res); 
also machst du einfahc dadrunter folgendes:
PHP Code:
print_r($fet); 
PHP Code:
$res        mssql_query($sql);
$fet        mssql_fetch_array($res);
                    
print_r($fet); 
Glaube nicht,dass es richtig ist.

Bekomme jedenfalls wieder eine Ausgabe
07/23/2013 15:19 dowhile#9
mssql_fetch_array() liefert bei jedem Aufruf eine weitere Zeile als Array. Gibt es kein weitere Zeilen mehr, liefert die Funktion "false".

Du musst also in einer Schleife immer nach neuen Zeilen fragen und mit ihnen deine Tabelle generieren. Die Schleife läuft so lange, bis die Funktion false liefert.

Im Übrigen ist ein tr-Tag als direktes Kind eines tr-Tags überflüssig (falsch). Dazu schließt du die font-Tags nie. Und ich sehe keinen Grund, deine Tabelle in zwei Tabellen aufzuteilen; es spricht nichts dagegen, wenn Kopfzeile und Zeilen mit Daten in einer Tabelle zusammengefasst werden.
07/23/2013 15:24 Germaantutorials#10
Quote:
Originally Posted by dowhile View Post
mssql_fetch_array() liefert bei jedem Aufruf eine weitere Zeile als Array. Gibt es kein weitere Zeilen mehr, liefert die Funktion "false".

Du musst also in einer Schleife immer nach neuen Zeilen fragen und mit ihnen deine Tabelle generieren. Die Schleife läuft so lange, bis die Funktion false liefert.

Im Übrigen ist ein tr-Tag als direktes Kind eines tr-Tags überflüssig (falsch). Dazu schließt du die font-Tags nie. Und ich sehe keinen Grund, deine Tabelle in zwei Tabellen aufzuteilen; es spricht nichts dagegen, wenn Kopfzeile und Zeilen mit Daten in einer Tabelle zusammengefasst werden.
Es ist eine Tabelle nicht 2.
07/23/2013 15:26 dowhile#11
Nein, du hast in deinem HTML-Code zwei Tabellen (zwei table-Tags).
07/23/2013 15:34 MrPuschel#12
Ich denke er hat den Code nicht selbst geschrieben und weis auch nicht was da eigentlich passiert. Also bemüht euch nicht.
07/23/2013 15:37 dowhile#13
Achso. Dann probier das:

Quote:
$sql = "SELECT [CharName], [Level], [K1],[K2],[Del] FROM [PS_GameData].[dbo].[Chars] ";
$res = mssql_query($sql);
?>
<table border=1 cellpadding=5 cellspacing=0>
<tr>
<td WIDTH=150><font size=2 face=arial color=red><b>Charakter Name</b></font></td>
<td WIDTH=150><font size=2 face=arial color=red><b>Level</b></font></td>
<td WIDTH=150><font size=2 face=arial color=red><b>Kill</b></font></td>
<td WIDTH=150><font size=2 face=arial color=red><b>Tode</b></font></td>
<td WIDTH=150><font size=2 face=arial color=red><b>Gelöscht?</b></font></td>
</tr>
<?php
while (($fet = mssql_fetch_array($res)) != false) {
?>
<tr>
<td WIDTH=150><font size=2 face=arial><?php echo $fet[0]?></font></td>
<td WIDTH=150><font size=2 face=arial><?php echo $fet[1]?></font></td>
<td WIDTH=150><font size=2 face=arial><?php echo $fet[2]?></font></td>
<td WIDTH=150><font size=2 face=arial><?php echo $fet[3]?></font></td>
<td WIDTH=150><font size=2 face=arial><?php echo $online?></font></td>
</tr>
<?php
}
?>
</table>
07/23/2013 17:08 Germaantutorials#14
Quote:
Originally Posted by dowhile View Post
Achso. Dann probier das:
Danke dir!!!! Klappt!

Gibt es eine möglichkeit eine Zahl in ein Wort im zuwandeln?

Aus der db wird die 1 Gezogend as soll Ja sein
Und 0 soll Nein Sein.

Danke <3
07/23/2013 19:12 MartPwnS#15
Alter... lern mal bitte die Grundprinzipien von PHP

Quote:
if ($fet[X] == 1)
{
echo "JA";
}
else
{
echo "NEIN";
}