[PHP/MySQl]Mehrere Einträge anzeigen

03/23/2013 13:19 Huperis#1
Hallo,
ich habe in meinem PHP-Script folgenden Code:
PHP Code:
$result mysql_query("SELECT title,id,text,date FROM news WHERE `check` = 1")
    or die(
"<b>Error (3):</b> "mysql_error());
    
$row mysql_fetch_row($result); 
und die andere wichtige (denke ich mal) Stelle:
PHP Code:
    <?php 
        
if (mysql_num_rows($result)) {
            echo 
'<div class="news_box">';
        echo 
'<a><b>'$row[0] .'</a></b><br>';
        echo 
'<a href="news.php?id='.$row[1].'">'.$row[2].'</a>';
        echo 
'<p class="post_info">Geschrieben von <a>Lukas</a> am <span>'.$row[3].'</span></p>';
        echo 
'</div>';
        }
        else {
        echo 
'<i>Momentan gibt es keine News in der Datenbank.</i>'; }
    
?>
Eine Neuigkeit wird auch angezeigt, jedoch würde ich gerne alle anzeigen lassen.
Wie muss ich den Code da verändern?

Also so sieht es aus, auch wenn 5 Einträge in der Datenbank sind:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

Danke schon mal für die Hilfe :)
03/23/2013 14:48 reCougar#2
Quote:
Originally Posted by 00Se7en View Post
Thanks
Dumm ?
03/23/2013 16:08 Mikesch01#3
PHP Code:
<?php
$result 
mysql_query("SELECT title,id,text,date FROM news WHERE `check` = 1")
    or die(
"<b>Error (3):</b> "mysql_error());
    
while(
$row mysql_fetch_array($result)) {
        echo 
'<div class="news_box">';
        echo 
'<a><b>'$row[0] .'</a></b><br>';
        echo 
'<a href="news.php?id='.$row[1].'">'.$row[2].'</a>';
        echo 
'<p class="post_info">Geschrieben von <a>Lukas</a> am <span>'.$row[3].'</span></p>';
        echo 
'</div>';
        }
        else {
        echo 
'<i>Momentan gibt es keine News in der Datenbank.</i>'; } 
}
?>
Einfach dein Ergebnis in eine while-Schleife packen
03/23/2013 17:28 Huperis#4
Vielen Dank, hat geklappt!
Ich hab noch ne Frage.. wenn ich Sonderzeichen benutze kommen auf der Seite "�".
Was für eine Kollation muss ich da benutzen? Hab jetzt schon ein paar utf8 versucht, jedoch bleibts bei den "�".

Danke :)
03/23/2013 17:46 Fehlgeschlagen#5
Kommt drauf an was du lieber machst while oder for ich bin eher ein fan von for-loop

PHP Code:
    for ($int 0$row mysql_fetch_assoc($result); $int++) 
    {

    } 
03/23/2013 18:07 Mikesch01#6
Quote:
Originally Posted by Fehlgeschlagen View Post
Kommt drauf an was du lieber machst while oder for ich bin eher ein fan von for-loop
Das würde den Quellcode nur unnötig aufblähen. Hier ist eindeutig while besser ;)

Versuchs mal mit folgendem Sprachtypen: iso-8859-1
03/23/2013 19:54 Huperis#7
Quote:
Originally Posted by Mikesch01 View Post
Versuchs mal mit folgendem Sprachtypen: iso-8859-1
Den gibt es bei mir nicht.. gar kein iso.
03/23/2013 19:59 Mikesch01#8
Im Script natürlich^^

PHP Code:
<html>
<
head>
...

<
meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
...
</
head>
<
body>
.... 
03/23/2013 20:03 Huperis#9
Ok, klappt jetzt^^
Ein letztes Anliegen hab ich noch..
Ich hab die Abfrage jetzt noch etwas abgeändert:
Code:
SELECT `title`,`id`,`text`,`date` FROM `news` WHERE `check` = 1 ORDER BY `id` DESC LIMIT 3
Wenn ich diesen Code bei phpmyadmin eingebe, kommt genau das, was ich möchte: Die letzten 3 News werden nach id geordnet absteigend angezeigt.

Wenn ich genau diesen Code jedoch im PHP-Code verwende, verändert sich nichts.

Ne Idee, wodran es liegen könnte? :x

Edit: Hat sich geklärt, hab die falsche Datei hochgeladen >.> :D
03/23/2013 20:57 galaxyo#10
Quote:
Originally Posted by Huperis View Post
Ok, klappt jetzt^^
Ein letztes Anliegen hab ich noch..
Ich hab die Abfrage jetzt noch etwas abgeändert:
Code:
SELECT `title`,`id`,`text`,`date` FROM `news` WHERE `check` = 1 ORDER BY `id` DESC LIMIT 3
Wenn ich diesen Code bei phpmyadmin eingebe, kommt genau das, was ich möchte: Die letzten 3 News werden nach id geordnet absteigend angezeigt.

Wenn ich genau diesen Code jedoch im PHP-Code verwende, verändert sich nichts.

Ne Idee, wodran es liegen könnte? :x

Edit: Hat sich geklärt, hab die falsche Datei hochgeladen >.> :D
Kleiner, eventuell später hilfreicher Tipp von mir: Achte auf den Datentyp! Wenn du später beispielsweise ein Feld vom Typen VARCHAR anlegst, dort Zahlen speicherst und diese über das SQL-Statement sortieren möchtest, funktioniert das nicht!!