php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.11.2009, 23:04  
Benutzer
 
Registriert seit: 06.11.2009
Beiträge: 61
PHP-Kenntnisse:
Anfänger
knuffiwuffi befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] WHERE - Bedingung mit Array Werten abgleichen

Hallo,

meine Programm arbeitet mit Macros, welche mir die Verbindung zur MySQL aufbauen und auch sonst etwas arbeit ersparen. Bitte nicht verwirren lassen. Folgendes Problem:

sc_lookup(get_project_mapping, "SELECT project FROM project_mapping WHERE user = 'berater'");

In mein Array {get_project_mapping} fließen nun die zwei Daten sepo und asv aus der Tabelle project_mapping. Mit print_r sieht das Array so aus:

Array ( [0] => Array ( [0] => sepo ) [1] => Array ( [0] => asv ) )

Super! Aber...nun möchte ich eine Tabelle filtern und dabei eine Spalte mit allen Werten im Array abgleichen:

sc_select_where(add) = "where project = '{get_project_mapping}'";

Leider funktioniert die Abfrage so nicht. Wenn ich anstelle des Arrays {get_project_mapping} einfach sepo eingebe, dann funktioniert der Filter. Wie kann ich in PHP sagen, daß er mir project mit jedem Element in dem Array abgleichen soll. Dafür müßte ja nach dem = jeder Wert im Array einzeln abgeglichen werden.

Suche mich schon wund...vielleicht klappt mein Vorhaben auch nicht...wäre über einen Tip dankbar. Gruß KNUFFIWUFFI
knuffiwuffi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.11.2009, 23:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Versteh kein Wort.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 15.11.2009, 23:45  
Neuer Benutzer
 
Registriert seit: 14.11.2009
Beiträge: 17
PHP-Kenntnisse:
Fortgeschritten
Jan M. befindet sich auf einem aufstrebenden Ast
Jan M. eine Nachricht über Skype™ schicken
Standard

Hallo knuffiwuffi,
meinst du vielleicht WHERE IN ?
Jan M. ist offline  
Alt 15.11.2009, 23:46  
Neuer Benutzer
 
Registriert seit: 14.11.2009
Beiträge: 17
PHP-Kenntnisse:
Fortgeschritten
Jan M. befindet sich auf einem aufstrebenden Ast
Jan M. eine Nachricht über Skype™ schicken
Standard

Doppelpost :/
Jan M. ist offline  
Alt 15.11.2009, 23:50  
Benutzer
 
Registriert seit: 06.11.2009
Beiträge: 61
PHP-Kenntnisse:
Anfänger
knuffiwuffi befindet sich auf einem aufstrebenden Ast
Standard

na, hab ich mir gedacht...also:

Mein Array: get_project_mapping

Daten im Array sehen über print_r so aus: Array ( [0] => Array ( [0] => sepo ) [1] => Array ( [0] => asv ) )

Jetzt möchte ich einen SELECT haben: where project = get_project_mapping

Das Problem ist ja, daß in dem Array 2 oder mehr Datensätze liegen können. In meinem Beispiel eben die Wörter sepo und asv. Daher scheint der SELECT nicht richtig zu funktionieren. Es müßte also heißen:

where project = sepo ODER asv ODER etc. (das aber als Variable die eben jeden Wert im Array mit dem Wert in der Spalte project vergleicht.

Tschuldigung. Ich bin noch blutiger Anfänger
knuffiwuffi ist offline  
Alt 15.11.2009, 23:55  
Benutzer
 
Registriert seit: 06.11.2009
Beiträge: 61
PHP-Kenntnisse:
Anfänger
knuffiwuffi befindet sich auf einem aufstrebenden Ast
Standard

@ Jan
geht in die richtige Richtung...der Datensatz im Array kann sich aber ändern, daher möchte ich den SELECT ja mit dem Array haben.

Edit: Geht glaube ich mit einer foreach Schleife...mal probieren

Geändert von knuffiwuffi (16.11.2009 um 00:30 Uhr).
knuffiwuffi ist offline  
Alt 16.11.2009, 00:52  
Benutzer
 
Registriert seit: 06.11.2009
Beiträge: 61
PHP-Kenntnisse:
Anfänger
knuffiwuffi befindet sich auf einem aufstrebenden Ast
Standard

Hier wird mein Problem behandelt:

powie.de - mySQL - WHERE = array

Leider klappt die Lösung in meinem Speziellen Fall nicht so richtig. Vielleicht wegen der Macros. Muss ich mich mal durchwurschteln...
knuffiwuffi ist offline  
Alt 16.11.2009, 10:02  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

PHP-Code:
<?php
$get_project_mapping 
= array(
array(
'sepo'),
array(
'asv')
);

$string '"';
foreach(
$get_project_mapping as $array){
   
$string .= implode("','",$array).'","';
}

$string substr($string0strlen($string)-2);
$sql mysql_query("SELECT * FROM projects WHERE project IN(".$string.")");
eventuell hilft dir das weiter
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
Alt 16.11.2009, 12:53  
Benutzer
 
Registriert seit: 06.11.2009
Beiträge: 61
PHP-Kenntnisse:
Anfänger
knuffiwuffi befindet sich auf einem aufstrebenden Ast
Standard

Sieht interessant aus, funktioniert so leider nicht. Ich denke aus folgendem Grund:

Mein Macro Array, welches mir die Daten aus der MySQL liefert, sieht so aus:

{get_project_mapping}

Dieses Macro sieht dann inhaltlich print_r {get_project_mapping} so aus:

Array ( [0] => Array ( [0] => sepo ) [1] => Array ( [0] => asv ) )

Ich habe also als ersten Wert "Array" und als zweiten Wert "Array". Ich muss aber an die Array Werte im Array...vielleicht liegt da mein Problem.
knuffiwuffi ist offline  
Alt 16.11.2009, 13:01  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

also wenn ich

print_r($get_project_mapping ); eingebe
dann kreige ich das selbe ergebnis raus wie du:

Array ( [0] => Array ( [0] => sepo ) [1] => Array ( [0] => asv ) )

wenn ich danach echo $string ausgebe(vor der query) dann kriege ich so ein ergebnis:

"sepo","asv"

wenn ich die query anzeige, kreige ich das ergebnis:

SELECT * FROM projects WHERE project IN("sepo","asv")

was für eine Query willste denn raushaben?
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline  
 


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
Array mit Bedingung auslesen drfrink PHP Tipps 2009 9 10.11.2009 10:19
merge Array? tommy_725 PHP Tipps 2009 3 07.08.2009 18:30
[Erledigt] array sortieren PHP Tipps 2004 17 13.05.2009 10:44
Array umwandeln von zwei zu mehrdimensional erselbst PHP Tipps 2009 6 02.04.2009 23:30
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
[Erledigt] WHERE LIKE mit Array?? Datenbanken 2 13.03.2007 06:08
[Erledigt] WHERE Bedingung Datenbanken 1 11.08.2006 08:29
ARRAY: alle möglichen Kombinationen Tentacle PHP Tipps 2006 13 12.05.2006 00:18
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Where Bedingung phpbeginner Datenbanken 4 24.06.2005 11:49
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
SELECT.. WHERE test = array PHP Tipps 2004-2 2 04.12.2004 22:34
bbcode - Classe PHP-Fortgeschrittene 4 18.09.2004 17:30
ich möchte gerne ein array mit werten übergeben PHP Tipps 2004 0 09.07.2004 14:04
werte einer tabelle mit werten einem array vergleichen PHP Tipps 2004 1 08.07.2004 21:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql where mit array abgleichen, php array abgleichen, array mit datenbank abgleichen, php array where bedingung, alle werte eines arrays abgleichen, ein wert mit einem array abgleichen, php abgleich mit array, javascript array wert abgleichen, sql select array als where bedingung, arrays abgleichen php, sql array abgleich, sql where bedingung in array, sql where mit arraywerten mit sql vergleichen, filter array mit bedingung und werten, sql table abgleich soap, php array wert ändern wenn bedingung, array where bedingung, filter mit where klausel und php, php array mit wert aus formular abgleichen, array abgleichen php

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