php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.08.2005, 14:00  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard Fehlerhafte MySQL Ausgabe mit SELECT

Hallo,

ich habe 2 Tabellen.

die 1. Tabelle "Eigentümer"

KundernummerE | Kundennummer


die 2. "Objekte" enthält objektspezifsche Daten einer Immobilie wie Adresse, Objektnummer usw.


nun möchte ich in einer Tabelle alle Objekte die meinem Kunden zugeordnet wurden ausgeben. also im Prinzip Einträge aus der Tabelle "Eigentümer". Aus der Tabelle "Objekte" möchte ich lediglich zu diesen Einträgen bestimmte Felder abrufen.

dies realisiere ich mit:

PHP-Code:
<?php
<table border=1>
  <
tr>
    <
td width="91"><font size="2" face="Arial, Helvetica, sans-serif">Objektnummer</font></td>
    <
td width="165"><font face="Arial, Helvetica, sans-serif" size="2">Adresse</font></td>
    <
td width="213"><font size="2" face="Arial, Helvetica, sans-serif">Status</font></td>
    <
td width="213"></td>
  </
tr>
  
  <?
php


//Hohle zugewiesene Objekte aus DB aus Tabelle Eigentuemer 
$befehl1 "

SELECT 
        *
FROM     
        Eigentuemer,
        Objekte

WHERE     KundennummerE = '$UserData->Kundennummer'" 
or die (mysql_error()); 

//Befehl1 ausführen
$befehl1ausfuehren mysql_query($befehl1,$verbindung) or die (mysql_error());    

//Jede Zeile ausgeben
while ($eingabe mysql_fetch_array($befehl1ausfuehren))   
                                {
?>                                 
  <tr>
    <td><font face="Arial, Helvetica, sans-serif" size="2"><?=$eingabe[ObjektnummerE]?>
      </font></td>
    <td><font face="Arial, Helvetica, sans-serif" size="2"><?=$eingabe[Strasse]?>

        <?=$eingabe[Postleitzahl]?> <?=$eingabe[Ort]?>
      </font></td>
    <td><font size="2" face="Arial, Helvetica, sans-serif">
      Eigentuemer
      </font></td>
    <td><font size="2" face="Arial, Helvetica, sans-serif"> <a href="<?=$objekt[Datei]?>" target="_blank">
      [url="detailsvonobjekt.php?<?=SID ?>"]<?=$eingabe[ObjektnummerE]?>[/url]
      </font> </td>
  </tr>
  <? ?>
</table>
?>

leider werden nun alle einträge aus der Tabelle "Eigentümer" UND "Objekte" angezeigt. Wie kann ich das verhindern?

Wenn ich aus FROM die Tabelle "Objekte" entferne wird die Anzahl der Einträge richtig anzeigt. Es fehlen aber dann wiederum die bestimmten Informationen der Felder aus der Tabelle "Objekte".

danke schonmal im vorraus.
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.08.2005, 14:07  
Erfahrener Benutzer
 
Registriert seit: 01.07.2005
Beiträge: 225
JohnRambo
Standard

FROM
Eigentuemer,
Objekte

das weis ich ned, ob das so geht .. könntest ja mit 2 query's arbeiten oda nich?

warum hängst du hier

WHERE KundennummerE = '$UserData->Kundennummer'" or die (mysql_error());

schon mysql-error an? .. das is doch nur der sql-string ^^

dann hättest unten stehen

PHP-Code:
<?php

mysql_query
(...WHERE    KundennummerE '$UserData->Kundennummer'" or die (mysql_error()); , $verbindung) or DIE (mysql_error());

?>
JohnRambo ist offline   Mit Zitat antworten
Alt 22.08.2005, 14:32  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

könntest du mir zeigen wie ich eine while schleife mit 2 queries mache? ich hab daran auch schon gedacht, wusste es aber technisch nicht umzusetzen.

-->schon mysql-error an? .. das is doch nur der sql-string ^^

ich dachte sicher ist sicher
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Alt 22.08.2005, 14:56  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Code:
Du musst auch die eigentuemer_id aus beiden Tabellen vergleichen

WHERE    KundennummerE = '$UserData->Kundennummer' 
AND Eigentuemer.Eigentuemer_id = Objekt.Eigentuemer_id
oder wie auch immer du die Felder benannt hast

p.s.
http://php-faq.de/q/q-sql-select.html
DiBo33 ist offline   Mit Zitat antworten
Alt 22.08.2005, 15:11  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

dibo mein freund, schön dich wieder zu sehen/hören

also in der tabelle "Objekte" habe ich gar keine Eigentümer ID. Alle Eigentümerdaten habe ich ausgegliedert. Es gibt also nur eine Objektabelle und eine Eigentümertabelle, die aber zum Glück noch die Objektnummer enthält.
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Alt 22.08.2005, 15:12  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Dann musst du entsprechend die Objektnummer als Vergleich heranziehen.
DiBo33 ist offline   Mit Zitat antworten
Alt 22.08.2005, 15:30  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

okay, also, ich gebe dir mal eine beispielzeile aus jeder tabelle:


Objekte:

ObjektnummerO |Strasse | Postleitzahl | Ort
K003 | Große Straße 9 | 15344| Strausberg


Eigentümer:

ObjektnummerE | KundennummerE | VertragstypE
K003 | 888888 | Eigentümer

Jetzt will ich für den aktuell eingeloggten User mit der Kundenummer "888888" alle zugeordneten Objekte anzeigen.

Entsprechend deines Tipps müsste das so aussehen?

SELECT
*
FROM
Eigentuemer,
Objekte

WHERE KundennummerE = '$UserData->Kundennummer' // Kundennummer als 1. Auswahlkriterium
AND Eigentuemer.ObjektnummerO = Objekte.ObjektnummerE // Objektnummer als 2. Auswahlkriterium


richtig?
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Alt 22.08.2005, 15:37  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

richtig, sofern in $UserData->Kundennummer "888888" steht.
DiBo33 ist offline   Mit Zitat antworten
Alt 22.08.2005, 15:42  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

yup

nen kleiner bug war trotzdem drin. es erschien eine fehlermeldung..unknown coulum..aber mit

ObjektnummerO = ObjektnummerE";

hat es funktioniert. DANKE DIR!!!! KLASSE!!!
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Alt 22.08.2005, 16:00  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Noch ein paar Anmerkungen

16.14. Warum soll ich nicht SELECT * schreiben?
http://php-faq.de/q/q-sql-select.html

Du benötigst lediglich die Felder
ObjektnummerE, Strasse, Postleitzahl, Ort, Datei, ObjektnummerE
also wähle auch nur diese aus.

Benutze um Schreibfehler zu vermeiden auch Aliases
Schreibe bei zusammengesetze Tabellen immer dazu,
von welcher Tabelle die Felder sind.
Dadurch wird der Code besser wartbar

so dass deine Abfrage folgendermassen aussieht.

Code:
SELECT
  obj.ObjektnummerE, 
  obj.Strasse, 
  obj.Postleitzahl, 
  obj.Ort, 

  eig.Datei, 
  eig.ObjektnummerE

FROM
  Eigentuemer eig,
  Objekte obj

WHERE 
  eig.KundennummerE = '888888'
AND 
  eig.ObjektnummerO = obj.ObjektnummerE
<?=$eingabe[ObjektnummerE]?> usw. hier fehlen überall die Apostrophe
<?=$eingabe['ObjektnummerE']?>
28.15. Notice: Use of undefined constant ...
http://www.php-faq.de/q/q-fehler-konstante.html

Schreibe am Anfang deiner Scripte.
error_reporting(E_ALL);
DiBo33 ist offline   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
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
php script keine Ausgabe (mysql) thecracked PHP Tipps 2008 3 30.05.2008 09:35
[Erledigt] Php Mysql ausgabe in Tabelle / Gruppentrennung xitam PHP Tipps 2008 3 28.05.2008 22:03
MySQL Abfrage nur jeweils eine Ausgabe Hawk PHP Tipps 2007 15 19.02.2007 00:35
[Erledigt] SELECT Problem - keine Ausgabe. Datenbanken 1 24.10.2005 02:06
[Erledigt] Dynamische Ausgabe von Mysql Abfragen PHP-Fortgeschrittene 1 21.10.2005 10:53
Ausgabe Wochentag und Kalenderwoche aus Datumsfeld in MySQL PHP Tipps 2005-2 3 20.07.2005 21:57
mysql ausgabe schmiddy PHP Tipps 2005-2 2 12.06.2005 08:04
select feld mit auswahl aus mysql tabelle PHP Tipps 2005 10 01.06.2005 14:17
MySQL Ausgabe in Value PHP Tipps 2005 8 17.04.2005 16:37
MySQL 4.x - SELECT `feld` LIKE 'ä' - Fehlerhaft MrNiceGuy Datenbanken 2 25.03.2005 14:13
MySQL - Timestamps und zur ausgabe bestimmter Einträge PHP Tipps 2004 6 06.10.2004 14:17
Multiple Select in einen Feld in MYSQL einfügen Datenbanken 4 22.09.2004 18:15
MySQL select in einer Tabelle ausgeben PHP Tipps 2004 2 11.09.2004 18:22
mysql ausgabe auf zeichen beschränken - hilfe!!! niffi PHP-Fortgeschrittene 16 03.06.2004 14:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql ausgabe select, mysql select ausgabe, mysql select * vermeiden, mysql abfrage apostroph, kundennummer ausgeben mysql, mysql ausgabe fehlerhaft bei select, myasql ausgabe in select, mysql objekte php select, mysql select ausagbe, select * from `user` where `kundennummer` like, php mysql select * from $table where, mysqli select ausgabe, fehlerhafte felder php, php ausgabe select from where, mysql select eine ausgabe, mysql abfrage \fehlerhafte ausgabe\, strausberg \große straße 9\, mysql fehlerhafte verbindung, kalenderwochen in selectfeld, mysql error bei fehlerhaften abfrage

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