php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.09.2009, 17:17  
Erfahrener Benutzer
 
Registriert seit: 02.02.2009
Beiträge: 523
fulltilt ist in Verruf geratenfulltilt ist in Verruf geraten
Standard [Erledigt] breadcrumb 2 Tables mit Subcategories

Ich möchte eine Breadcrumb Navi erstellen ...
Habe 2 Tabellen products und categories in products wird auch die catid festgehalten.
Also mache ich eine Abfrage auf beide Tabellen, ich komme aber nun nicht weiter mit der kompletten Linkausgabe d.h. es wird immer nur Home und die Category angezeigt - es fehlt der komplette Pfad home > maincat > subcats
Das müsste wohl über eine while schleife ausgegeben werden, überfordert allerdings mein Wissen und bräuchte hierbei etwas Hilfe wie man so etwas aufbaut

PHP-Code:
<?php
$query 
mysql_query("SELECT * FROM categories LEFT JOIN products ON(categories.id = products.Category) WHERE products.id=$pid");
$row mysql_fetch_array($query);
$maincat $row["cat"];
$par $row["parentid"];

if(
$par 0)
{
echo 
"<a href=\"index.php\">Home</a>";
echo 
"&nbsp;|&nbsp;";
echo 
"<a href='categories.php?$maincat'>$maincat</a>";
}
else
{
echo 
"<a href=\"index.php\"Home</a>";
}
?>
fulltilt ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.09.2009, 18:10  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Hi, ich habe hier mal beschrieben, wie man aus einer Parent-ID Beziehung entsprechend einen Objekt-Baum erzeugt, anhand dessen sich ganz einfach die Brotkrümel generieren lassen:
Wert aus Datei lesen + anordnen - Forum: phpforum.de
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 18.09.2009, 18:50  
Erfahrener Benutzer
 
Registriert seit: 02.02.2009
Beiträge: 523
fulltilt ist in Verruf geratenfulltilt ist in Verruf geraten
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
Hi, ich habe hier mal beschrieben, wie man aus einer Parent-ID Beziehung entsprechend einen Objekt-Baum erzeugt, anhand dessen sich ganz einfach die Brotkrümel generieren lassen:
Wert aus Datei lesen + anordnen - Forum: phpforum.de
thanks Chriz,
ich kann hier nur mit einem query arbeiten - habe ja keine catid die bekomme ich mit $_GET["pid"] aus table products (Category) und will dann mit dieser catid aus table categories auslesen ...
also so was in der Art - funktioniert aber nicht so richtig ... beim Query fehlt mir auch noch die parentid - finde allerdings keinen Ansatz wie es weiter gehen soll:
PHP-Code:
function breadcrumb($id)
{
$result mysql_query('SELECT * FROM categories LEFT JOIN products ON(categories.id = products.Category) WHERE products.id=$pid')
$row mysql_fetch_array($result);
$breadcrumb breadcrumb($row['parentid']);
$breadcrumb .= '> '.$row['cat'];
return 
$breadcrumb;
}

print 
breadcrumb($id); 
fulltilt ist offline  
Alt 18.09.2009, 18:59  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Also du hast Produkte, diese haben einen Fremdschlüssel (catid) auf Kategorien, welche selber wiederum einen solchen Fremdschlüssel (parentid) auf die eigene Tabelle haben oder?

Wieviele Kategorien gibt es und wieviele wird es im "schlimmsten" Fall geben? Wie tief sind die Verschachtelungen üblicherweise?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 18.09.2009, 19:11  
Erfahrener Benutzer
 
Registriert seit: 02.02.2009
Beiträge: 523
fulltilt ist in Verruf geratenfulltilt ist in Verruf geraten
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
Also du hast Produkte, diese haben einen Fremdschlüssel (catid) auf Kategorien, welche selber wiederum einen solchen Fremdschlüssel (parentid) auf die eigene Tabelle haben oder?
Wieviele Kategorien gibt es und wieviele wird es im "schlimmsten" Fall geben? Wie tief sind die Verschachtelungen üblicherweise?
Ja könnte zwar noch die catid und parentid mit posten:
von den Suchergebnissen nach Product Details ...
Es werden wohl sehr viele Kategorien und Sub/Subs das ganze soll so ein Preisvergleich werden ...
Vieleicht ist es dann doch einfacher diese auf die Product Details zu posten?
fulltilt ist offline  
Alt 18.09.2009, 19:45  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von fulltilt Beitrag anzeigen
Vieleicht ist es dann doch einfacher diese auf die Product Details zu posten?
Was meinst du damit?

Wie sieht denn die Struktur genau aus?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 19.09.2009, 07:57  
Erfahrener Benutzer
 
Registriert seit: 02.02.2009
Beiträge: 523
fulltilt ist in Verruf geratenfulltilt ist in Verruf geraten
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
Was meinst du damit?
Wie sieht denn die Struktur genau aus?
der Link von den Suchergebnissen auf die Produktdetails, um dort ein Breadcrumb Navi zu generieren.
Wenn ich in der search.php > productlink die catid nochmal anhänge müsste doch folgendes funktionieren:
PHP-Code:
...
<? include(ROOTPATH."/breadcrumb.php");?>
...
<?php
$cid 
$row["Category"];
<
a href='compare.php?pid=$pid&pname=$titel&catid=$cid'>$button</a>
...
?>
PHP-Code:
<?php
//breadcrumb.php
if(isset($_GET['catid']) and trim($_GET['catid']!=''))
{
                
$bread_crumb_array =categoryBreadCrumb(trim($_GET['catid']));
                
$bread_crumb_array array_reverse($bread_crumb_array,true);
                
$separator =' > ';
                
$i=1;
                foreach(
$bread_crumb_array as $CatID=>$CatName)

                {
                        if(
count($bread_crumb_array)!=$i)
                        {
$bread_crumb_string.='<a href="/categories.php?catid='.$CatID.'&catname='.$CatName.'">'.$CatName.'</a>'.$separator;

                        }else{
                          
$bread_crumb_string.=$CatName
                        }
 
                        
$i++;
                }
                echo 
"<a href='/index.php'>Home</a> &gt; ";
            echo 
$bread_crumb_string;
  
}
 
function 
categoryBreadCrumb($CatID)
        {
                global 
$db;
                static 
$bread_crumb_array=array();
                
$sql 'SELECT * FROM categories WHERE id=\''.$CatID.'\'' ;
                
$res mysql_query($sql);;
                
$row mysql_fetch_assoc($res);
                 
                if(
$row['parentid']==0)
                {
                        
$bread_crumb_array[$row['id']]=$row['cat'];
                }else{
                        
$bread_crumb_array[$row['id']]=$row['cat'];
                        
categoryBreadCrumb($row['parentid']);
                }
                return 
$bread_crumb_array;
        }
?>
#EDIT#
Klappt auch soweit ...
kann man das so lassen?

Geändert von fulltilt (19.09.2009 um 08:19 Uhr).
fulltilt 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
Kann LOCK TABLES zu Absturz der MySQL Datenbank führen? kat_2403 Datenbanken 2 03.09.2009 15:22
mysqlabfrage mit 2 tables (COUNT?) mqs PHP Tipps 2009 6 17.06.2009 12:49
Welche Tables muss ich erstellen? She-Sign.de Datenbanken 2 12.05.2009 19:54
[Erledigt] LOCK TABLES - Thread statt Table??? Curanai Datenbanken 1 04.04.2009 01:33
[Erledigt] Problem bei delete über 2 tables fulltilt PHP Tipps 2009 3 24.02.2009 22:29
[Erledigt] select from versch. tables als Dropdown Auswahl fulltilt Datenbanken 34 06.02.2009 15:17
Impossible WHERE noticed after reading const tables Gumfuzi Datenbanken 6 03.01.2009 10:53
Verschachtelte Abfrage über mehrere Tables hinweg? php_frage Datenbanken 9 29.04.2006 19:55
Tables Schubi PHP Tipps 2005-2 0 05.08.2005 15:09
Tables Schubi PHP Tipps 2005-2 0 05.08.2005 15:08
Tables PHP Tipps 2005-2 0 05.08.2005 13:39
LOCK TABLES / LAST_INSERT_ID AliceD Datenbanken 3 20.07.2005 13:45
Suche zufalls(bild)script das in tables läuft... Beitragsarchiv 0 05.07.2005 12:18
breadcrumb... extra neue ordner anlegen? PHP Tipps 2005 1 15.04.2005 23:14
SHOW PROCESSLIST und TEMPORARY TABLES tapferesschneiderlein Datenbanken 2 05.03.2005 11:40

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
parentid-beziehung, breadcrumb php, php breadcrumb erstellen, breadcrumb erstellen php, wiki brotkrümel, mediawiki breadcrumb, mediawiki how to use breadcrumb2, breadcrumbs mit php erstellen, php mysql category subcategory, mysql php breadcrumb parentid, breadcrumb nav php mysql, mysql create breadcrump from parentid id relation, php mysql path-breadcrumbs, mediawiki breadcrumbs gibts nicht, breadcrumb 2, php mysql breadcrumb parent, subcategories php mysql, was ist category breadcrumb, .= php, php breadcrumb mit parentid

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