Zurück   PSD-Tutorials.de > Webbereich > PHP und andere Scriptsprachen


Antwort
 
Themen-Optionen
Alt 09.08.2012, 12:16   #1 Nach oben scrollen
Newbie
Newbie
 

Registriert seit: 23.04.2010
Beiträge: 14

Joomla 2 Datenbanktabellen verbinden

Hallo,
ich versuche es so einfach wie möglich mein Anliegen zu formulieren.
Ich habe 1 Datenbanktabelle names = "user"
Ich habe 1 Datenbanktabelle names ="noten"

Usertabelle
ID | Name | username | Mail | passwort ...

Notentabelle
ID | matrikel | nachname | anrede | note1 | note2 | note3

Jetzt möchte ich gern Die 2 Tabellen verbinden "nummer" und "usernamen"
Die 2 Inhalte von nummer und username stimmen überein. Ich möchte wenn der Username eingeloggt ist das er in der Notentabelle nach der nummer schaut und die Zeile komplett ausgibt.

PHP-Code:
// Datenbank Zugangsdaten
mysql_connect("localhost","d011e4e0","K22otAP9wW97opAe") or die ("Keine Verbindung moeglich");
mysql_select_db("d011e4e0") or die ("Die Datenbank existiert nicht.");

// Datenbank ausgabe im Array $row 
$result mysql_query("SELECT * FROM notentabelle, usertabelle WHERE matrikel");
if (!
$result) {
    echo 
'Konnte Abfrage nicht ausführen: ' mysql_error();
    exit;
}
$matrikel $username;
$username mysql_query("SELECT * FROM jos_users");
$row mysql_fetch_row($result); 
Bei diesem Befehl wirft er mir auch nichts aus
PHP-Code:
$result mysql_query("SELECT matrikel FROM noten_ab11 INNER JOIN jos_users ON noten_ab11.matrikel = jos_users.username"); 

Geändert von siriussmarty (09.08.2012 um 12:37 Uhr).
  Mit Zitat antworten


Alt 09.08.2012, 12:24   #2 Nach oben scrollen
PHP - Flex Programmierer
HelperHelper
 
Benutzerbild von Robbyn-
 

Registriert seit: 18.12.2006
Ort: Schmallenberg
Beiträge: 530
Verwendet: CS6, Eclipse, IntelliJ IDEA 12, Flash Builder 4.7
AW: Joomla 2 Datenbanktabellen verbinden
Du kannst das z.b. so machen:

PHP-Code:
<?php
$username    
=    "Mustermann";

mysql_query("
SELECT
    u.*,
    n.*
FROM
    `user` as u,
    `notentabelle` as n
WHERE
    u.`username` = '"
.mysql_real_escape_string($username)."' AND
    n.`nummer` = u.`username`;
"
);
?>
  Mit Zitat antworten
Alt 09.08.2012, 12:52   #3 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14
AW: Joomla 2 Datenbanktabellen verbinden
Hallo Robbyn
danke für deine Antwort, funktioniert aber nicht. Muss erst noch einmal schauen da mir Joomla auch gerade keinen Benutzernamen ausgeben will. Vielleicht liegt es auch am restlichen Code da vielleicht dort ein Fehler sich eingeschlichen hat.

Würde mich später nochmal melden.
Danke im voraus!
  Mit Zitat antworten
Alt 09.08.2012, 13:58   #4 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14
AW: Joomla 2 Datenbanktabellen verbinden
Also funktioniert nicht ... er gibt mir nichts mehr aus
Ratlosigkeit kommt langsam auf... sitze schon mehrere tage daran Funktioniert zwar immer mal wieder was neues aber dort hänge ich mich echt Uff
  Mit Zitat antworten
Alt 09.08.2012, 14:01   #5 Nach oben scrollen
PHP - Flex Programmierer
HelperHelper
 
Benutzerbild von Robbyn-
 

Registriert seit: 18.12.2006
Ort: Schmallenberg
Beiträge: 530
Verwendet: CS6, Eclipse, IntelliJ IDEA 12, Flash Builder 4.7
AW: Joomla 2 Datenbanktabellen verbinden
Was geht den jetzt nicht genau?

Die Datenbankabfrage?

Falls ja, musst du vorher wissen, das durch die Abfrage jetzt auch eine Abhängigkeit entsteht. Wenn in der Tabelle `notentabelle` kein Eintrag von, z.b. Paul, ist, dann werden auch die Daten vom Benutzer "Paul" aus der Tabelle `users` nicht mit ausgegeben.

Geändert von Robbyn- (09.08.2012 um 14:06 Uhr).
  Mit Zitat antworten
Alt 09.08.2012, 14:11   #6 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14
AW: Joomla 2 Datenbanktabellen verbinden
Hallo Robbyn,
erst einmal Danke das du mir hilfst.
In der Usertabelle ist der Nutzer vorhanden mit "B11.103"
In der Notentabelle ist der Benutzer ebenso vorhanden mit allen Datenfeldern und damit die Verbindung klappt selbstverständlich mit "B11.103 in der Notentabelle hinterlegt.

Ich frage die Noten über Array ab. Wenn ich nur die Datenbank normal abfrage mit
PHP-Code:
$result mysql_query("SELECT * FROM noten_ab11"); 
gibt er die erste Zeile aus.

Und bei deinem Befehl spuckt er nichts mehr aus und die Felder sind leer.

PHP-Code:
$username    =    "Mustermann"
</span></span>
Hiermit wird bezweckt das der Username Mustermann heißen muss oder?
Da ich aber den Benutzer noch nicht kenne, der sich dort einloggt müsste da nicht stehen
PHP-Code:
 $matrikel ". $username ."
oder so?

Notentabelle heißt = noten_ab11 - spaltenname der verbunden werden soll "matrikel"
Usertabelle heißt = jos_users - spaltenname der verbunden werden soll "username"

Geändert von siriussmarty (09.08.2012 um 14:18 Uhr).
  Mit Zitat antworten
Alt 09.08.2012, 14:15   #7 Nach oben scrollen
PHP - Flex Programmierer
HelperHelper
 
Benutzerbild von Robbyn-
 

Registriert seit: 18.12.2006
Ort: Schmallenberg
Beiträge: 530
Verwendet: CS6, Eclipse, IntelliJ IDEA 12, Flash Builder 4.7
AW: Joomla 2 Datenbanktabellen verbinden
Damit ich weiter helfen kann, brauche ich einzelheiten wieso es nicht funktioniert, deshalb werden wir mal die Fehlermeldung ausgeben lassen

Ändere deinen Code mal wie folgt ab:
PHP-Code:
 <?php
$username    
=    "Mustermann";

$query    =    mysql_query("
SELECT
    u.*,
    n.*
FROM
    `user` as u,
    `notentabelle` as n
WHERE
    u.`username` = '"
.mysql_real_escape_string($username)."' AND
    n.`nummer` = u.`username`;
"
);

if(
$query == false)
{
    die(
mysql_error());
}
?>
Und dann gib mir die Meldung aus, die dort hoffentlich zurück kommt.


EDIT:

Achso den Benutzer weißt du noch nicht! Dann versuche es mal wie folgt:

PHP-Code:
$query    =    mysql_query("
SELECT
    u.*,
    n.*
FROM
    `user` as u,
    `notentabelle` as n
WHERE
    n.`nummer` = u.`username`;
"
); 

Geändert von Robbyn- (09.08.2012 um 14:24 Uhr).
  Mit Zitat antworten
Alt 09.08.2012, 14:28   #8 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: Joomla 2 Datenbanktabellen verbinden
Passt du denn deine Tabellennamen im Code von Robbyn an? Deine Nutzertabelle heißt jos_users, im Vorschlag nur user.

Ansonsten sollte dein erster Ansatz
PHP-Code:
 $result mysql_query("SELECT matrikel FROM noten_ab11 INNER JOIN jos_users ON noten_ab11.matrikel = jos_users.username"); 
schon korrekt sein. Möglicherweise musst du noch die Tabelle anhängen, aber da bin ich mir gerade nicht sicher.
PHP-Code:
 $result mysql_query("SELECT noten_ab11.matrikel FROM noten_ab11 INNER JOIN jos_users ON noten_ab11.matrikel = jos_users.username"); 
Ansonsten vermute ich einen Fehler in der Ausgabe nach dem Query.


Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 09.08.2012, 14:45   #9 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14
AW: Joomla 2 Datenbanktabellen verbinden
Hallo,
@Duddle dein versuch mache ich später *Danke!*
@Robbyn jetzt gibt er mir was aus, nur nicht die Noten, sondern die Usertabelle mit Name, e-mail, anschrift, brauche aber die Notentabelle...

- Ich schaue mal kurz weiter

EDIT : DANKE! Er ruft Sie ab nur die falschen, vielleicht habe ich auch einen Fehler in der Datenbank
  Mit Zitat antworten
Alt 09.08.2012, 14:48   #10 Nach oben scrollen
PHP - Flex Programmierer
HelperHelper
 
Benutzerbild von Robbyn-
 

Registriert seit: 18.12.2006
Ort: Schmallenberg
Beiträge: 530
Verwendet: CS6, Eclipse, IntelliJ IDEA 12, Flash Builder 4.7
AW: Joomla 2 Datenbanktabellen verbinden
Probiere mal das Beispiel von Duddle aus, den wenn ich mir die Tabelle so aufbaue wie oben beschrieben funktioniert meine query.
  Mit Zitat antworten
Alt 09.08.2012, 14:51   #11 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14
AW: Joomla 2 Datenbanktabellen verbinden
Gut, das möchte nicht funktionieren von @ Duddle - keine Ausgabe mehr

Mit
PHP-Code:
if($query == false)
{
    die(
mysql_error());

gibt es eine leere Seite
  Mit Zitat antworten
Alt 09.08.2012, 14:55   #12 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: Joomla 2 Datenbanktabellen verbinden
Wie sieht dein Code nach dem mysql_query() aus? Das heißt, wie lässt du dir das Ergebnis anzeigen?


Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 09.08.2012, 14:57   #13 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14
AW: Joomla 2 Datenbanktabellen verbinden
Über ein Array

PHP-Code:
// Datenbank ausgabe im Array $row 
$result mysql_query("SELECT noten_ab11.matrikel FROM noten_ab11 INNER JOIN jos_users ON noten_ab11.matrikel = jos_users.username");  
if (!
$result) {
    echo 
'Konnte Abfrage nicht ausführen: ' mysql_error();
    exit;
}
$row mysql_fetch_row($result); 
Möchte das gern zwischenspeichern, da es noch andere Klassen mit anderen Template gibt wo die Datenbankeinträge unterschiedlich sind.

Ausgabe in der HTML Tabelle
PHP-Code:
<?php echo $row[5]; ?>
weil ich nur die spalte brauche in der Tabellespalte
  Mit Zitat antworten
Alt 09.08.2012, 15:04   #14 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: Joomla 2 Datenbanktabellen verbinden
Wenn du mit dem SELECT nur eine Spalte holst (matrikel), dann ist das Array in $row auch nur ein Feld lang. Das kannst du bestätigen indem du ein
PHP-Code:
print_r($row); 
einbaust. Wenn das Array nur 1 Feld hat, ist $row[5] offensichtlich nicht definiert / leer und du siehst nix in der Ausgabe.



Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall
  Mit Zitat antworten
Alt 09.08.2012, 15:12   #15 Nach oben scrollen
Newbie
Newbie
Themenstarter
 

Registriert seit: 23.04.2010
Beiträge: 14
AW: Joomla 2 Datenbanktabellen verbinden
Hey,
sorry aber komme gerade nicht hinterher... bin noch Newbie und versuche durch das Programmieren einfach dazu zu lernen, einfache Anfängerkurse habe ich mir schon durchgelesen, also was Variabeln Array, Datenbankabfragen etc durchgelesen.

Aber print_r war noch nie eine Rede gewesen... daher kann ich mir auch gerade nicht vorstellen was dies bezweckt Sorry

PHP-Code:
// Datenbank Zugangsdaten
mysql_connect("localhost","d011e4e0","K22otAP9wW97opAe") or die ("Keine Verbindung moeglich");
mysql_select_db("d011e4e0") or die ("Die Datenbank existiert nicht.");

// Datenbank ausgabe im Array $row 
$result mysql_query("SELECT noten_ab11.matrikel FROM noten_ab11 INNER JOIN jos_users ON noten_ab11.matrikel = jos_users.username");  
if (!
$result) {
    echo 
'Konnte Abfrage nicht ausführen: ' mysql_error();
    exit;
}
$row mysql_fetch_row($result);
print_r($row);  
?> 
ich habe so ziemlich viele Felder ingesamt 38 Stück brauche aber nur ein paar ca. 30, das hängt aber alles mit der CVS Datei bei Hochladen zusammen, da ich diese Felder für etwas anderes benötige

Geschichte: CSV Datei wird hochgeladen in Datenbank importiert und nun möchte ich über ein Array zwischenspeichern was er ausgibt und in die HTML Tabelle einfügen mit $row->feld oder ähnlich

In meinem Fall
PHP-Code:
 <?php echo $row[5]; ?>
Vielleicht Wichtig: Auch Spalten sind in der Tabelle leer, vielleicht macht er da ein Problem?

Bei Robbyn seiner Variante liest er nur die 2te Zeile aus... benötige aber die Zeile wo die Matrikel übereinstimmt mit dem username.

Aber ich belese mich mal wegen dem print_r - dachte sowas nimmt man nur in der Schleife...

Geändert von siriussmarty (09.08.2012 um 15:33 Uhr).
  Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wordpress - Datenbanktabellen aktualisieren Debi1973 Allgemeines 10 11.09.2010 19:39
2 Textrahmen verbinden handsteiner Acrobat 9 25.03.2010 20:08
eventkalenderfür joomla 1.5 ( auch joomla 1.0 ) talkuvit Joomla! 2 14.04.2009 19:10
[joomla] Frage an Joomla Benutzer...Probleme?? kobii Joomla! 4 23.09.2008 16:26