| SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden. |
 |

10-02-2005, 17:03
|
|
lan
Junior Member
|
|
Registriert seit: Jan 2003
Beiträge: 119
|
|
PN und Benutzer Tabellen verknüpfen und anzeigen
Hallo zusammen,
möchte ein PN System entwicklen, DB hab ich bereits definiert:
CREATE TABLE `pn` (
`id` int(11) NOT NULL auto_increment,
`userid` int(11) NOT NULL default '0',
`betreff` varchar(255) NOT NULL default '',
`nachricht` text NOT NULL,
`datum` date NOT NULL default '0000-00-00',
`zeit` time NOT NULL default '00:00:00',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
Hier wäre die User DB:
CREATE TABLE `benutzerdaten` (
`Id` int(11) NOT NULL auto_increment,
`Nickname` varchar(50) NOT NULL default '',
`Kennwort` varchar(50) NOT NULL default '',
`Nachname` varchar(50) NOT NULL default '',
`Vorname` varchar(50) NOT NULL default '',
`Email` varchar(70) NOT NULL default '',
PRIMARY KEY (`Id`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;
Jetzt möchte ich das der eingeloggte user seine PN nachrichten lesen kann, meine Frage, wie kann ich die Tabellen so verknüpfen das nur die PN von den User jeweilige user angezeigt werden?
vielen dank für die rasche antwort
|

10-02-2005, 17:07
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

11-02-2005, 23:11
|
|
lan
Junior Member
|
|
Registriert seit: Jan 2003
Beiträge: 119
|
|
hab nicht ganz den andere thread verstanden
vielen dank für die rasche antwort, leider kann ich den anderen Thread nicht so ganz verstehen, kannst anhang von meiner DB die verknüpfungen machen?
|

12-02-2005, 08:43
|
|
LJedi
Registrierter Benutzer
|
|
Registriert seit: Feb 2005
Beiträge: 59
|
|
OffTopic: Verstehen setzt Lesen voraus
__________________
...und wieder hat sich die Welt weitergedreht...
|

12-02-2005, 10:37
|
|
phpnixchecker
Junior Member
|
|
Registriert seit: Jan 2005
Ort: SWITZERLAND
Beiträge: 67
|
|
Kannst ja zwei sql-Abfragen machen. etwa so:
PHP-Code:
$sqla = "SELECT id FROM benutzerdaten WHERE user='".$user."'";
$querya = mysql_query($sqla);
$resa = mysql_fetch_array($querya);
$id = $resa['id'];
$sqlb = "SELECT * FROM pn WHERE userid='".$id."'ORDER BY id DESC";
$queryb = mysql_query($sqlb);
while($eintraege = mysql_fetch_object($queryb))
//hier kannst du jetzt das Ganze noch Grafisch umsetzen
echo '"'.eintraege->nachricht.'"';
In der while-Schlaufe setzt du einfach alles ein, was du ausgegeben haben willst mit eintraege->blabla.
__________________
"Wer arbeitet, macht Fehler. Wer viel arbeitet, macht mehr Fehler. Nur
wer die Hände in den Schoß legt, macht gar keine Fehler."

Friedrich Alfred Krupp
|

12-02-2005, 11:30
|
|
derHund
PHP Master
|
|
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
|
|
Zitat:
|
Kannst ja zwei sql-Abfragen machen. etwa so:
|
nein.
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
|

12-02-2005, 11:43
|
|
phpnixchecker
Junior Member
|
|
Registriert seit: Jan 2005
Ort: SWITZERLAND
Beiträge: 67
|
|
was nein?
__________________
"Wer arbeitet, macht Fehler. Wer viel arbeitet, macht mehr Fehler. Nur
wer die Hände in den Schoß legt, macht gar keine Fehler."

Friedrich Alfred Krupp
|

12-02-2005, 13:09
|
Shurakai
Master  
|
|
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.090
|
|
2 Abfragen sind unkuhl und inperformant. Meistens.
|

12-02-2005, 13:20
|
|
phpnixchecker
Junior Member
|
|
Registriert seit: Jan 2005
Ort: SWITZERLAND
Beiträge: 67
|
|
Schlimm find ichs nicht. Ich hab ein Gästebuch so gemacht. Hat doch noch relativ viele Einträge und ich hätte noch nie bemerkt, dass es langsam ist. Dass es uncool ist...naja...vielleicht kann man es schöner lösen, aber dann bring doch deine Lösung!
__________________
"Wer arbeitet, macht Fehler. Wer viel arbeitet, macht mehr Fehler. Nur
wer die Hände in den Schoß legt, macht gar keine Fehler."

Friedrich Alfred Krupp
|

12-02-2005, 14:31
|
Shurakai
Master  
|
|
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.090
|
|
Die Lösung steht doch schon hier im Thread...
|

12-02-2005, 16:17
|
|
phpnixchecker
Junior Member
|
|
Registriert seit: Jan 2005
Ort: SWITZERLAND
Beiträge: 67
|
|
Ich wollte nur einen anderen Ansatz noch miteinbringen, da
lan das ganze nicht wirklich verstanden hat.
Zitat:
|
leider kann ich den anderen Thread nicht so ganz verstehen
|
aber die andere Lösung ist schon eleganter
__________________
"Wer arbeitet, macht Fehler. Wer viel arbeitet, macht mehr Fehler. Nur
wer die Hände in den Schoß legt, macht gar keine Fehler."

Friedrich Alfred Krupp
|

14-02-2005, 13:09
|
|
lan
Junior Member
|
|
Registriert seit: Jan 2003
Beiträge: 119
|
|
siehe fehlermeldung :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in pn.php on line 9
Zitat:
Original geschrieben von phpnixchecker
Kannst ja zwei sql-Abfragen machen. etwa so:
PHP-Code:
$sqla = "SELECT id FROM benutzerdaten WHERE user='".$user."'";
$querya = mysql_query($sqla);
$resa = mysql_fetch_array($querya);
$id = $resa['id'];
$sqlb = "SELECT * FROM pn WHERE userid='".$id."'ORDER BY id DESC";
$queryb = mysql_query($sqlb);
while($eintraege = mysql_fetch_object($queryb))
//hier kannst du jetzt das Ganze noch Grafisch umsetzen
echo '"'.eintraege->nachricht.'"';
In der while-Schlaufe setzt du einfach alles ein, was du ausgegeben haben willst mit eintraege->blabla.
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|