Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

SQL abfrage zeigt nur einen Datensatz an obwohl es mehrere sein müssten

Diskussion: SQL abfrage zeigt nur einen Datensatz an obwohl es mehrere sein müssten im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Moin, Ich habe mir ein kleines News Skript gemacht, jetzt habe ich folgendes Problem es wird immer nur ein ...

Antwort
Alt 28.05.06, 16:51   #1 (permalink)
ba2
Guest
 
Likes:
SQL abfrage zeigt nur einen Datensatz an obwohl es mehrere sein müssten

Anzeige

Moin,

Ich habe mir ein kleines News Skript gemacht, jetzt habe ich folgendes Problem

es wird immer nur ein Datensatz angezeigt auch wenn mehrere vorhanden sind, wenn ich die Kommenta funktion rausnehme

PHP-Code:

//Komentare Anzeigen
$abfrage "SELECT * FROM comment where beitrag like '$id'"
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
   { 
   
$name $row->name;
   
$comment $row->comment;
   
//Text bearbeiten
   
include 'funktionen/comment.php';
   
//Ende Text bearbeiten
   
echo "<b>$name:</b> $comment<br>\n";
   }
//Ende Kommentare anzeigen 

Dieser teil, werden alle daten angezeigt, aber die kommentare nicht.


Komplettes Skript:
PHP-Code:
<?php
include 'config/config.php'//Konfigurationen Laden
include 'config/sql.php'//Datenbank Verbindung herstellen

//News anzeigen
$abfrage "SELECT * FROM news ORDER BY id desc";
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
   { 
   
$titel $row->titel;
   
$datum $row->datum;
   
$bild $row->bild;
   
$text $row->text;
   
$autor $row->autor;
   
$id $row->id;
   include 
'funktionen/bild.php'//Bild ueberpruefen
   
echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"750\">\n";
echo 
"  <tr>\n";
echo 
"    <td width=\"748\" colspan=\"2\">\n";
echo 
"    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\">\n";
echo 
"      <tr>\n";
echo 
"        <td width=\"70%\"><b>$titel - [</b><i>$datum</i><b>]</b></td>\n";
echo 
"        <td width=\"30%\">\n";
echo 
"        <p align=\"right\"><a href=\"?aktion=kommentar\">Kommentar abgeben</a></td>\n";
echo 
"      </tr>\n";
echo 
"    </table>\n";
echo 
"    </td>\n";
echo 
"  </tr>\n";
echo 
"  <tr>\n";
echo 
"    <td width=\"150\" valign=\"top\">\n";
echo 
"    <img border=\"0\" alt = \"Bild nicht gefunden\" src=\"$bild\" width=\"150\" height=\"150\"></td>\n";

//Text bearbeiten
include 'funktionen/text.php';
//Ende Text bearbeiten

echo "    <td width=\"600\" valign=\"top\">$text</td>\n";
echo 
"  </tr>\n";
echo 
"  <tr>\n";
echo 
"    <td width=\"734\" colspan=\"2\"><b>Kommentare:</b><br> \n";
//Ende News anzeigen

//Komentare Anzeigen
$abfrage "SELECT * FROM comment where beitrag like '$id'"
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
   { 
   
$name $row->name;
   
$comment $row->comment;
   
//Text bearbeiten
   
include 'funktionen/comment.php';
   
//Ende Text bearbeiten
   
echo "<b>$name:</b> $comment<br>\n";
   }
//Ende Kommentare anzeigen

echo "</td>\n";
echo 
"  </tr>\n";
echo 
"  <tr>\n";
echo 
"    <td width=\"734\" colspan=\"2\"><b>Autor:</b> $autor</td>\n";
echo 
"  </tr>\n";
echo 
"</table><br>\n";
}
?>

Kann mir jemand helfen?

mfg ba2
  Mit Zitat antworten
Alt 28.05.06, 17:09   #2 (permalink)
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

jup und zwar das Problem hatte ich auch schonmal.
Und zwar führst du die Abfrage SELECT * FROM news ORDER BY id desc durch und in der while Schleife fragst du dann zeilen weise ab.
Allerdings führst du jetzt innerhalb dieser Schleife wiedrum eine Abfrage über das gleiche sql handle.
Das heißt die erste Schleife wird einmal durchlaufen weil es mit der zweite Abfrage "überschrieben" wurde.

Abhilfe:

du baust 2 SQL Connecten auf und zwar indem du den Connection handles zuweist:

$handle1 = mysql_connect ();
$handle2 = mysql_connect ();

Allerdings finde ich das jetzt etwas unelegant.
Deshalb habe ich so etwas immer mit einem Join(http://v.hdm-stuttgart.de/~riekert/l....htm#Chap7.2.6) gemacht, was das ganze erheblich vereinfacht.

gruß
CPU8080 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 28.05.06, 17:11   #3 (permalink)
ba2
Guest
 
Likes:
Standard

ich habs jetzt anders gelöst

unzwar bei der abfrage einfach die variabeln geändert


PHP-Code:

$abfrage2 
"SELECT * FROM comment where beitrag like '$id'"
$ergebnis2 mysql_query($abfrage2);
while(
$row mysql_fetch_object($ergebnis2))
   { 
   
$name $row->name;
   
$comment $row->comment;
   
//Text bearbeiten
   
include 'funktionen/comment.php';
   
//Ende Text bearbeiten
   
echo "<b>$name:</b> $comment<br>\n";
   } 

so gehts auch


mfg and THX by BA
  Mit Zitat antworten
Alt 28.05.06, 20:45   #4 (permalink)
 
Registriert seit: 17.01.06
Oi!Alex Leistung: 8086
Likes: 7
Standard

PHP-Code:
$Link mysql_connect($Host$User$Password) or die(print"Keine Verbindung möglich zu Datenbank");

$Query "SELECT * FROM comment where beitrag like '$id'";

$Result mysql_db_query($DBname$Query$Link) or die(print"Fehler!.");

while (
$Row mysql_fetch_array($Result))
{

include(
'funktionen/comment.php');
echo
"<b>$Row['name']:</b> $Row['comment'] <br>\n";


sollte so funktionieren (ist ungetestet...)
Oi!Alex ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » SQL abfrage zeigt nur einen Datensatz an obwohl es mehrere sein müssten
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrere Ordner als einen Share freigeben gmw Network · LAN, WAN, Firewalls 2 24.11.07 03:15
Foobar2000 zeigt einen fehler an wenn ich eine musikdatei konvertieren will JTRSchnurrli Die Problemzone 0 21.09.06 21:50
Kann man einen Port für mehrere Rechner freigeben? HackbartNRW Network · LAN, WAN, Firewalls 4 14.10.05 10:48
NetLimiter zeigt mir Download von eMule an, obwohl emule keinen anzeigt flexo1 Internet Allgemein 6 03.05.05 14:28
C-Drive voll, obwohl noch 3Gig platz sein müssten peeter Windows 27 07.07.04 23:08


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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61