Probleme beim Join
Twilo
- datenbank
Hallo,
$daten = array(
_DBTAB.'eintrag',
_DBTAB.'bilder',
(int)$id,
);
$sql = vsprintf('SELECT * FROM %s AS t1 LEFT JOIN %s AS t2 ON t2._newsId = t1._id WHERE t1._id = %s', $daten);
$datensatz = $db->getRow($sql);
ein Eintrag kann mehrere Bilder enthalten
bei mein SQL-Query wird nur das erste Bild abgerufen
wie müßte ich das ganze angehen; damit ich alle Bilddaten mit im Array habe?
mfg
Twilo
Hi,
$sql = vsprintf('SELECT * FROM %s AS t1 LEFT JOIN %s AS t2 ON t2._newsId = t1._id WHERE t1._id = %s', $daten);
das ist der Code irgend einer Programmiersprache. Wie lautet das daraus resultierende SQL-Statement?
Cheatah
Hallo,
$sql = vsprintf('SELECT * FROM %s AS t1 LEFT JOIN %s AS t2 ON t2._newsId = t1._id WHERE t1._id = %s', $daten);
das ist der Code irgend einer Programmiersprache.
PHP ist nicht irgendeine, sondern DIE Programmiersprache ;-)
Wie lautet das daraus resultierende SQL-Statement?
es taucht im Array nur einmal _bildName und _bildId auf
wie kann ich MySQL dazu veranlassen, dass er es z.B. so macht _3_bildName, etc.
oder sollte ich die Bilder lieber separat abrufen?
mfg
Twilo
Hi,
es taucht im Array nur einmal _bildName und _bildId auf
wie kann ich MySQL dazu veranlassen, dass er es z.B. so macht _3_bildName, etc.
oder sollte ich die Bilder lieber separat abrufen?
Das ist _nicht_ die Antwort auf die Frage, wie das resultierende SQL-Statement aussieht. Die Antwort darauf hätte mit "SELECT" begonnen :-)
Es geht nur darum mal nachzugucken, was denn jetzt das endgültige Statement ist, Skriptkode enthält zu viele Variablen...
MfG
Rouven
Hallo,
es taucht im Array nur einmal _bildName und _bildId auf
wie kann ich MySQL dazu veranlassen, dass er es z.B. so macht _3_bildName, etc.
oder sollte ich die Bilder lieber separat abrufen?
Das ist _nicht_ die Antwort auf die Frage, wie das resultierende SQL-Statement aussieht. Die Antwort darauf hätte mit "SELECT" begonnen :-)
axo ^^
SELECT * FROM xxx_eintrag AS t1 LEFT JOIN xxx_bilder AS t2 ON t2._newsId = t1._id WHERE t1._id = 1
das waren doch nur 3 Variablen, die eigentlich auch klar sein sollten, oder auch nicht *g*
mfg
Twilo
Hi,
PHP
ach, PHP ist das.
ist nicht irgendeine, sondern DIE Programmiersprache ;-)
Ja: DIE für Anfänger ungeeignetste.
Wie lautet das daraus resultierende SQL-Statement?
es taucht im Array [...]
Wie lautet das SQL-Statement?
Cheatah
Hallo,
PHP
ach, PHP ist das.
im Code stand doch lang=php
ist nicht irgendeine, sondern DIE Programmiersprache ;-)
Ja: DIE für Anfänger ungeeignetste.
welche ist denn für Anfänger geeignet?
ich hatte mal vor 3 - 4 Jahren mit Perö angefangen, wurde damit aber nicht wirklich glücklich
mfg
Twilo
Hallo,
$datensatz = $db->getRow($sql);
^Woher kommt das Objekt $db? Was macht die Methode getRow(String) mit dem übergebenen String?
bei mein SQL-Query wird nur das erste Bild abgerufen
Wirklich durch die Query? Oder liefert die Query schon mehrere Datensätze zurück, Du rufst aber mit PHP nur einen ab? Die Bezeichner "datensatz" und "getRow" spechen jedenfalls für letzteres.
viele Grüße
Axel
Hallo,
$datensatz = $db->getRow($sql);
^Woher kommt das Objekt $db? Was macht die Methode getRow(String) mit dem übergebenen String?
das Object $db kommt vom PEAR Package DB
DB_common::getRow() -- Runs a query and returns the first row
bei mein SQL-Query wird nur das erste Bild abgerufen
Wirklich durch die Query? Oder liefert die Query schon mehrere Datensätze zurück, Du rufst aber mit PHP nur einen ab? Die Bezeichner "datensatz" und "getRow" spechen jedenfalls für letzteres.
ich bekommem als Ergebnis ein Array mit den ganzen Spaltennamen
die Spaltennamem samt Inhalt werden auch vom 1. Bild abgerufen
aber nicht vom 2 bzw. 3
mfg
Twilo
Hallo,
das Object $db kommt vom PEAR Package DB
DB_common::getRow() -- Runs a query and returns the first row
Ja. Du hast verstanden was "returns _the_ _first_ row" bedeutet und Dir die Beispiele aus http://pear.php.net/manual/en/package.database.db.db-common.getrow.php angesehen?
ich bekommem als Ergebnis ein Array mit den ganzen Spaltennamen
die Spaltennamem samt Inhalt werden auch vom 1. Bild abgerufen
aber nicht vom 2 bzw. 3
Ja, das wäre dann ja auch der 2. und 3. Datesatz oder die zweite und dritte Zeile, im Gegensatz zur "first row".
viele Grüße
Axel
Hallo,
das Object $db kommt vom PEAR Package DB
DB_common::getRow() -- Runs a query and returns the first row
Ja. Du hast verstanden was "returns _the_ _first_ row" bedeutet und Dir die Beispiele aus http://pear.php.net/manual/en/package.database.db.db-common.getrow.php angesehen?
ich dachte, dass er das nur auf den Hauptdatensatz bezieht...
ich bekommem als Ergebnis ein Array mit den ganzen Spaltennamen
die Spaltennamem samt Inhalt werden auch vom 1. Bild abgerufen
aber nicht vom 2 bzw. 3
Ja, das wäre dann ja auch der 2. und 3. Datesatz oder die zweite und dritte Zeile, im Gegensatz zur "first row".
getAll wird mir da denke ich auch nicht viel weiter helfen, da ja das selbe Problem besteht
mfg
Twilo
echo $begrüßung;
ich dachte, dass er das nur auf den Hauptdatensatz bezieht...
Die Begrifflichkeit "Hauptdatensatz" gibt es nicht bei einem Select-Statement. Es wird immer ein "rechteckiges" Ergebnis bestehend aus x Zeilen zu y Spalten zurückgegeben.
getAll wird mir da denke ich auch nicht viel weiter helfen, da ja das selbe Problem besteht
Du wirst es sicher schon probiert haben, ob DB_common::getAll() etwas für dich passendes liefert. Wenn nicht, dann gib doch mal ein Beispiel an, wie dein Ergebnis aussehen soll.
echo "$verabschiedung $name";
Hallo,
die Datenbankstruktur sieht wie folgt aus
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `news_1_bilder`
--
CREATE TABLE `news_1_bilder` (
`_id` int(12) unsigned NOT NULL auto_increment,
`_newsId` int(12) unsigned NOT NULL default '0',
`_bildName` varchar(50) NOT NULL default '',
`_bildText` varchar(255) NOT NULL default '',
PRIMARY KEY (`_id`)
) TYPE=MyISAM;
--
-- RELATIONEN DER TABELLE `news_1_bilder`:
-- `_newsId`
-- `news_1_eintrag` -> `_id`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `news_1_eintrag`
--
CREATE TABLE `news_1_eintrag` (
`_id` int(12) unsigned NOT NULL auto_increment,
`_vorname` varchar(255) NOT NULL default '',
`_nachname` varchar(255) NOT NULL default '',
`_funktion` varchar(255) NOT NULL default '',
`_ort` varchar(255) NOT NULL default '',
`_telefon` varchar(50) NOT NULL default '',
`_mail` varchar(255) NOT NULL default '',
`_kategorie` varchar(255) NOT NULL default '',
`_newsart` varchar(255) NOT NULL default '',
`_title` varchar(200) NOT NULL default '',
`_datum` varchar(255) NOT NULL default '',
`_message` text NOT NULL,
`_browser` varchar(255) NOT NULL default '',
`_ip` varchar(15) NOT NULL default '',
`_host` varchar(255) NOT NULL default '',
`_eintrag` datetime NOT NULL default '0000-00-00 00:00:00',
`_gelesen` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`_id`)
) TYPE=MyISAM;
mfg
Twilo
Hallo,
also irgendetwas haut mit mein Post nicht hin...
nur was?
mfg
Twilo
Hallo Twilo.
also irgendetwas haut mit mein Post nicht hin...
nur was?
Kleiner Test:
Hallo,
also irgendetwas haut mit mein Post nicht hin...
nur was?
Kleiner Test:
das muss irgendetwas mit mein Code-Bereich zu tun haben...
ob das Forum da irgendwo ein Bug hat?
mfg
Twilo
Hi,
also irgendetwas haut mit mein Post nicht hin...
nur was?
Welches Problem hast Du denn?
Dein Code enthält die Zeichenfolge Zeilenumbruch Minus Minus Leerzeichen Zeilenumbruch - das ist das, was üblicherweise (und auch hier im Forum) eine Signatur einleitet.
cu,
Andreas
Hallo MudGuard.
Dein Code enthält die Zeichenfolge Zeilenumbruch Minus Minus Leerzeichen Zeilenumbruch - das ist das, was üblicherweise (und auch hier im Forum) eine Signatur einleitet.
Aber nicht in dem Umfang, wie es bei Twilo's Posting der Fall war.
Die darauffolgende Threadliste wird wie in der Signatur befindlich angezeigt.
Einen schönen Sonntag noch.
Gruß, Ash*feel free*ura
Hi,
Dein Code enthält die Zeichenfolge Zeilenumbruch Minus Minus Leerzeichen Zeilenumbruch - das ist das, was üblicherweise (und auch hier im Forum) eine Signatur einleitet.
Aber nicht in dem Umfang, wie es bei Twilo's Posting der Fall war.
Die darauffolgende Threadliste wird wie in der Signatur befindlich angezeigt.
Kann ich nicht nachvollziehen - weder in der my- noch in der nicht-my-Ansicht.
cu,
Andreas
Hallo MudGuard.
Kann ich nicht nachvollziehen - weder in der my- noch in der nicht-my-Ansicht.
Was steht bei dir in der Textarea bei Twilo's Posting?
Bei mir:
Hallo,
die Datenbankstruktur sieht wie folgt aus
>
> mfg
> Twilo
Einen schönen Sonntag noch.
Gruß, Ash\*feel free\*ura
--
Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
[30 Days to becoming an Opera8 Lover](http://operalover.tntluoma.com/8/) -- [Troubleshooting](http://operalover.tntluoma.com/8/troubleshooting)
Meine Browser: [Opera 8.50](http://opera.com/download/) | [Firefox 1.0.7](http://www.mozilla.org/products/firefox/all) | [Lynx 2.8.5](http://lynx.isc.org/current/) | Netscape 4.7 | IE 6.0

Hi,
Was steht bei dir in der Textarea bei Twilo's Posting?
Ah - ja, da ist was kaputt. Hab ich übersehen.
cu,
Andreas
Hallo,
Kann ich nicht nachvollziehen - weder in der my- noch in der nicht-my-Ansicht.
bei mir hat die Schriftfarbe ab
mfg
Twilo
nur noch grau
der Text in der Textarea stimmt auch nicht ganz
siehe Screenshot
mfg
Twilo
Hi,
sagt mal, kann es sein, dass der Code-Syntaxhighlighter Schuld ist? Da steht innerhalb eines SQL-Blocks ein "--", das leitet doch einen Kommentar ein. Kann es sein, dass der Highlighter sich da verschluckt hat?
MfG
Rouven
$sql = vsprintf('SELECT * FROM %s AS t1 LEFT JOIN %s AS t2 ON t2._newsId = t1._id WHERE t1._id = %s', $daten);
$datensatz = $db->getRow($sql);[/code]ein Eintrag kann mehrere Bilder enthalten
bei mein SQL-Query wird nur das erste Bild abgerufenwie müßte ich das ganze angehen; damit ich alle Bilddaten mit im Array habe?
möglicherweise führt die WHERE bedingung nur zu einer ergebniszeile. mit num_rows() läßt sich die anzahl ermitteln.
führt dein WHERE t1._id = %s' durch eine unique-id nur zu einer ergebniszeile, müßtest du mehrere id in einer liste WHERE id IN (id1, id2, ..) angeben.