php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


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

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 26-11-2008, 11:02
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Also erstens: Mach vernünftige Joins mit LEFT/INNER/RIGHT JOIN.

Zweitens: Aliase statt vollständige Tabellennamen ersparen Schreibarbeit und sind übersichtlicher.

Drittens: Aliase können auch für Spalten verwendet werden.

Beispiel:
Code:
SELECT
    t1.id AS erste_id, t1.irgendwas AS erstes_irgendwas,
    t2.id AS zweite_id, t2.irgendwas AS zweites_irgendwas
FROM
    tabelle1 AS t1
LEFT JOIN
    tabelle2 AS t2 ON ( t2.id = t1.tabelle2_id )
Mit Zitat antworten
  #17 (permalink)  
Alt 26-11-2008, 11:03
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von phpMorpheus2

Dann sag mir bitte, wie ich im folgenden, ohne umbenennung der spalten oder tabellennamen in der DB an beide ID's komme. Danke
PHP-Code:
mysql_query("SELECT tabelle1.id, tabelle1.irgendwas, tabelle2.id, tabelle2.irgendwas
WHERE tabelle1.irgendwas = tabelle2.irgendwas"

Nun möchte ich als Ausgabe die id (id's) von tabelle1 und auch die id (id's) von tabelle2 haben.
Sag du mir jetzt mal wie ich die ausgeben soll/kann !
Dann bin ich hochauf zufrieden.
Denn wenn die Abfrage fertig ist, enthält die Klasse oder die Array (je nachdem) nur EINEN Wert Namens "id" !
Die Lösung hat Kropff schon geliefert.

Zitat:
Original geschrieben von Kropff
verstehe ich nicht.
PHP-Code:
SELECT 
  t1
.id AS id_1
  
t2.id AS id_2
FROM 
  tabelle1 t1

  
tabelle2 t2
WHERE t1
.id t2.id 
dann sollte man doch so darauf zugreifen können:
PHP-Code:
echo $row->id_1;
echo 
$row->id_2
habe allerdings auch noch nie mit fetch_object gearbeitet. aber bei fetch_assoc funktioniert das auf jeden fall.

peter
Du bist nur unfähig anzuwenden.
Mit Zitat antworten
  #18 (permalink)  
Alt 26-11-2008, 11:30
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Natürlich kann man mit Alias die ID's umbenennen.
Dann kann ich aber auch gleich den Spaltennamen "id" umbenennen und gut ist!
Dann brauch ich nicht permanent in jeder Query alles Alias'n und habe immer die richtige Bezeichnung.
Es geht mir darum, NICHT umzubenennen.
Lest mal den beitrag von ghostgambler.
Er hat es verstanden.
Jegliche Umbenennung verhindern.
Ob Primär oder nur Temporär.

z.B. das in der ResultArray stehen würde:
PHP-Code:
Array
(
  [
tabelle1][id] => 17
  
[tabelle2][id] => 31

Das geht wohl nicht und das wollte ich auch nur wissen
Mit Zitat antworten
  #19 (permalink)  
Alt 26-11-2008, 11:36
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
Du bist nur unfähig anzuwenden.
Keiner hat jemals erwähnt, dass ich es anwenden will!
Ich überlege nur wie man was machen kann um einfach wissen zu sammeln.
Mit Zitat antworten
  #20 (permalink)  
Alt 26-11-2008, 11:49
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von phpMorpheus2
... um einfach wissen zu sammeln.
... und genau geht es hier mit dir. Du mißbrauchst dar Forum, um Grundlagen zu lernen.

*Verwarnung*

Sollte weitere Fragen von dir in dieser Richtung kommen, wirst du eine Zwangpause einlegen müssen.
Mit Zitat antworten
  #21 (permalink)  
Alt 26-11-2008, 12:10
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von phpMorpheus2
Natürlich kann man mit Alias die ID's umbenennen.
Dann kann ich aber auch gleich den Spaltennamen "id" umbenennen und gut ist!
Es ist Schwachsinn alle Spalten so umzubenennen, dass kein Name doppelt vorkommen kann.

Das wird in der Praxis nicht so gemacht.
Mit Zitat antworten
  #22 (permalink)  
Alt 26-11-2008, 12:12
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
... und genau geht es hier mit dir. Du mißbrauchst dar Forum, um Grundlagen zu lernen.

*Verwarnung*

Sollte weitere Fragen von dir in dieser Richtung kommen, wirst du eine Zwangpause einlegen müssen.
Das nennst du eine Grundlage?
Alias, sqlquery, das sind Grundlagen, ja.
Aber eine Möglichkeit eine Ausgabe zu bekommen mit gleichen Spaltennamen aus zwei verscheidenen Tabellen ohne Alias oder eine zwangsumbenennung der Spaltennamen...
Zeit mir auch nur EIN Tut wo dieser Falle beschrieben wird und du kriegst 'n Keks.

Mache mir jetzt erstmal einen Kaffee
Mit Zitat antworten
  #23 (permalink)  
Alt 26-11-2008, 12:16
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von h3ll
Es ist Schwachsinn alle Spalten so umzubenennen, dass kein Name doppelt vorkommen kann.

Das wird in der Praxis nicht so gemacht.
Jeder hat seine eigenen Wege.
z.B.: postid=605270
Und verwende das Wort "Schwachsinn" nicht so selbstsicher.
Mit Zitat antworten
  #24 (permalink)  
Alt 26-11-2008, 12:16
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Warum ein Tutorial für Grundlagen ... nur Scriptkiddies lesen Tutorials ... Anwendungsentwickler lesen Bücher, Dockumentationen oder gehen auf professionelle Schulungen ... such dir deine TUTs selbst zusammen.
Mit Zitat antworten
  #25 (permalink)  
Alt 26-11-2008, 12:19
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von phpMorpheus2
Jeder hat seine eigenen Wege.
z.B.: postid=605270
Und verwende das Wort "Schwachsinn" nicht so selbstsicher.
Wie gehst du sicher, dass kein Spaltenname doppelt vorkommt? Angenommen du hast eine Datenbank mit 50 Tabellen. Wenn du jetzt bei einer Tabelle eine neue Spalte anlegen willst, musst du alle anderen 49 Tabellen durchschauen, ob der Name nicht schon irgendwo vorkommt. Das ist einfach nur umständlich und idiotisch.

Und noch witziger wirds, wenn du mal Tabellen aus 2 Datenbanken zusammenlegst. Dann kannst du jede Tabelle mit jeder vergleichen, die Spaltennamen ändern und dann im PHP-Code haufenweise Queries umschreiben. Das soll sinnvoll sein?
Mit Zitat antworten
  #26 (permalink)  
Alt 26-11-2008, 12:21
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
Warum ein Tutorial für Grundlagen ... nur Scriptkiddies lesen Tutorials ... Anwendungsentwickler lesen Bücher, Dockumentationen oder gehen auf professionelle Schulungen ... such dir deine TUTs selbst zusammen.
Achte auf deine Definition "Tutorial" !
Deine Aussage ist ein Wiederspruch in sich
Erkundige dich doch einmal, was das Wort "Tutorial" heißt und lege nicht gleich zu Grunde, wie es in der Gesellschaft ausgelegt wird.

Zitat:
Ein Tutorial ist eine schriftliche Gebrauchsanleitung, die mit Hilfe von (teils bebilderten) Beispielen Schritt für Schritt erklärt, wie man mit einem Computerprogramm umgeht oder bestimmte Ergebnisse erzielt.
Quelle: Wiki
Ein tut ist nichts anderes als ein kleiner Buch indem zur Verdeutlichung Code eingebracht wird.
Zumindest ist das "meine" Definition
Mit Zitat antworten
  #27 (permalink)  
Alt 26-11-2008, 12:26
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von h3ll
Wie gehst du sicher, dass kein Spaltenname doppelt vorkommt? Angenommen du hast eine Datenbank mit 50 Tabellen. Wenn du jetzt bei einer Tabelle eine neue Spalte anlegen willst, musst du alle anderen 49 Tabellen durchschauen, ob der Name nicht schon irgendwo vorkommt. Das ist einfach nur umständlich und idiotisch.

Und noch witziger wirds, wenn du mal Tabellen aus 2 Datenbanken zusammenlegst. Dann kannst du jede Tabelle mit jeder vergleichen, die Spaltennamen ändern und dann im PHP-Code haufenweise Queries umschreiben. Das soll sinnvoll sein?
Richtig.
Daher wird alles ja explizit benannt.
Um sicher zu stellen, dass ich nicht jedes mal beim Anlegen einer neuen Spalte schauen muss, ob es nicht diesen Namen in all den anderen tabellen schoneinmal gibt, verwende ich z.B. immer den Tabellennamen vor dem eigentlich Spaltennamen inkl. unterstrich.
aus dem Spaltenen "id" in der tabelle "table1" wird dann "table1_id" in der tabelle "table1".
Und die Übersicht über die Tabellennamen wird man nicht so schnell verlieren.
Ich kann ja mit ALias einfach temporär umbenennen, aber dann muss ich bei jeder Query darauf achten, das ich gleich umbenenne und nicht in der einen Abfrage mit einem anderen namen alias nehme als in der nächsten.

Aber ist doch jetzt auch egal :-)
Sonst krieg ich noch ärger
Mit Zitat antworten
  #28 (permalink)  
Alt 26-11-2008, 12:31
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ein s.g. TUT für (möchte gern) Programmierer im Internet ist immer ein Versuch ein Problem zu verharmlosen. Die Erklärungen darin sind dürftig; es beinhaltet keine Hinweise auf mögliche Laufzeitverhalten; der Leser wundert sich meist, warum das Beispiel bei ihm nicht läuft wie im TUT gezeigt, usw... usw...

Ein Buch dagegen vermittelt eine solide Grundlage, so dass der Entwickler selbst in der Lage ist ein Problem zu analysieren und zu lösen, auch ohne konkrete Beispiele zum Nachmachen. In Schulungen werden den Sachverhalt in den Bücher nochmals verdeutlich, vertieft und persönliche Erfahrung des Trainers weitergegeben.

Das was ihr Scriptkiddies so gern sucht, kann man meist direkt in die Mülltone treten und keiner trauert sich danach.
Mit Zitat antworten
  #29 (permalink)  
Alt 26-11-2008, 12:33
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von phpMorpheus2
Richtig.
Daher wird alles ja explizit benannt.
Um sicher zu stellen, dass ich nicht jedes mal beim Anlegen einer neuen Spalte schauen muss, ob es nicht diesen Namen in all den anderen tabellen schoneinmal gibt, verwende ich z.B. immer den Tabellennamen vor dem eigentlich Spaltennamen inkl. unterstrich.
aus dem Spaltenen "id" in der tabelle "table1" wird dann "table1_id" in der tabelle "table1".
Wenn du gerne unnötig viel schreibst und unübersichtlicher Queries haben willst...

Zitat:
Original geschrieben von phpMorpheus2
Und die Übersicht über die Tabellennamen wird man nicht so schnell verlieren.
Also ehrlich gesagt kenn ich nicht alle Spaltennamen von Tabellen der Projekte, an denen ich arbeite. Ich kenn nicht mal alle Tabellennamen. Es ist utopisch zu glauben, dass man sich alle merken kann oder dass ein neuer Mitarbeiter sofort alle Tabellen und Spaltennamen auswendig lernt. IMHO einfach nur ein unnötiges Handicap.

Zitat:
Original geschrieben von phpMorpheus2
Ich kann ja mit ALias einfach temporär umbenennen, aber dann muss ich bei jeder Query darauf achten, das ich gleich umbenenne und nicht in der einen Abfrage mit einem anderen namen alias nehme als in der nächsten.
Stimmt überhaupt nicht. Das Alias existiert nur für die eine Abfrage. Was du in den anderen Abfragen machst ist völlig egal. Du kannst sogar für jede einzelne Abfrage andere Aliases verwenden, wenns dir Spaß macht.

Zitat:
Original geschrieben von phpMorpheus2
Aber ist doch jetzt auch egal :-)
Sonst krieg ich noch ärger
Warum gibt's wohl Aliases? Um sie zu umgehen? Ja genau, das ist sicher der Sinn davon...
Mit Zitat antworten
  #30 (permalink)  
Alt 26-11-2008, 12:34
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.721
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von asp2php
Das was ihr Scriptkiddies so gern sucht, kann man meist direkt in die Mülltone treten und keiner trauert sich danach.
OffTopic:
pass auf, was du sagst. sonst nehm ich meinen auftritt vom netz


peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:58 Uhr.