CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
10.08.2007, 10:33:37
|
Anfänger
|
|
Registriert seit: Aug 2007
Beiträge: 3
|
|
dynamische Unterabfrage in mysql
Hallo
Folgendes Problem tritt bei mir auf.
Ergebnis einer SQL Abfrage für Standorte ergibt zum Beispiel : 3, 4, 7, 10
wie kann ich jetzt dieses Ergebnis nutzen damit in meiner nächsten SQL Abfrage genau diese Zahlen wieder genutzt werden.
Habe versucht die Zahlen in einem Array zu speichern aber dann funktioniert die Abfrage nächste SQL Abfrage nicht.
Select id, standort, FROM liste WHERE standort = $ortids[] //also 3, 4, 7, 10
wie kann ich das lösen?
mit besten Grüßen
meandor
Geändert von meandor (10.08.2007 um 10:52:07 Uhr)
|
10.08.2007, 10:51:45
|
Anfänger
|
|
Registriert seit: Aug 2007
Beiträge: 3
|
|
AW: dynamische Unterabfrage in mysql
Nachtrag:
Die Abfrage soll die Zahlen bekommen die ich in als Ergebnis vorher bekommen habe.
Irgendwie scheint aber das nicht über ein Array zu klappen er kontrolliert dann nicht alle Zahlen.
"Select id, standort, FROM liste WHERE standort = $ortids[]";
wenn ich konkret eine Zahl angebe funktioniert es. z.B.
"Select id, standort, FROM liste WHERE standort = 3";
wenn ich ein konkretes Element aus dem Array gebe dann auch: z.B
"Select id, standort, FROM liste WHERE standort = $ortids[2]";
was mache ich falsch????
|
10.08.2007, 10:57:41
|
|
Member
|
|
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 37
Beiträge: 900
|
|
AW: dynamische Unterabfrage in mysql
das problem ist das bei sql wahrscheinlich
Code:
WHERE standaort = array()
ankommt, deshalb sollte man sich immer das statement ausgeben lassen.
Du musst schon einzelnd abfragen (mit AND) oder es mit einer php schleife lösen
|
10.08.2007, 11:06:25
|
Anfänger
|
|
Registriert seit: Aug 2007
Beiträge: 3
|
|
AW: dynamische Unterabfrage in mysql
"Select id, standort, FROM liste WHERE standort = $ortids[0]" AND standort = $ortids[1] AND standort = $ortids[2]" usw......;
aber ich weiß ja halt nicht wie viele Element hinterher in dem Array sind deshalb wird das dann unübersichtilich und es gibt Fehlermeldungen sobald das Array kleiner ist als in der Abfrage.
Zum Schluss muss eine Anweisung stehen die der mysql_query($sql) übergeben wird.
Was muss ich tun????
Geändert von meandor (10.08.2007 um 11:13:01 Uhr)
|
10.08.2007, 13:16:19
|
Junior Member
|
|
Registriert seit: Jun 2004
Beiträge: 473
|
|
AW: dynamische Unterabfrage in mysql
Zitat:
Zitat von meandor
"Select id, standort, FROM liste WHERE standort = $ortids[0]" AND standort = $ortids[1] AND standort = $ortids[2]" usw......;
|
Mit deinem Beispiel Array wird das da auf keinen Fall funktionieren. Keiner deiner Standorte wird gleichzeitig =3 und =4 sein...
Statt AND kann man auch OR verwenden, je nach Sinn
Zitat:
Zitat von meandor
aber ich weiß ja halt nicht wie viele Element hinterher in dem Array sind deshalb wird das dann unübersichtilich und es gibt Fehlermeldungen sobald das Array kleiner ist als in der Abfrage.
|
Dann kannst du das Array in einer Schleife durchlaufen und für jedes Element eine eigenen Query abschicken. Klingt vielleicht nicht besonders elegant, aber bei einer Liste die mal länger und mal kürzer ist...
Geändert von Raketenmann (10.08.2007 um 13:16:51 Uhr)
|
10.08.2007, 13:19:44
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: dynamische Unterabfrage in mysql
PHP-Code:
$sql = "SELECT id, standort FROM liste WHERE standort IN( $ortids[0], ..., $ortids[n])";
sollte Dir weiterhelfen.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:53:48 Uhr.
|