Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Array wert darf nur einmal vorhanden sein

Diskussion: Array wert darf nur einmal vorhanden sein im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Moin, ich möchte ein Skript machen, das ein Menu auflistet folgender maßen... Oberkategorie link1 link2 Oberkategorie2 link1 link2 usw ...

Antwort
Alt 20.05.06, 22:16   #1 (permalink)
ba2
Guest
 
Likes:
Standard Array wert darf nur einmal vorhanden sein

Anzeige

Moin,

ich möchte ein Skript machen, das ein Menu auflistet folgender maßen...

Oberkategorie

  • link1
  • link2

Oberkategorie2
  • link1
  • link2


usw

die Daten dafür kommen aus einer Tabelle (SQL)

Dann habe ich mir gedacht speicher ich die Oberkategorie in einen Feld ab.

dan sieht ein Datensatz z.B. so aus

oberkategorie - link1 - url

da hab ich die Oberkategorie im Array gespeichert und wollte das ganze dan sortiert per Oberkategorie ausgeben.

nun ist mein Problem wenn eine Oberkategorie 2 mal vorhanden ist (zwangsläufig Notwendig) wird das ganze ja mehr fach angezeigt.

Wie kann ich verhindern das ein bereits vohandener Wert nicht noch einmal im Array gespeichert wird?


mfg ba2
  Mit Zitat antworten
Alt 20.05.06, 23:27   #2 (permalink)
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard

du könntest anstat das mit einem array gleich mit sql lösen und zwar machste mit SQL einen Join.
Das Problem hatte ich nämlichg auch mal.
CPU8080 ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.05.06, 23:59   #3 (permalink)
gesperrt
 
Registriert seit: 07.03.05
Hirnbreaker Leistung: Facit NTK
Likes: 0
Standard

Ja oder mit if etc.

Ich weiß net genau die Befehle ausm Kopf aber ich denke es so:

$array = array ("hihu");

<?php
function blab(){
foreach ($array as $temp){
$result = $temp"\",";
return ($result)
}

}

if ($_GET['blub'] != (blab())){

} else {
Input in DB
}

?>

war jetzt so mal schnell ne idee (habs auch net getestet....) sollte auch nur als idee dienen (evtl funktioniet es net).


Hoffe ich hab dein Prob überhaupt verstanden.
Hirnbreaker ist offline   Mit Zitat antworten
Alt 21.05.06, 13:13   #4 (permalink)
Moderator
 
Registriert seit: 17.10.01
soox Leistung: Facit NTK
Likes: 0
Standard

ich denke auch, dass das sehr gut mit sql geht.

bei einer php variante ist ev http://ch2.php.net/manual/en/function.array-unique.php hilfreich
soox ist offline   Mit Zitat antworten
Alt 21.05.06, 14:10   #5 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

Du könntest aber auch die Struktur ändern, und das ganze mit Rekursion machen .

Ist nur so ein Gedanke, da so wie es aussieht, ja für eine Menüstruktur gedacht ist oder?
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 21.05.06, 20:28   #6 (permalink)
ba2
Guest
 
Likes:
Standard

schonmal Danke für die vielen Antworten.

Ja, das Skript ist für ein menu gedacht


ich werde jetzt erstmal eure Lösungsvorschläge ausprobieren
  Mit Zitat antworten
Alt 22.05.06, 17:25   #7 (permalink)
 
Registriert seit: 15.05.06
Unicate Leistung: Facit NTK
Likes: 0
Standard

So wie es aussieht, willst du auch noch unterkategorien verwenden...
Wenn du das dann mit Rekursionen abrufen willst, dann schmiert dir die DB ab...

Versuchs mal mit Nested Sets...
Ist am Anfang ne komplizierte Geschichte, aber man gewöhnt sich dran...

in PEAR ist auch schon eine Klasse dafür implementiert...
Unicate ist offline   Mit Zitat antworten
Alt 23.05.06, 08:23   #8 (permalink)
 
Benutzerbild von BasicAvid
 
Registriert seit: 17.03.04
BasicAvid Leistung: Facit NTK
Likes: 2
Standard

Zitat:
So wie es aussieht, willst du auch noch unterkategorien verwenden...
Wenn du das dann mit Rekursionen abrufen willst, dann schmiert dir die DB ab...
Dann muss man es nur richtig implementieren, dann geht das auch. Hatte noch nie Probleme, man braucht nur die richtige Struktur.

Ich finde nämlich Nested Sets für ein kleines Menü, das nur aus ein paar Einträgen besteht übertrieben. Sind eine feine sachen, das muss ich schon sagen.

Hier ein Link zu Nested Sets
__________________
Mfg Basic Avid
- Use it or be used! -
BasicAvid ist offline   Mit Zitat antworten
Alt 23.05.06, 09:16   #9 (permalink)
 
Registriert seit: 15.05.06
Unicate Leistung: Facit NTK
Likes: 0
Standard

Ich wusste ja nicht, wie groß das Menü werden soll...
bis zu 3 Unterkategorien mag das ja auch gehen, aber alles was mehr ist mit Rekursionen zu machen wäre ein wenig "selbstmörderisch"...

Wie gesagt PEAR hat sowas schon implementiert ..
Bei starkem Interesse, hab ich auch eine Klasse geschrieben
Unicate ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Array wert darf nur einmal vorhanden sein
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Java Array NICHT ausführen wenn kein Eintrag vorhanden Havoc17 Code Kitchen 3 02.06.09 10:48
Wie lang darf das kabel sein ?? Hitmanjsa Network · LAN, WAN, Firewalls 2 12.01.08 14:16
aktuelle C't (21) Bericht: Einmal Cracker sein IsNull Hacks & Crackmes 9 14.10.07 13:05
delphi index und minimaler wert aus array vrmlmotte (In)security allgemein 2 09.11.05 17:56
Darf ich oder darf ich nicht? qiubic Internet Allgemein 9 11.06.05 18:19


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61