php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-04-2008, 18:21
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard Unterkategorien in Baumstruktur nach parent_id per link aufrufen?

Hallo Gemeinde!

Mein Frage ist folgende. wie kann ich in einer Baumstruktur die sich in einer Tabelle befindet nach und nach per Linklick die jeweiligen zu Katergorie gehörenden Unterkategorien auslesen und erscheinen lassen?

Also zum Anfang lasse ich die die Kategorien ausgeben die in der Spalte parent_id den Wert 0 haben,dies sind sozusagen die Absoluten Hauptkategorien.

Das sieht dann so aus!

PHP-Code:
<?php
$sqlbefehl 
="Select id,parent_id,name,level From $tab_baum";
$ergebnis mysql_query($sqlbefehl)or die(mysql_error());
while(
$row mysql_fetch_array($ergebnis)){
    if(
$row['parent_id']==0)
    {
        echo 
"<br><a href=\"index.php?parent_id=".$row['id']."\">".$row['name']."</a>";
    }
}
?>
Das funktioniert auch sehr gut,nur jetzt weis ich nicht weiter. Ich will wenn ich auf den Link klicke das dann auf der selben index.php die Unterkategorien zur der angleickten Hauptkategorie erscheinen und das soll sich dann durch die Struktur so weiter ziehen!

Kann mir jemand da helfen?

Im Anhangbil baum.jpg könnt ihr Struktur der Tabelle sehen zur verdeutlichung meines Anliegens und Vorhabens.

Vielen Dank für eure Hilfe mfg der Litter!
Angehängte Grafiken
Dateityp: jpg baum.jpg (24,7 KB, 125x aufgerufen)
Mit Zitat antworten
  #2 (permalink)  
Alt 20-04-2008, 20:18
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Warum nicht gleich mit

SELECT id, parent_id, name, level FROM $tab_baum WHERE parent_id = 0

abfragen? Das wäre dann auch gleich der Ansatz für die Unterkategorien. Da setzt du eben statt 0 die id der ausgewählten Überkategorie in die Where-Klausel ein.
Mit Zitat antworten
  #3 (permalink)  
Alt 20-04-2008, 21:02
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mittlerweile sieht das Script so aus!

Jetzt bekomme ich von Anfang an diese Fehlermeldung hier schon beim Aufruf der Seite
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='9'' at line 1

Und wenn ich dann auf den Link klicke diese hier
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '='3'' at line 1

Die erste Fehlermedung steht direkt neben dem letzten Link von denen die als erstes erscheinen!
PHP-Code:
<?php
$cat 
$_REQUEST['cat'];

$sqlbefehl ="Select id,parent_id,name,level From $tab_baum where parent_id = 0";
$ergebnis mysql_query($sqlbefehl)or die(mysql_error());
while(
$row mysql_fetch_array($ergebnis)){
    
$id $row['id'];
    if(
$row['parent_id']==0)
    {
        echo 
"<br><a href=\"kopf.php?cat=".$row['id']."\">".$row['name']."</a>";
    }
}

if(isset(
$cat))
{
    
$sqlbefehl ="Select id,parent_id,name,level From $tab_baum parent_id='".$id."'";
    
$ergebnis2 mysql_query($sqlbefehl)or die(mysql_error());
    while(
$row2 mysql_fetch_array($ergebnis2)){
        if(
$row['id'] == $row['parent_id'])
        {
            echo 
"<a href=\"\">".$row['name']."</a>";
        }
    }
}
?>

Geändert von litterauspirna (20-04-2008 um 21:45 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 20-04-2008, 22:47
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Keiner einen Rat für mich?
Mit Zitat antworten
  #5 (permalink)  
Alt 20-04-2008, 22:49
BugBite
 Member
Links : Onlinestatus : BugBite ist offline
Registriert seit: May 2006
Beiträge: 299
BugBite ist zur Zeit noch ein unbeschriebenes Blatt
Standard

echo $sqlbefehl
das ganze in phpmyadmin und gucken was los is
Mit Zitat antworten
  #6 (permalink)  
Alt 20-04-2008, 22:49
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Da du die Regeln nicht befolgst und die vollständige Query nicht gepostet hast, sollte es dich nicht mehr wundern, dass dir niemand helfen mag.

Im Übrigen bist du mal wieder ganz schön dreist schon nach < 2 Stunden zu drängeln...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 20-04-2008, 23:02
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TobiaZ
Da du die Regeln nicht befolgst und die vollständige Query nicht gepostet hast, sollte es dich nicht mehr wundern, dass dir niemand helfen mag.

Im Übrigen bist du mal wieder ganz schön dreist schon nach < 2 Stunden zu drängeln...
Wann habe ich bitte mal gedrängelt? Und sollte es auch nicht rüber kommen,ich denke ein klein wenig Respeckt kann man schon erwarten,so ein angepflaume muss gleube ich nicht sein!!

Und in wie fern habe ich die Regeln nicht beachtet und nicht die ganze query gepostet? Ist doch im Beitrag im Code alles zu sehen!

Die zweite Abfrage wird gar nicht erst ausgeführt. Hab da den echo $sqlbefehl; gemacht aber wenn ich den Link klicke passiert gar nix!
Mit Zitat antworten
  #8 (permalink)  
Alt 20-04-2008, 23:27
BugBite
 Member
Links : Onlinestatus : BugBite ist offline
Registriert seit: May 2006
Beiträge: 299
BugBite ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie unser altkanzler kohl schon sagte:
entscheidend ist was hinten rauskommt

also überprüfe deine queries, die du mit echos ausgibst,
ob da nicht eventuell der wurm drin ist.

vergleiche query mit tabellenstrukur
überprüfe syntax ggf. in phpmyadmin

mit You have an error in your SQL syntax; kann man ohne glaskugel nich so viel anfangen

btw sollte das $id im zweiten query nicht ein $cat sein?
Mit Zitat antworten
  #9 (permalink)  
Alt 20-04-2008, 23:36
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die Sache ist die das der erste query Ordnungsgemäß ausgeführt wird. Doch beim zweiten passiert gar nichts,wenn ich auf den Link klicke der im ersten query steht um die dazugehörigen Unterkategorien anzuzeigen passiert einfach nichts!


Der Code sieht jetzt so aus.
Wenn ich auf den Link klicke steht das hier in der Browseradresszeile
http://localhost/raiser/kopf.php?parent_id=1

Aber angezeigt wird gar nichts sondern es bleiben nach wie vor die Kategorien stehen wie sie am Anfang beim aufruf erscheinen!
PHP-Code:
<?php
$cat 
$_REQUEST['cat'];

$sqlbefehl ="Select id,parent_id,name,level From $tab_baum where parent_id = 0";
$ergebnis mysql_query($sqlbefehl)or die(mysql_error());
while(
$row mysql_fetch_array($ergebnis)){
    
$id $row['id'];
    if(
$row['parent_id']==0)
    {
        echo 
"<br><a href=\"index.php?parent_id=".$row['id']."\">".$row['name']."</a>";
    }
}

if(
$row['parent_id']!=0)
{
    
$sqlbefehl ="Select id,parent_id,name,level From $tab_baum parent_id='".$cat."'";
    
$ergebnis2 mysql_query($sqlbefehl)or die(mysql_error());
    while(
$row2 mysql_fetch_array($ergebnis2)){
        if(
$row2['id'] == $row2['parent_id'])
        {
            echo 
"<a href=\"\">".$row2['name']."</a>";
        }
    }
echo 
$sqlbefehl;
}
?>
Mit Zitat antworten
  #10 (permalink)  
Alt 20-04-2008, 23:38
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Wenn du an einem Sonntag abend den Usern keine zwei Stunden (genau genommen sogar nur eine Stunde) Zeit gibst zu reagieren - vermutlich weil du den ganzen murks morgen früh abgeben musst oder so - dann soll man das nicht als Drängeln empfinden?

Geh immer davon aus, dass man dir helfen wird, wenn man kann und will. Also bedarf es nun wirklich keiner Nachfrage. Und wer trotz (mitlererweile drei) Hinweisen es nicht schafft eine vernünftige Testausgabe zu machen, der hat in meinen Augen auch gar keine Hilfe mehr zu erwarten.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #11 (permalink)  
Alt 20-04-2008, 23:40
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Du Troll!

Wenn dein Script in Zeile 18 abbricht, wieso versuchst du dann die Testausgabe DANACH in Zeile 25 zu machen?

Denkst du generell nicht nach, was du da machst, oder schieben wir das mal einfach auf die Uhrzeit?

PS: Das hat echt nichts mit anpflaumen zu tun, aber sowas ist einfach unvorstellbar!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #12 (permalink)  
Alt 20-04-2008, 23:43
BugBite
 Member
Links : Onlinestatus : BugBite ist offline
Registriert seit: May 2006
Beiträge: 299
BugBite ist zur Zeit noch ein unbeschriebenes Blatt
Standard

angeblich passiert ja jetzt garnichts mehr - wo sind denn die fehler hinverschwunden?

Zitat:
PHP-Code:
$sqlbefehl ="Select id,parent_id,name,level From $tab_baum where parent_id = 0";
...
if(
$row['parent_id']!=0
na fällt jetz was auf?

wie wärs wenn du mal bei einem struktogramm anfängst?
hier scheiterts meiner meinung nach an der programmlogik
Mit Zitat antworten
  #13 (permalink)  
Alt 20-04-2008, 23:59
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 364
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mir fehlt grad jeder Gedanke wie ich die zweite Abfrage machen soll.

Die erste haut ja hin.
Mit Zitat antworten
  #14 (permalink)  
Alt 21-04-2008, 00:03
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Du machst die Zweite Abfrage bereits. Die schlägt nur leider fehl.

Es muss wirklich an der späten Stunde liegen, daher würde ich doch vorschlagen dass du morgen früh daran weiter arbeitest. Hat so irgendwie keinen Sinn. Du siehst nicht mal mehr wo hinten und wo vorne ist.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #15 (permalink)  
Alt 21-04-2008, 00:07
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Hier mal ein rudimentäres halbgares Klappmenue aus meiner experemier Kiste: http://combie.de/fragmente/rekursives_menue/showsrc.php
Evtl. kannst du dir ja was davon abschauen...

Besonderheit:
Der ganze Klumpatsch wird in einem Rutsch in ein Array geladen.

Vorteil:
Das geht ruckzuck, nur ein Query. Spielend einfaches Navigieren im Array

Nachteil:
Bei einigen hundert Elementen wird es dann richtig ineffektiv.
__________________
Wir werden alle sterben
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:47 Uhr.