array_diff($mehrdimensional, $eindimensional) möglich?
max
- php
Hallo,
ich möchte Verfügbarkeiten anhand Buchungseinträgen aus einer DB bestimmen (Vermietung).
Sieht bisher so aus:
$bestand=array("",array(1,"name1",0),array(2,"name2",1),array(3,"name3",1),array(4,"name4",1),array(5,"name5",0));
zusammengesetzt aus verschiedenen Arrays mit Nummer, Name und Eigenschaft der verschiedenen Objekte.
Mein query liefert mir alle Einträge mit denen meine Anfrage datumsmäßig kollidiert. Jetzt will ich diese Auswahl sozusagen umkehren um die verfügbaren Objekte anzuzeigen.
Hatte mir das so überlegt:
$taken=array();
$check=mysql_query($query);
while ($row=mysql_fetch_array($check)){
array_push($taken, $row['nr']);
}
$taken=array_unique($taken);
$free=array_diff($bestand[][0],$taken);
Das Problem ist jetzt der erste Index von $bestand. Wie setze ich den auf "beliebig"? (Wollte nicht unbedingt das array_diff mit array(1,2,3,4,5) ausführen und dann später mit ner for-schleife weitermachen)
Oder geht das anders noch eleganter?
Dankesehr!!
Max
Hallo,
irgendwie ist dein Problem, bzw. der Lösungsansatz nicht rübergekommen.
Mein query liefert mir alle Einträge mit denen meine Anfrage datumsmäßig kollidiert. Jetzt will ich diese Auswahl sozusagen umkehren um die verfügbaren Objekte anzuzeigen.
Okay, also ist es ein SQL- Problem, nicht PHP.
Du könntest alle Objekte selektieren und per join die Buchungen des fraglichen Datums dazu.
Alle Objekte mit Buchungen NULL sind verfügbar. Ist das dein Ansatz?
Kalle
Hallo,
nein, mein Ansatz hat mit dem query nichts mehr zu tun. Ich lasse mir alle Buchungen ausgeben, die in den entsprechenden Zeitraum fallen und schaue dann welche Objektnummer nicht dabei ist.
Dein Ansatz klingt aber schon deutlich besser. Habe noch nie mit join gearbeitet, werde mich mal belesen.
Danke!
Max
Hallo,
irgendwie ist dein Problem, bzw. der Lösungsansatz nicht rübergekommen.
Mein query liefert mir alle Einträge mit denen meine Anfrage datumsmäßig kollidiert. Jetzt will ich diese Auswahl sozusagen umkehren um die verfügbaren Objekte anzuzeigen.
Okay, also ist es ein SQL- Problem, nicht PHP.
Du könntest alle Objekte selektieren und per join die Buchungen des fraglichen Datums dazu.
Alle Objekte mit Buchungen NULL sind verfügbar. Ist das dein Ansatz?
Kalle