php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.12.2004, 17:45  
Gast
 
Beiträge: n/a
Standard 2 Tabellen kombinieren

Moin,

ich habe ein kleines Problem. Und zwar progge ich ein Art CMS. Im Adminmenü kann man Kategorien (werden in der Tabelle 'c_kategorien' gespeichert) und Seiten (können den verschiedenen Kategorien zugeordnet werden; werden in 'c_content' gespeichert) angelegt werden.

Ich möchte jetzt, das im Menü alle Kategorien und darunter jeweils die dazugehörigen Seiten angezeigt werden. Aber wie kann ich aus 2 MySQL Tabellen gleichzeitig eine Abfrage machen (oder gibts noch eine andere Möglichkeit?)? Mir fällt dazu einfach nichts ein...

mfg blaster
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.12.2004, 17:46  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Variante1: Du läßt das MySQL direkt machen. Das nennt sich dann JOIN.

Variante2: Du liest beide Tabellen einzeln komplett aus und machst das anschliessend im PHP.
mepeisen ist offline  
Alt 23.12.2004, 11:01  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von mepeisen
Variante1: Du läßt das MySQL direkt machen. Das nennt sich dann JOIN.

Variante2: Du liest beide Tabellen einzeln komplett aus und machst das anschliessend im PHP.
Hmm, wie müsste Variante 2 dann in etwa aussehen? Hab da atm überhaupt kein Plan...

mfg blaster
 
Alt 23.12.2004, 11:05  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

falsche frage. mach es mit variante 1
les doch mal im MySQL-manual nach ..
imported_Ben ist offline  
Alt 23.12.2004, 11:31  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Ben
falsche frage. mach es mit variante 1
les doch mal im MySQL-manual nach ..
OK...
Ich hab mich mal ein bisschen "informiert", komme aber nicht so recht weiter...

PHP-Code:
<?

mysql_connect
("localhost","root","");
mysql_select_db("jointest");

   
$sql "SELECT cat.id,cat.name,cont.name,cont.catid FROM cat,cont WHERE cont.catid = cat.id";

  
$ergebnis mysql_query($sql);
  while(
$erg mysql_fetch_object($ergebnis))
    {
    echo 
$erg->cat.name;
    echo 
"
"
;
    echo 
$erg->cont.name;
    }

?>
Ergibt die Ausgabe:

name
namename
namename
name

Das ist jedoch totaler Mist und steht auch nirgens
Warscheinlich ist es schon von der Überlegung her falsch, ich weiß aber nicht wie ich es anders machen soll...

mfg blaster
 
Alt 23.12.2004, 11:34  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie sehen denn die inhalte der tabellen aus und was willst du im endefffekt dann raushaben?
imported_Ben ist offline  
Alt 23.12.2004, 11:37  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Ben
wie sehen denn die inhalte der tabellen aus und was willst du im endefffekt dann raushaben?
Also es gibt 2 Tabellen: cat (dort werden die Kategorien gespeichert) und cont (die Inhaltsseiten zu den Kategorien). In cat gibts atm nur 2 Felder: id und name. Bei cont 3 Felder: id, catid und name. Das ist ja auch noch nicht das endgültige Script, sondern nur ein Test

Die Ausgabe soll dann in etwa so erfolgen:

-Kategorie 1
--Link 1
--Link 2
-Kategorie 2
--Link 1
--Link 2
--Link 3

mfg blaster
 
Alt 23.12.2004, 11:45  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

SQL sollte das hier sein:
Code:
SELECT
    cat.name,
    cont.name,
    cont.id
FROM
    cat,
    cont
WHERE
    cont.catID = cat.id
ORDER BY
    cont.catID
dann erhälst du erstmal die daten. die ausgabe müsstest du dann per PHP realisieren.

ich bin mit GROUP BY-klauseln nicht wirklich vertraut .. SQL ist nicht wirklich meine stärke ..
eventuell geht das damit auch noch etwas besser?

grüße ben.
imported_Ben ist offline  
Alt 23.12.2004, 11:47  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Ben
SQL sollte das hier sein:
Code:
SELECT
    cat.name,
    cont.name,
    cont.id
FROM
    cat,
    cont
WHERE
    cont.catID = cat.id
ORDER BY
    cont.catID
dann erhälst du erstmal die daten. die ausgabe müsstest du dann per PHP realisieren.

ich bin mit GROUP BY-klauseln nicht wirklich vertraut .. SQL ist nicht wirklich meine stärke ..
eventuell geht das damit auch noch etwas besser?

grüße ben.
OK, ich werde mal ein bisschen rumprobieren
Vielleicht hat ja noch jemand anderes einen kleinen Tipp für mich *gg*
Auf jeden Fall mal Danke an dich.

mfg blaster
 
Alt 23.12.2004, 11:49  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

teste am besten immer erst mal im phpMyAdmin die SQL-anweisungen .. dann schreibst du dich nicht zu tode, weil du immer noch PHP-code schreiben müsstest, um den kram auszugeben

viel erfolg.
imported_Ben ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellen für Vokabeltrainer anlegen... anonym01 PHP Tipps 2008 9 03.03.2008 21:18
PHP Array in MYSQL Tabellen schreiben Matt Datenbanken 1 26.02.2008 19:43
5 tabellen miteinander verknüpfen. miwo Datenbanken 2 22.09.2007 11:17
[Erledigt] SELECT aus zwei &amp;amp;quot;gleichen&amp;amp;quot; Tabellen patr1k Datenbanken 2 05.07.2006 11:57
Kombinieren von zwei Tabellen danix-dj Datenbanken 4 16.05.2006 20:01
Join-Abfrage über mehrere Tabellen sinai Datenbanken 3 04.02.2006 13:05
einträge aus 2 tabellen sortieren Tschuu Datenbanken 11 20.12.2005 08:21
[Erledigt] abfrage mehrere tabellen PHP Tipps 2005-2 3 31.10.2005 21:57
[Erledigt] Tabellen kombinieren Datenbanken 6 16.10.2005 10:29
Anhand Union Spalte aus anderen Tabellen selekt. und sort. Datenbanken 1 02.08.2005 11:34
Quiz Tabellen wizzardxx Datenbanken 9 10.05.2005 11:24
[Erledigt] Selectanfrage an eine Datenbank,aber aus mehreren Tabellen Datenbanken 2 26.10.2004 07:23
[Erledigt] tabellen verknuepfen und ergebnisse ueber link ausgeben PHP Tipps 2004 3 21.09.2004 06:04
[Erledigt] fulltext suche priorität von tabellen setzen Datenbanken 1 09.08.2004 15:26
Abfrage über 3 Tabellen PHP Tipps 2004 3 31.07.2004 22:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql tabellen kombinieren, mysql 2 tabellen kombinieren, tabellen kombinieren, wie kombiniere ich zwei mysql datenbanken, http://www.php.de/php-tipps-2004-2/14635-2-tabellen-kombinieren.html, kombiniere tabellen mysql, html5 fragen aus datenbank offline quiz, mysql php 2 datenbanken verbinden gleichzeitig, mysql zwei tabellen kombinieren, sql gleichzeitig mehreren tabellen sortieren, mysql tabellen kombinieren mit priorität, php mysql mehrere tabellen gleichzeitig, 2tabellen, mysql tabellen kombiniere, php daten aus 2 mysql-tabellen kombinieren, php 2 tabellen kombinieren, mysql 2 daten kombinieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.