brauche Webseite ideal für Vereine und Firmen
- Ad -
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! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 27-11-2002, 12:16
gfx-freak
 Junior Member
Links : Onlinestatus : gfx-freak ist offline
Registriert seit: Nov 2002
Beiträge: 83
gfx-freak ist zur Zeit noch ein unbeschriebenes Blatt
Cool navi

hi all!
besonders an tob gg !

Also folgendes jeder kennt doch von euch web.de und andere freemail anbieter als bsp.!

Meine Frage die haben eine User spezifische Navigation, jeder User bekommt seinen DB Inhalt per Navi angezeigt // und nicht den allgemeinen Inhalt wie es bei standard seiten der Fall ist...

Also weiss jmd wie man dieses realisiert, das man für jeden User spezifisch seine Navigation bauen kann ? Die dann nach betätigung eines Links seinen persönlichen DB Inhalt ausliest...

Danke für Tipps, hilfen etc !
Mit Zitat antworten
  #2 (permalink)  
Alt 27-11-2002, 13:01
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

create table nav (
nav_id bigint unsigned auto_increment not null,
parent_id bigint unsigned,
description varchar(100),
href varchar(255),
primary (nav_id),
index (parent_id)
);
dann die ids entweder (a) als serialisiertes Array im Cookie oder (b) in einer weiteren Tabelle speichern:
create table nav2user (
nav_id bigint unsigned not null,
user_id bigint unsigned not null,
primary (nav_id, user_id)
);
und für (b) noch eine user-Tabelle:
create table nav2user (
user_id bigint unsigned auto_increment not null,
uname varchar (10),
passwd varchar(50),
primary (user_id),
index (uname)
);

und dazu passend ein Login ...
__________________
mein Sport: mein Frühstück: meine Arbeit:

Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
Mit Zitat antworten
  #3 (permalink)  
Alt 27-11-2002, 13:33
gfx-freak
 Junior Member
Links : Onlinestatus : gfx-freak ist offline
Registriert seit: Nov 2002
Beiträge: 83
gfx-freak ist zur Zeit noch ein unbeschriebenes Blatt
Thumbs up

jaaa danke für die schnelle antwort :] !!

Habe nun folgenden Mysql Dump gemacht!:

PHP-Code:
------------------------------
LOGIN !
------------------------------

CREATE TABLE `users` (
`
user_idBIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`
userVARCHAR10 NOT NULL ,
`
passVARCHAR50 NOT NULL ,
`
kdnVARCHAR10 NOT NULL ,
INDEX ( `user` ) 
);



------------------------------
Navi tables
------------------------------
CREATE TABLE `nav` (
`
nav_idBIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`
parent_idBIGINT UNSIGNED NOT NULL ,
`
descriptionVARCHAR100 NOT NULL ,
`
hrefVARCHAR255 NOT NULL ,
INDEX ( `parent_id` ) 
);




CREATE TABLE `nav2userids` (
`
nav_idBIGINT UNSIGNED NOT NULL ,
`
user_idBIGINT UNSIGNED NOT NULL ,
PRIMARY KEY ( `nav_id` , `user_id` ) 
); 
Mal kurz überlegen wie ich weiter vorgehe ich meld mich gleich wieder gg
bin aber noch offen für weitere ideen, und nochmal DANKE an dir titus !!
Mit Zitat antworten
  #4 (permalink)  
Alt 27-11-2002, 14:14
gfx-freak
 Junior Member
Links : Onlinestatus : gfx-freak ist offline
Registriert seit: Nov 2002
Beiträge: 83
gfx-freak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Frage:

Bin gerade dabei aber wäre sehr nice wenn mir mal jmd ne Beispiels Abfrage schreiben könnte zu dem mysql dump, die einen link mit content ausliest, darstellt (individuell für den user durch die ids..) und anschliessend nach klick seinen db inhalt raussucht, mysql_query...
Nen Beispiel COde wäre n1 nur des Verständnisses wegen ! User helfen User..

Danke ! ;/



Danach gehen wir einen saufen ;p

Geändert von gfx-freak (27-11-2002 um 14:44 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 27-11-2002, 16:14
syn
 Newbie
Links : Onlinestatus : syn ist offline
Registriert seit: Nov 2002
Beiträge: 30
syn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich hoffe, das das so klappt.
So wird natürlich der parent nicht berücksichtigt.
(Soll heißen die Navigation bleibt auf einer ebene)

Query1:
$sql1 = " select nav.nav_id from nav, nav2userids,users ";
$sql2 = " where ((nav.nav_id=nav2userids.nav_id) and ";
$sql3 = " (nav2userids.user_id=users.user_id) and ";
$sql4 = " users.user_id="$user_id") ";
$sql = $sql1.$sql2.$sql3.$sql4;
...
$navIdDB[0] = $rueck[0];
...

Query2:
$sql = " select * from nav where parent_id=".$navIdDB[0] ." ";
...
while(...)
{
$navIdDB[] = $rueck2[0];
}

Andreas
__________________
....... .:[s|Y|n]:. . .:[www.syntheme.de]:. . .:[:-)]:. .......

Geändert von syn (27-11-2002 um 16:22 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 28-11-2002, 13:03
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Post

hab ich hier auch schon mehrfach gepostet ...
PHP-Code:
function menu($user_id=0$parent=0$level=0)
{
  
$res mysql_query("select n.* from nav n".
    (
$user_id ', nav2userids z' '').
    
" where n.parent_id=$parent".
    (
$user_id " and z.nav_id=n.nav_id and z.user_id=$user_id" '').
    
" order by n.nav_id")
  or die (
mysql_error());
  while (
$row mysql_fetch_assoc($res))
    echo (
$level str_repeat(' '$level) : ''),
      
'- <a href="'$row['href']', ">',
      
htmlentities($row['description']), '</a><br>';
}
menu($user_id); 
Man kann auch noch der nav ein Feld pos int unsigned und einen index (unsigned) verpassen, dann kann die Reihenfolge der Menüpunkte selbst bestimmt werden, indem die order-by-Klausel auf 'n.pos' geändert wird.
__________________
mein Sport: mein Frühstück: meine Arbeit:

Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
Mit Zitat antworten
  #7 (permalink)  
Alt 29-11-2002, 10:37
gfx-freak
 Junior Member
Links : Onlinestatus : gfx-freak ist offline
Registriert seit: Nov 2002
Beiträge: 83
gfx-freak ist zur Zeit noch ein unbeschriebenes Blatt
Thumbs up

Ok! Danke Titus !!

Ich teste das mal aus und melde mich dann , nur mal ne Frage nebenbei woher kannste das so perfekt ? studierste ? ! Nochmal danke bin mal testen
Mit Zitat antworten
  #8 (permalink)  
Alt 29-11-2002, 13:41
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ähm ... im Eifer des Gefechts vergessen, die Rekursion einzubauen.
Hier ist sie:
PHP-Code:
function menu($user_id=0$parent=0$level=0)
{
  
$res mysql_query("select n.* from nav n".
    (
$user_id ', nav2userids z' '').
    
" where n.parent_id=$parent".
    (
$user_id " and z.nav_id=n.nav_id and z.user_id=$user_id" '').
    
" order by n.nav_id")
  or die (
mysql_error());
  while (
$row mysql_fetch_assoc($res))
  {
    echo (
$level str_repeat('&nbsp;'$level) : ''),
      
'- <a href="'$row['href'], '">',
      
htmlentities($row['description']), '</a><br>';
    
menu($user_id$row['nav_id'], $level+1);
  }
}
menu($user_id); 

---
edit: Parse Error korrigiert
__________________
mein Sport: mein Frühstück: meine Arbeit:

Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
Mit Zitat antworten
  #9 (permalink)  
Alt 29-11-2002, 16:18
gfx-freak
 Junior Member
Links : Onlinestatus : gfx-freak ist offline
Registriert seit: Nov 2002
Beiträge: 83
gfx-freak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mhh? Rekursion
ich hab mal was interessantes gefunden was profis und anfänger als bsp am coden unterscheidet:

Anfänger:
if($a>1) {
$b=2;
}
else {
$b=3;
}

Profi:
$b = ($a>1) ? 2:3;

und deine Programmierart ist echt schon profi like gg.
Kannste mal kurz erklären was ne Rekursion ist wär nice oder ich such einfach mal nach. Erstmal danke !! gg ich bau das ein und teste mal, über weitere Tipps würde ich mich freuen .. Danke !
Mit Zitat antworten
  #10 (permalink)  
Alt 29-11-2002, 16:23
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.776
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von gfx-freak
Profi:
$b = ($a>1) ? 2:3;
die Klammer ist unnötig !
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllGoogle Spam CheckOnline Sitemap Check
.
Mit Zitat antworten
  #11 (permalink)  
Alt 29-11-2002, 16:26
slarti
 Member
Links : Onlinestatus : slarti ist offline
Registriert seit: Jun 2002
Ort: berlin
Beiträge: 448
slarti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

recursion:
dat is ne funktion, die sich sozusagen selber wieder aufruft. super schnell, nicht sehr speicherfreundlich,
und für anfänger ziemlich gefährlich.

einfaches beispiel: potenzen berechnen:

function pow($zahl,$potenz){
if($potenz==1)return $zahl;
else return $zahl*pow($zahl,--$potenz);
}
__________________

eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùûä¶³Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");
Mit Zitat antworten
  #12 (permalink)  
Alt 30-11-2002, 01:23
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Lightbulb

Zugegeben, Rekursion verbraucht mehr Speicher; aber in diesem Fall ist es wohl vertretbar (wenn das Menü nicht allzuweit verschachtelt ist). Gefährlich wird´s nur, wenn man die Abbruch-Bedingung versaut.

Außerdem muss man (gerade als Anfänger) bei der Umwandlung eines rekursiven Algorithmus in sein iteratives Pendant extreme Vorsicht walten lassen, sonst gibt das Murks.

Drittens ist der rekursive Code meist leichter zu verstehen; das war für mich ein weiterer Grund, hier die rekursive Version zu posten.
__________________
mein Sport: mein Frühstück: meine Arbeit:

Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
Mit Zitat antworten
  #13 (permalink)  
Alt 30-11-2002, 01:41
Titus
 PHP Master
Links : Onlinestatus : Titus ist offline
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
Titus ist zur Zeit noch ein unbeschriebenes Blatt
Wink

Zitat:
Original geschrieben von gfx-freak

Profi:
$b = ($a>1) ? 2:3;
ich erweitere die Aufzählung mal:

leicht Verrückter:
function sgn($x) { return $x>0?1:$x<0?-1:0; }
$b = (int)(ceil(sgn($a-1)+0.1)*0.5+2.5);

Irrer:
switch(substr($a-1,$b=0,1)){case'-':$b--;default:$b+=3;}

PS: Wieso gibt´s in PHP eigentlich noch keine sgn-Funktion?
__________________
mein Sport: mein Frühstück: meine Arbeit:

Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
Mit Zitat antworten
  #14 (permalink)  
Alt 01-12-2002, 15:03
gfx-freak
 Junior Member
Links : Onlinestatus : gfx-freak ist offline
Registriert seit: Nov 2002
Beiträge: 83
gfx-freak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Erstmal danke an alle für die ausführlichen erläuterungen gg !
@ Titus

Irrer:
switch(substr($a-1,$b=0,1)){case'-':$b--;default:$b+=3;}


das ist irre !!
wo habt ihr das so professionell gelernt ? studiert, oder einfach nachgedacht :] ... danke alex
Mit Zitat antworten
  #15 (permalink)  
Alt 03-12-2002, 14:25
gfx-freak
 Junior Member
Links : Onlinestatus : gfx-freak ist offline
Registriert seit: Nov 2002
Beiträge: 83
gfx-freak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
function menu($user_id=0$parent=0$level=0)
{
  
$res mysql_query("select n.* from sisdb_nav n".($user_id ', sisdb_nav2userids z' '').
  
" where n.parent_id=$parent".($user_id " and z.nav_id=n.nav_id and z.user_id=$user_id" '').
  
" order by n.nav_id")or die (mysql_error()); while ($row mysql_fetch_assoc($res))
  {
  echo (
$level str_repeat('&nbsp;'$level) : ''), '- <a href=\"'$row['href']'" \">',
  
htmlentities($row['description']), '</a><br>'menu($user_id$row['nav_id'], $level+1);
  }
}
menu($user_id); 
jungz wo isn da der parse error ? muss bei href sein aber was da falsch ?!
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

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:03 Uhr.