php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.11.2007, 23:35  
Erfahrener Benutzer
 
Registriert seit: 21.10.2007
Beiträge: 125
prinzli
Standard Ober - Unterkategorie anzeigen / ausblenden

Hallo zusammen..

..da bin ich mal wieder..

Ich lese Daten der "Oberkategorie" aus und ebenfalls auch aus der "Unterkategorie".

Nun möchte ich dass es erst nur die Oberkategorien anzeigt, und bei Klick auf eine Oberkategorie die dazugehörigen Unterkategorien anzeigt, jedoch alle anderen Oberkategorien auch.

Meine Frage: Wie stelle ich das am besten an..?

Hier mal den Code wie ich beide (Ober und die dazugehörigen Unterkategorien ) auslese:

PHP-Code:
$o_kat_abfrage "SELECT 
                    o_kat 
                FROM 
                    o_kategorien 
                ORDER BY 
                    o_kat 
                ASC"
;
$o_kat_ausgabe mysql_query($o_kat_abfrage) or die("Fehler in Zeile " __LINE__ " in der Abfrage " $o_kat_abfrage ", Fehlermeldung: " mysql_error()); 

while(
$o_kat_zeile mysql_fetch_array($o_kat_ausgabe))
{
    echo 
''.$o_kat_zeile['o_kat'].'';
    echo 
"
"
;
    
$u_kat_abfrage "SELECT 
                        o_kat, u_kat 
                    FROM 
                        u_kategorien 
                    WHERE 
                        o_kat = '"
.$o_kat_zeile['o_kat']."' 
                    ORDER BY 
                        u_kat 
                    ASC"
;
    
$u_kat_ausgabe mysql_query($u_kat_abfrage) or die("Fehler in Zeile " __LINE__ " in der Abfrage " $u_kat_abfrage ", Fehlermeldung: " mysql_error()); 

    while(
$u_kat_zeile mysql_fetch_array($u_kat_ausgabe))
    {
        echo 
''.$u_kat_zeile['u_kat'].'';
        echo 
"
"
;
    }

Guss Prinzli
prinzli ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 17.11.2007, 23:54  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo,
im Prinzip ganz einfach, in dem du die while-Schleife durch ein if-Konstrukt ersetzt.

PHP-Code:
<?php
if (array_key_exists("cat"$_GET)) {
  
$cat filter_input(INPUT_GET"nav"FILTER_VALIDATE_INT);
  
$res "SELECT .. WHERE id = $cat";
  
// ..
}
?>
Versuch aber grundsätzlich keine SQL-Queries in Schleifen aufzurufen (das ist einfach zuviel Overhead) und frag dich mal, ob es wirklich nötig ist, für die Unterscheidung zwischen Ober- und Unterkategorie verschiedene Tabellen zu verwenden.
Zergling-new ist offline  
Alt 18.11.2007, 16:58  
Erfahrener Benutzer
 
Registriert seit: 21.10.2007
Beiträge: 125
prinzli
Standard

Hallo Zergling

Danke Deiner schnellen Antwort..

Zitat:
im Prinzip ganz einfach
..schmunzel.. jaja.. ich hab da als Anfänger noch nicht in allem den Durchblick..

..werde mich mit Deinem Beispiel auseinandersetzten... und dazu gleich noch ne Frage:
Versteh ich das richtig.. dass ich in der if-abfrage die function "array_key_exists(..) abfrage..?

..gruss Prinzli
prinzli ist offline  
Alt 18.11.2007, 17:14  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ja, wie der Name schon sagt prüft sie, ob in einem Array ($_GET) der Schlüssel ("cat") existiert. Mit dem du zum Beispiel die ID der Oberkategorie übergibst, die geöffnet werden soll.

http://php.net/array_key_exists
http://php.net/filter_input
Zergling-new ist offline  
Alt 18.11.2007, 18:59  
Erfahrener Benutzer
 
Registriert seit: 21.10.2007
Beiträge: 125
prinzli
Standard

..vielen Dank @Zergling..

Zitat:
$cat = filter_input(INPUT_GET, "nav", FILTER_VALIDATE_INT);
..Könntest Du mir diese Zeile irgendwie erklären..? Ist diese zwingend oder was genau prüft oder gibt die aus..?
Habe das "filter_input" gelesen.. doch blicke ich da nicht wirklich durch....

..danke für Deine Geduld...

Gruss
Prinzli
prinzli ist offline  
Alt 18.11.2007, 21:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Der Code von mir is Mumpitz

PHP-Code:
<?php
if (array_key_exists("cat"$_GET)) {
  
$cat = (int)$_GET["cat"];
  
// ..
}
?>
sollte reichen. Wollte dir eigentlich nur die input_filter() Funktionen nahelegen, aber ist wohl noch etwas zu früh

filter_input() filtert (also entfernt schlechte Daten), in diesem Fall war es alles, was keine Zahl ist.
Zergling-new ist offline  
Alt 24.11.2007, 16:57  
Erfahrener Benutzer
 
Registriert seit: 21.10.2007
Beiträge: 125
prinzli
Standard

Danke @Zergling

..funktioniert super..

Zitat:
Wollte dir eigentlich nur die input_filter() Funktionen nahelegen, aber ist wohl noch etwas zu früh
.. .. hehe.. doch ich lerne immer mehr dazu.. so in ein paar Jahren.. lach..

Gruss
Prinzli
prinzli 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
Daten aus MySQL korrekt anzeigen sams9 PHP Tipps 2008 21 19.06.2008 20:58
RTF mit PHP auslesen und anzeigen möglich ? RaBastel PHP Tipps 2008 8 10.03.2008 10:03
Mehrere div's mit gleichen ID anzeigen / ausblenden phpbeginner HTML, Usability und Barrierefreiheit 9 06.09.2007 02:48
Baumstruktur anzeigen PHP-Fortgeschrittene 13 31.03.2006 21:37
Anzeigen wenn keine Einträge in Datenbank! c-bass PHP Tipps 2006 6 22.03.2006 13:49
PHP Seiten auf der Festplatte anzeigen lassen? PHP Tipps 2006 7 25.01.2006 19:53
Daten aus Datenbank auslesen und in PHP-Seite anzeigen PHP Tipps 2005-2 1 28.08.2005 20:16
Layer ein- und ausblenden GN HTML, Usability und Barrierefreiheit 2 24.08.2005 23:28
PHP Code lässt sich nicht anzeigen! Asipak PHP Tipps 2005-2 7 19.07.2005 19:16
[Erledigt] Downloads nicht anzeigen lassen... PHP Tipps 2005-2 0 24.06.2005 17:38
Datenbankabfrage: Ergebnisse anzeigen PHP Tipps 2005 5 07.04.2005 10:31
[Erledigt] Cookie - Seite anzeigen / nicht anzeigen PHP Tipps 2004-2 2 11.11.2004 15:59
Fehlerausgabe ausblenden Datenbanken 2 02.11.2004 12:30
Alle Datenbanken und Tabellen anzeigen anzeigen imported_Lumio PHP Tipps 2004 4 13.09.2004 14:26
Xampp, eigene Dateien anzeigen... Server, Hosting und Workstations 4 19.06.2004 23:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
beiträge der unterkategorie in der oberkategorie ausblenden, php anzeigen ausblenden

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