php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.05.2006, 18:05  
Neuer Benutzer
 
Registriert seit: 03.02.2006
Beiträge: 20
Robstar
Standard Doppelte Einträge aus Array Filtern

Hallo Leute,

ich habe ein Array aus Datumsfeldern erstellt in dem sich doppelte Einträge befinden. Wie kann ich diese Filtern so das jedes enthaltene Datum nur einmal angzeigt wird?

Ich habe dabei die Funktion array_unique im Verdacht, dass Sie mir helfen könnte, weiß sie aber nicht einzusetzen.

Hier mein Array

Dies ist die Filterung zum Array
Code:
  $datumsauswahl[] = mosHTML::makeOption( '0', 'Datums Filter' );
  $datumsauswahl[] = mosHTML::makeOption( '-1', "- Filter löschen");
  $database->setQuery( "SELECT DATE_FORMAT(datum, '%d.%m.%Y') AS text, datum AS value FROM #__meiner_datenbank"
    . "\nWHERE datum <= '$datum_filter' ORDER BY datum" );
  $datumsauswahl = array_merge( $datumsauswahl, $database->loadObjectList() );
Übergabe des Arrays in die Auswahlliste

Code:
$dlist = mosHTML::selectList( $datumsauswahl, 'id', 'class="inputbox" size="1" onchange="document.adminForm.submit();"',
    'value', 'text' , $datum );
Grüße Robstar
Robstar ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 31.05.2006, 18:09  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Warum schaust du nicht im Manual unter array_unique() nach?

und was soll dieser DB-Tabellenname? Bist du ein Kollege von Tinchen (oder wie sie hieß)? Die hatte das auch immer!
Zergling-new ist offline   Mit Zitat antworten
Alt 31.05.2006, 18:13  
Neuer Benutzer
 
Registriert seit: 03.02.2006
Beiträge: 20
Robstar
Standard

Das habe ich bereits getan, allerdings werd ich (wie schon oben erwähnt) nicht schlau draus.

wenn ich:
Code:
$neue_auswahlliste = $datumsauswahl;
print_r(array_unique($neue_auswahlliste));
dazufüge und dann die neue auswahlliste an die selectList übergebe, kommt garnichts!

Was den Tabellennamen angeht, habe ich aus erfahrung in anderen Foren mal eben so geändert.. die Tabelle heißt nicht wirklich so, da es hier egal ist (sein sollte) wie sie wirklich heißt, werde ich diesen Stil beibehalten.. ;o)Wer ist Tinchen?

Grüße Robstar
Robstar ist offline   Mit Zitat antworten
Alt 31.05.2006, 18:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Es gibt bessere Möglichkeit, seine Datenbank zu schützen. Egal.

Vielleicht erstmal Englisch lernen!
Zitat:
array_unique() takes input array and returns a new array without duplicate values.
Zergling-new ist offline   Mit Zitat antworten
Alt 31.05.2006, 18:56  
Neuer Benutzer
 
Registriert seit: 03.02.2006
Beiträge: 20
Robstar
Standard

Danke..

Die Funktion array_unique() entfernt doppelte Einträge aus einem Array und gibt das neue Array als Ergebnis zurück.

Soweit der Englisch-Kurs.

Wenn Du mir nicht helfen kannst, dann vertue bitte auch nicht Deine Zeit mit mir. Ich bin sicher Du hast wichtigeres zu tun als meine Englischkenntnisse abzufragen oder den (Un)Sinn meiner Tabellen-Namen zu erforschen. Ich bin hier weil ich Hilfe benötige zum Thema array_unique()


Grüße Robstar
Robstar ist offline   Mit Zitat antworten
Alt 31.05.2006, 19:07  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Robstar
und gibt das neue Array als Ergebnis zurück.
PHP-Code:
$rückgabewert eineFunktion($einParameter$nochEinParameter); 
Macht's *klick*?


Lies Dir mal zusätzlich noch etwas über die Bedeutung von DISTINCT bei sql durch.
http://www.w3schools.com/sql/sql_select.asp
http://www.google.de/search?hl=en&q=...ct&btnG=Search

p.s.: Der Name der Tabelle sollte besser in `...` gefasst werden.
http://dev.mysql.com/doc/refman/5.0/en/legal-names.html
Zitat:
An identifier may be quoted or unquoted. If an identifier is a reserved word or contains special characters, you must quote it whenever you refer to it. [...]
Special characters are those outside the set of alphanumeric characters from the current character set, ‘_’, and ‘$’.
Demanch ist # ein spezielles Zeichen.
  Mit Zitat antworten
Alt 31.05.2006, 19:28  
Neuer Benutzer
 
Registriert seit: 03.02.2006
Beiträge: 20
Robstar
Standard

Zitat:
Lies Dir mal zusätzlich noch etwas über die Bedeutung von DISTINCT bei sql durch.
Das war der entscheidente Hinweis. Danke!

Die richtig Abfrage muss so lauten:
PHP-Code:
  $datumsauswahl[] = mosHTML::makeOption'0''Datums Filter' );
  
$datumsauswahl[] = mosHTML::makeOption'-1'"- Filter löschen");
  
$database->setQuery"SELECT DISTINCT DATE_FORMAT(datum, '%d.%m.%Y') AS text, datum AS value FROM #__meiner_datenbank"
    
"\nWHERE datum <= '$datum_filter' ORDER BY datum" );
  
$datumsauswahl array_merge$datumsauswahl$database->loadObjectList() ); 
Die doppelten Einträge sind gefiltert.

Grüße Robstar
Robstar ist offline   Mit Zitat antworten
Alt 31.05.2006, 21:25  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Robstar
ich habe ein Array aus Datumsfeldern erstellt in dem sich doppelte Einträge befinden. Wie kann ich diese Filtern so das jedes enthaltene Datum nur einmal angzeigt wird?
Zitat:
Zitat von Robstar
Die Funktion array_unique() entfernt doppelte Einträge aus einem Array und gibt das neue Array als Ergebnis zurück.
Soweit der Englisch-Kurs.
Wenn Du mir nicht helfen kannst, ...
Alles klar bei dir? Du widersprichst dir wohl selbst gerne?!

Aber der Blöde soll ich sein, weil ich dir geraten habe, array_unique() nochmal anzuschaun?
Zergling-new ist offline   Mit Zitat antworten
Alt 31.05.2006, 21:31  
Neuer Benutzer
 
Registriert seit: 03.02.2006
Beiträge: 20
Robstar
Standard

Nachtrag:

In meiner Abfrage wird die 2. WHERE-KLausel nicht abgefragt:

"WHERE datum" wird berücksichtigt "AND bezahlt" wird ignoriert.. !?!?!
Jedenfalls bekomme ich in meiner auswahl auch Datensätze angezeigt, welche im feld bezahlt eine 1 haben.

weiß jemand rat?

PHP-Code:
  $datumsauswahl[] = mosHTML::makeOption'0''Datums Filter' );
  
$datumsauswahl[] = mosHTML::makeOption'-1'"- Filter löschen");
  
$database->setQuery"SELECT DISTINCT DATE_FORMAT(datum, '%d.%m.%Y') AS text, datum AS value FROM #__meiner_datenbank"
    
"\nWHERE datum <= '$datum_filter' AND bezahlt = '0' ORDER BY datum" );
  
$datumsauswahl array_merge$datumsauswahl$database->loadObjectList() ); 
Robstar ist offline   Mit Zitat antworten
Alt 31.05.2006, 22:00  
Neuer Benutzer
 
Registriert seit: 03.02.2006
Beiträge: 20
Robstar
Standard

@Zergling

nein du sollst nicht der blöde sein.. das habe ich auch nie behauptet und ich verweiger mich dieser Unterstellung!!! Ich widerspreche mir auch nicht gern. Ich habe lediglich nicht so viel Ahnung von PHP und MySQL und stelle deshalb meine Fragen in diesem Forum. Wenn ich diese Fragen eventuell so formuliere dass sie ein PHP-Crack nicht versteht, liegt das lediglich an meiner Unwissenheit und nicht daran dass ich mir widersprechen will. Und wenn wir alle noch mal über den Sinn eines Forums nachenken, stellen wir fest, dass ich bis dahin vollkommen richtig gehandelt habe. Weil hier Leute sind die sich damit beschäftigen und Ihr wissen weitergeben. Mir ist dabei natürlich vollkommen klar dass mir hier nicht die Lösung auf einem Silbertablett geliefert wird. Aber zumindest kann ich hier eine Hilfestellung erwarten:

Wie z.B.:
Zitat:
Lies Dir mal zusätzlich noch etwas über die Bedeutung von DISTINCT bei sql durch.
Was mir aber absolut gar nicht geholfen hat ist:
Zitat:
Vielleicht erstmal Englisch lernen!
Weil Hilfe zu diesem Thema würde ich mir unter leo.org holen.

Was mir auch nicht geholfen hat:
Zitat:
Warum schaust du nicht im Manual unter array_unique() nach
Weil genau dass habe ich schon getan, oder wie sollte ich sonst, folgendes behaupten:
Zitat:
Ich habe dabei die Funktion array_unique im Verdacht, dass Sie mir helfen könnte, weiß sie aber nicht einzusetzen.
Ich kann es generell verstehen dass Du oder ein anderer Moderator dieses Forums genervt sind von Leuten die die Suchfunktion nicht benutzen. Aber was ich nicht verstehen kann sind Deine Antworten auf nicht gestellte Fragen. Fakt ist, dass Du die Lösung meines Problems auch kanntest.. aber über 1/2 Stunde mit mir über Englischkurse und Tabellennamen philosphiert hast. Und Deinen Hinweis ich sollte mir diese Funktion noch mal anschauen.. tut mir leid, den habe ich so nicht verstanden:
Zitat:
Es gibt bessere Möglichkeit, seine Datenbank zu schützen. Egal.

Vielleicht erstmal Englisch lernen!
Zitat:
array_unique() takes input array and returns a new array without duplicate values.
Schlussendlich hat es Dein Kollege mit einem Satz auf den Punkt gebracht. Und zwar so, dass ich dabei noch was lerne. Mit einem Hinweis auf den richtigen SQL Befehl.

DAS IST SUPPORT! DANKE[/list]
Robstar ist offline   Mit Zitat antworten
Antwort


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
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Array Filtern? PHP Tipps 2007 3 19.12.2005 17:18
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
array in array filtern, kopieren oder irgendwas, das hilft PHP Tipps 2005 2 14.04.2005 12:10
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
Werte aus mehr. dim. Array filtern und zählen PHP Tipps 2004 3 19.08.2004 00:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array doppelte werte filtern, http://www.php.de/datenbanken/40396-doppelte-eintraege-aus-array-filtern.html, php array doppelte einträge filtern, doppelte aus aarray filtern, doppelte arrays filtern, array doppelte einträge filtern, php auswahlliste doppelte werte entfernen, doppelte einträge in array filtern, php array doppelte filtern, php array doppelte werte zusammenfassen, php array doppelte einträge zusammenfassen, doppelte einträge aus php-array entfernen und zählen, javascript doppelte einträge aus array entfernen, php doppelte einträge aus array löschen, php doppelte array werte zusammenfassen, php array mehrfacheinträge filtern, php doppelte werte aus array filtern, js doppelte werte array filtern, mehrdimensional array_unique, php zweidimensionales array doppelte entfernen

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.