Resultate aus DB zusammenfügen
Resultate aus DB zusammenfügen
am 16.10.2006 11:29:51 von Sam
Hallo zusammen,
Ich arbeite gerade an einer DB suche auf nem Webshop und ich generiere
für eine suche mehrere sqlqueries, resp. es werden mehrere abfragen
abgeschickt.
nun bringen diese abfragen immer wieder ergebnisse, welche ich nun
(jetzt kommt mein problem) meiner $res variable 'anfügen' möchte.
so hab ich das versucht (vereinfachtes beipiel)
for($i=3D0;$i
{
$sql =3D "SELECT * FROM blabla where blabla;";
$res .=3D mysql_db_query($dbs[$i], $sql)or die(mysql_error());
}
aber wenn ich dann zur kontrolle..
$res_Count =3D mysql_num_rows($res);
versuche, dann bekomm ich die meldung "Warning: mysql_num_rows():
supplied argument is not a valid MySQL result..."
Wie kann ich das am besten umgehen oder meine Idee überhaupt
realisierbar?
Vielen Dank für die schnellen Antworten
Gruss
Sam
Re: Resultate aus DB zusammenfügen
am 16.10.2006 17:00:25 von Norbert Melzer
Am 16 Oct 2006 02:29:51 -0700 schrieb Sam:
^^^
Vollständige Realnamen sind hier -----+++
erwünscht, Du erhälst dann mit größerer Warscheinlichkeit Antworten
> nun bringen diese abfragen immer wieder ergebnisse, welche ich nun
> (jetzt kommt mein problem) meiner $res variable 'anfügen' möchte.
Es handelt sich bei dem Result um einen Handler, also nur ein Verweis
auf ein Ergebniss, das dann irgendwo anders im Speicher liegt.
Du wirst nich drumherum kommen die Results einzeln auszuwerten und/oder
per Hand aneinander zu hängen.
HTH
Norbert
--
Link zur PHP-FAQ http://www.php-faq.de
Re: Resultate aus DB zusammenfügen
am 16.10.2006 17:42:41 von Sam
Norbert Melzer wrote:
> Am 16 Oct 2006 02:29:51 -0700 schrieb Sam:
> ^^^
> Vollständige Realnamen sind hier -----+++
> erwünscht, Du erhälst dann mit größerer Warscheinlichkeit Antwort=
en
>
> > nun bringen diese abfragen immer wieder ergebnisse, welche ich nun
> > (jetzt kommt mein problem) meiner $res variable 'anfügen' möchte.
>
> Es handelt sich bei dem Result um einen Handler, also nur ein Verweis
> auf ein Ergebniss, das dann irgendwo anders im Speicher liegt.
>
> Du wirst nich drumherum kommen die Results einzeln auszuwerten und/oder
> per Hand aneinander zu hängen.
>
> HTH
> Norbert
> --
> Link zur PHP-FAQ http://www.php-faq.de
Hallo Norbert
> Vollständige Realnamen sind hier -----+++
Eigentlich bin ich ja schon länger hier und war auch der Meinung, dass
mein voller Name immer gezeigt wird. Auf jedenfall werd ich dies noch
ändern.
> Du wirst nich drumherum kommen die Results einzeln auszuwerten und/oder
> per Hand aneinander zu hängen.
Das hab ich fast vermutet. Auf jedenfall hab ich es auch schon auf
diese Weise versucht, gelungen ist es mir aber bis jetzt noch nicht.
Bin aber nah dran. Vielen Dank auf jedenfall für die Aufklärung und
die Belehrung ;o)
Gruss
Samuel Gasser
Re: Resultate aus DB zusammenfügen
am 16.10.2006 18:04:21 von Norbert Melzer
Am 16 Oct 2006 08:42:41 -0700 schrieb Sam:
[Fullquote entsorgt]
Bitte beachte meine Sig...
>> Vollständige Realnamen sind hier -----+++
>
> Eigentlich bin ich ja schon länger hier und war auch der Meinung, dass
> mein voller Name immer gezeigt wird. Auf jedenfall werd ich dies noch
> ändern.
Das ist schön :-)
> Vielen Dank auf jedenfall für die Aufklärung und die Belehrung ;o)
Ich helfe wo ich kann...
MfG
Norbert
--
Das Vorhandensein DIESER Signatur hat meist etwas mit der
Zitierunfähigkeit des Vorposters zu tun, daher wird die Lektüre von
http://learn.to/quote und http://einklich.net/usenet/zitier.htm
nahegelegt
Re: Resultate aus DB zusammenfügen
am 17.10.2006 11:05:55 von Thomas Rachel
Sam wrote:
> Hallo zusammen,
>
> Ich arbeite gerade an einer DB suche auf nem Webshop und ich generiere
> für eine suche mehrere sqlqueries, resp. es werden mehrere abfragen
> abgeschickt.
Um diese zusammenzuführen, könntest Du mit UNION (siehe dazu
MySQL-Handbuch) oder, falls das nicht geht, mit einer temporären Tabelle
arbeiten.
Das geht aber beides nur, wenn Du Dich auf ein und denselben MySQL-Server
beziehst.
Wenn ich
> for($i=0;$i
> {
> $sql = "SELECT * FROM blabla where blabla;";
>
> $res .= mysql_db_query($dbs[$i], $sql)or die(mysql_error());
> }
richtig verstehe (BTW: SELECT * ist böse[tm]), arbeitest Du auf
verschiedenen Servern. Dann gehts natürlich nicht.
Ausweg: die einzelnen $res in einem Array verwalten oder aber direkt
auslesen und die einzelnen Zeilen zusammenführen.
Thomas