Zum Inhalt springen

kann ich abfragen auf 2 Tables direkt kombinieren zu einer ausgabe ??


JoelH

Empfohlene Beiträge

hmmm,

irgendwie viel mir kein besser Topictitel ein, also folgendes Problem :

Ich bin dabei ein kleine Bulletin Board zu coden um ein bischen php und mysql zu üben und nun stehe ich vor einem kleinen Problem das ich zwar umständlich selber lösen kann aber mich frage ob es nicht einfacher geht, also ich habe zwei Tabellen, in einer stehen die topicbeiträge drin und eine da stehen die Usernamen/pseudonyme/etc. drin.


$query = "CREATE TABLE user (erstellerid INT not null AUTO_INCREMENT, username VARCHAR (50) not null , pseudonym VARCHAR (15) not null , email VARCHAR (35) not null , homepage VARCHAR (40) , passwort VARCHAR (10) not null , status INT DEFAULT '1' not null , PRIMARY KEY (erstellerid), UNIQUE (pseudonym))";

Dies ist die Usertabelle.

$query = "CREATE TABLE topicbeitraege (tid INT NOT NULL, eid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, beitrag TEXT NOT NULL, erstellerid INT NOT NULL, datum DATE NOT NULL, uhrzeit TIME NOT NULL)";

Dies ist die Topicbeitraegetabelle So und nun möchte ich mit zum beispiel alle Topicbeiträge ausgeben lassen die tid (topicid) 1 haben.

SELECT * from topicbeitraege WHERE tid = 1 ;

wenn ich dies nun mit der der phpschleife

if ($db)

             {  mysql_select_db($dbname,$db);

                $query = 'SELECT * FROM topicbeitreage WHERE tid = 1';

                $result = mysql_query($query,$db);

                if ($result)

                   {   $number = mysql_num_rows($result);

                       echo '<br><br>';

                       echo '<TABLE BORDER=1>';

                       while ($row = mysql_fetch_array($result, MYSQL_ASSOC))

                         { echo '<tr><td>';

                           echo implode('<td>',$row);

                           echo '</tr>';

                         }

                       echo '</TABLE>';

                   }

alles ausgebe dann wird ja die erstellerid ausgegeben, was aber nicht so schön ist denn ich will ja eigentlich das pseudonym in der Liste haben, da die erstellerid ja der Primary Key der Usertabelle ist wollte ich mal fragen ob man dies direkt von SQL oder php ersetzen lassen kann, also ein SQL query der direkt anhand der erstellerid das pseudonym ermittelt und es anstatt der erstellerid ausgibt. Denn das wäre dann recht komfortabel.

Meine Methode ist es nämlich zuerst die ganzen topics raus zu suchen, aus diesen dann die erstellerid's raus zu suchen und diese dann in der Usertabelle abzufragen und auszugeben, das sind dann massenhaft SQL Abfragen und das belastet dann doch die Datenbank wenn die Topics eine gewisse länge haben.

Also gibts da was, ich hoffe ich hab mein Problem klar dagelegt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

SELECT tb.*, us.username from topicbeitraege tb, user us WHERE tb.tid = 1 AND tb.erstellerid = us.erstellerid;

die abfrage bringt dir deinen gewünschten effekt.

einfach die beiden tabellen nach FROM schreiben

us und tb sind hierbei nur alias-namen weil in beiden tabellen erstellerid vor kommt

mfg andi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...