php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.05.2006, 17:59  
Benutzer
 
Registriert seit: 04.01.2006
Beiträge: 32
philips
Standard tabellen verknüpfen

hallo an alle,


ich habe 2 tabellen

navigation (tab 1)
==========
nav_id
navigationsname

und

rubrik (tab 2)
======
rbk_id
navigationsname
rubrik
bemerkung
mehr

diese tabellen möchte ich nach ID verknüpfen .

beispiel:
=========

tab 1

nav_id navigationsname
-------+---------------
1 name 1
2 ......
3 ......


tab 2

rbk_id navigationsname rubrik bemerkung mehr
-------+-------------------+-------+---------------+------
1.........name 1................rbk 1...bemerkung 1..mehr
2.........name 1................rbk 2...bemerkung 1..mehr
3.........name 2................rbk 2...bemerkung 1..mehr



mit einer MYSQL abfrage möchte ich nun die tabellen verknüpfen. mit INNER JOIN sollte das ja funktionieren jedoch bekomme ich das nicht hin.

bei mir sieht die abfrage so aus:

.....

$res = mysql_query('

select
navigation.navigationsname, rubrik.rubrik, rubrik.bemerkung, rubrik.mehr
from
navigation
inner join
rubrik
on
navigation.nav_id = rubrik.navigationsname');

$num = mysql_num_rows($res);
.......


es kommt keine fehlermeldung, jedoch wird auch nichts angezeigt.

mfg.
philips ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.05.2006, 18:02  
Gast
 
Beiträge: n/a
Standard

Zitat:
es kommt keine fehlermeldung, jedoch wird auch nichts angezeigt.
Ich sehe da keine Fehlerbehandlung, die etwas brauchbares ausgeben könnte.
PHP-Code:
<?php

$query 
'SELECT
        navigation.navigationsname, rubrik.rubrik, rubrik.bemerkung, rubrik.mehr
    FROM
        navigation
    INNER JOIN
        rubrik
    ON
        navigation.nav_id = rubrik.navigationsname'
;

$res mysql_query($query) or die(mysql_error().': '.$query);

$num mysql_num_rows($res);

?>
navigation.nav_id = rubrik.navigationsname ? Sicher? Klingt komisch.
  Mit Zitat antworten
Alt 05.05.2006, 18:13  
Benutzer
 
Registriert seit: 04.01.2006
Beiträge: 32
philips
Standard tabellen verknüpfen

ups, das ging aber schnell. habe jetzt mal den code von dir eingegeben, aber es kommt das gleiche ergebnis.

hier mal meinen kompletten geänderten code:

PHP-Code:
<html>
<body>

<?php
   
include('connect.inc.php');

   
$res mysql_query('SELECT
        navigation.navigationsname, rubrik.rubrik, rubrik.bemerkung, rubrik.mehr
    FROM
        navigation
    INNER JOIN
        rubrik
    ON
        navigation.nav_id = rubrik.navigationsname'
);
   
$num mysql_num_rows($res);
   echo 
$num;

   
// Tabellenbeginn
   
echo "<table align=\"center\" border=\"1\" width=\"590\">";

   
// Überschrift
   
echo "<tr> <td>ID</td> <td>Navigationsname</td>";
   echo 
"<td>Rubrik</td> <td>Bemerkung</td>";
   echo 
"<td>mehr</td></tr>";

   
$lf 1;
   while (
$dsatz mysql_fetch_assoc($res))
   {
      echo 
"<tr>";
      echo 
"<td>$lf</td>";
      echo 
"<td>" $dsatz['navigationsname'] . "</td>";
      echo 
"<td>" $dsatz['rubrik'] . "</td>";
      echo 
"<td>" $dsatz['bemerkung'] . "</td>";
      echo 
"<td>" $dsatz['mehr'] . "</td>";
      echo 
"</tr>";
      
$lf $lf 1;
   }

   
// Tabellenende
   
echo "</table>";
?>

</body>
</html>
philips ist offline   Mit Zitat antworten
Alt 05.05.2006, 18:17  
Gast
 
Beiträge: n/a
Standard

Da sehe ich zwar schon wieder kein mysql_error(), aber nun gut.
Wenn kein Fehler auftritt, dann gibt es wohl keine Übereinstimmung
navigation.nav_id = rubrik.navigationsname

Was gibt echo $num; aus?
  Mit Zitat antworten
Alt 05.05.2006, 18:24  
Benutzer
 
Registriert seit: 04.01.2006
Beiträge: 32
philips
Standard tabellen verknüpfen

echo gibt null aus.

geht eigentlich nicht, weil die einträge vorhanden sind.

es müstte zumindest irgend etwas zu name 1 kommen, oder alles.

z.b.

name 1
+---name1--bemerkung 1..mehr
+---name1--bemerkung 1..mehr

in ms access funktioniert das

besser noch

in tabelle 1 habe ich

links

in tabelle 2 habe ich die entsprechenden einträge zu den links und die sollten angezeigt werden.
philips ist offline   Mit Zitat antworten
Alt 05.05.2006, 18:31  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Warum verknüpfst du navigation.nav_id = rubrik.navigationsname?

Zeig uns doch mal 2 Einträge aus den jeweiligen Tabellen, die deiner Meinung nach verknüpft sein müssten (mit Spaltenbezeichnung).
Zergling-new ist offline   Mit Zitat antworten
Alt 05.05.2006, 18:33  
Benutzer
 
Registriert seit: 04.01.2006
Beiträge: 32
philips
Standard tabellen verknüpfen

ok ich versuchs mal, komme mit der formatierung hier nicht zurecht.
philips ist offline   Mit Zitat antworten
Alt 05.05.2006, 18:44  
Benutzer
 
Registriert seit: 04.01.2006
Beiträge: 32
philips
Standard tabellen verknüpfen

nav_id navigationsname
5 Links

rbk_id---navigationsname---rubrik--------- bemerkung-----------------mehr
1---------Links-------------------viele Links-----gute Links------------------mehr
2---------Links-------------------noch mehr---- links noch viel mehr Links-mehr

jetzt müsste das ganze so aussehen:

5
+-1
+-2

natürlich stehen anstatt der id die namen und alles was dazu gehört.
tut es aber nicht. es stehen nur die tabellenüberschriften in der ausgabe.

echo $num; ist nur zur kontrolle und wird wieder gelöscht.
philips ist offline   Mit Zitat antworten
Alt 05.05.2006, 18:49  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Das Prinzip der Normalisierung hast du aber nicht verstanden oder?
http://de.wikipedia.org/wiki/Normali...28Datenbank%29

In die Tabelle "rubrik" gehört nicht der Name des Navigations-Punktes, sondern die ID!

Sonst bräuchtest du die "navigation" Tabelle ja garnicht..


Ich versteh auch deine Aufteilung nicht so ganz. Was ist eine "rubrik"? Ein Unternavigationspunkt von "navigation"?
Zergling-new ist offline   Mit Zitat antworten
Alt 05.05.2006, 18:51  
Gast
 
Beiträge: n/a
Standard

Äh, was?
Zitat:
natürlich stehen anstatt der id die namen und alles was dazu gehört.
Ja, natürlich.

Hey, so macht das keinen Sinn. Es ist vermutlich irgendeine Kleinigkeit, eine klitzekleine Kleinigkeit, die falsch ist.
Also bitte keine abgeänderten, gekürzten, interpretierten, getippten Sachen hier reinstellen. Die Fehlerrate dabei ist einfach zu hoch und wir dürfen raten bis uns die Bärte grau werden.

So, und jetzt möchte ich Dich bitten, meine Änderungen vollständig in Dein Skript zu übernehmen (es geht vo rallem um das or die....). Und dann noch aus dem include ein require zu machen (denn ohne connect.inc.php ist das andere Skript fast wertlos, oder? )
Und davor noch error_reporting(E_ALL); ini_set('display_errors', true) eintragen - wir wollen eventuelle Fehler sehen.
Code:
<html>
	<body>
<?php
error_reporting(E_ALL); ini_set('display_errors', true);
require 'connect.inc.php';
Und dann mal testweise aus dem INNER JOIN ein LEFT JOIN machen.
Was passiert?
  Mit Zitat antworten
Antwort


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
3 Tabellen verbinden madSoul Datenbanken 4 30.03.2006 15:37
Vergleich zweier Tabellen Mandalay Datenbanken 11 22.03.2006 06:32
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
Abfrage mehrerer Tabellen per PHP (Code vereinfachen) PHP Tipps 2007 4 18.12.2005 12:34
Select über mehrere tabellen Sclot Datenbanken 14 24.11.2005 16:56
[Erledigt] abfrage mehrere tabellen PHP Tipps 2005-2 3 31.10.2005 21:57
INNER JOIN mit 4 tabellen ??? Dragon26mFR Datenbanken 5 01.05.2005 18:51
sql über 2 tabellen PHP Tipps 2005 2 25.04.2005 21:26
eine spalte von 2 tabellen vergleichen Sclot PHP Tipps 2005 2 22.03.2005 19:00
[Erledigt] Selectanfrage an eine Datenbank,aber aus mehreren Tabellen Datenbanken 2 26.10.2004 07:23
[Erledigt] fulltext suche priorität von tabellen setzen Datenbanken 1 09.08.2004 15:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
tabellen verknüpfen echo, datenbanken verknüpfen query php

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:01 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.