sind die feldnamen korrekt? und sind sie korrekt über die tabelle angesprochen?
[MySQL 3.23.X] JOINS_Abfrage mit PHP
Einklappen
X
-
INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
-
Original geschrieben von WUZL
Tabelle "rnummer":
ID, rnummer, KID
Tabelle "kunden":
ID, PASS, Anrede, Name, eMail,...
KID von "rnummer" und ID von "kunden" sind gleich.
Ich möchte die rnummer auslesen und an die eMail verschicken.
Jörg
Kommentar
-
ok, machen wir es uns mal einfach:
PHP-Code:$sql = "SELECT
K.*, R.*
FROM kunden K
INNER JOIN
rnummer R on (K.ID = R.KID)
WHERE R.rnummer = ".$rnr;
Kommentar
-
kannst du mal bitte einen dump deiner tabellen posten (phpMyAdmin)
das sollte zB so aussehen:Code:CREATE TABLE schachtel ( id int(11) NOT NULL auto_increment, menuid int(11) NOT NULL default '0', ... ... PRIMARY KEY (id) ) TYPE=MyISAM;
Kommentar
-
*grmpf*
du solltest mit dem beispiel KEINE neue tabelle bei dir erstellen
ich will DEINE tabellen sehen. die ausgabe da oben ^^ war für dich als muster gedacht
Kommentar
-
phpmyadmin => datenbank auswählen => tabelle auswählen
auf der seite findest du im unteren teil einen punkt
(bei neueren versionen steht da "EXPORT" o.ä. als menüpunkt
Dump (Schema) der Tabelle anzeigen
- darunter ist eine tabelle mit check-/radioboxen
- nur "struktur" auswählen
- button "ok" anklicken
Kommentar
-
Code:CREATE TABLE kunden ( ID int(11) unsigned DEFAULT '0' NOT NULL, Datum datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, PASS varchar(15) NOT NULL, Anrede varchar(4) NOT NULL, Firma varchar(30) NOT NULL, Name varchar(30) NOT NULL, Vorname varchar(30) NOT NULL, KName varchar(30) NOT NULL, GebDatum varchar(10) NOT NULL, Strasse varchar(50) NOT NULL, StrasseNr varchar(7) NOT NULL, PLZ mediumint(5) unsigned DEFAULT '0' NOT NULL, Wohnort varchar(50) NOT NULL, Telefon varchar(30) NOT NULL, Telefax varchar(30) NOT NULL, eMail varchar(50) NOT NULL, Homepage varchar(50) NOT NULL, Referenz varchar(40) NOT NULL, UNIQUE dopp (Name, Vorname, GebDatum) ); CREATE TABLE rnummer ( ID int(11) DEFAULT '0' NOT NULL auto_increment, rnummer int(11) DEFAULT '0' NOT NULL, KID int(11) DEFAULT '0' NOT NULL, PRIMARY KEY (ID), UNIQUE rnummer (rnummer) );
EDIT:
code.tags by AbraxaxZuletzt geändert von Abraxax; 04.09.2003, 14:34.
Kommentar
-
hmm irgendwie kommen "_" in die syntax. hab das ganze mal getestet:
sql:Code:$sql = "SELECT K.*, R.* FROM kunden K INNER JOIN rnummer R on (K.ID = R.KID) WHERE R.rnummer = ".$rnr." ";
Code:CREATE TABLE kunden ( ID int(11) NOT NULL auto_increment, Datum datetime NOT NULL default '0000-00-00 00:00:00', PASS varchar(15) NOT NULL default '', Anrede varchar(4) NOT NULL default '', Firma varchar(30) NOT NULL default '', Name varchar(30) NOT NULL default '', Vorname varchar(30) NOT NULL default '', KName varchar(30) NOT NULL default '', GebDatum varchar(10) NOT NULL default '', Strasse varchar(50) NOT NULL default '', StrasseNr varchar(7) NOT NULL default '', PLZ mediumint(5) NOT NULL default '0', Wohnort varchar(50) NOT NULL default '', Telefon varchar(30) NOT NULL default '', Telefax varchar(30) NOT NULL default '', eMail varchar(50) NOT NULL default '', Homepage varchar(50) NOT NULL default '', Referenz varchar(40) NOT NULL default '', PRIMARY KEY (ID) ) TYPE=MyISAM; CREATE TABLE rnummer ( ID int(11) NOT NULL auto_increment, rnummer int(11) NOT NULL default '0', KID int(11) NOT NULL default '0', PRIMARY KEY (ID), UNIQUE KEY rnummer (rnummer) ) TYPE=MyISAM;
keine "_" einschleichen.
Kommentar
-
Code:# meine tabelle CREATE TABLE kunden ( ID int(11) NOT NULL auto_increment, ... PRIMARY KEY (ID) ) TYPE=MyISAM; # deine tabelle CREATE TABLE kunden ( ID int(11) unsigned DEFAULT '0' NOT NULL, ... UNIQUE dopp (Name, Vorname, GebDatum) );
du hast bei phpMyAdmin auch die möglichkeit, eine abfrage direkt abzusetzen.
über dem eingabefeld steht "SQL Befehl(e) ausführen ..."
da gibst du nur zum test malCode:SELECT K.*, R.* FROM kunden K INNER JOIN rnummer R on (K.ID = R.KID) WHERE R.rnummer = 6
noch was: dein plz-feld solltest du nicht als "mediumint" definieren sondern als "varchar". plz aus dem osten sind sonst nur 4-stellig durch die 0 am anfang.
Kommentar
Kommentar