php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 29-08-2003, 11:19
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard verschachtelte templates

da ich nicht so richtig weiss wohin damit, hau ichs mal hier rein.

wie der titel schon sagt, gehts um verschachtelte templates.

folgender hintergrund:
- es existiert eine struktur auf artikel-/templatebasis
- bislang werden die artikel auf einer seite untereinander dargestellt
- 1-n artikel = seiteninhalt

soweit so gut. nun möchte ich als add-on eine möglichkeit einfügen,
2-x artikel in einem template nebeneinader darzustellen. der aufbau der
seite sähe dann so aus:

*artikel1*
*artikel2* | *artikel3*
*tabelle*
*artikel*

zu diesem zweck hab ich folgendes gecodet (versuchsweise)
PHP-Code:
<pre>
<?
/*
CREATE TABLE artikel (
  id int(11) NOT NULL auto_increment,
  menuid int(11) NOT NULL default '0',
  pos tinyint(4) NOT NULL default '0',
  typ varchar(10) NOT NULL default '',
  tpl tinyint(4) NOT NULL default '0',
  text varchar(30) NOT NULL default '',
  PRIMARY KEY  (id),
  KEY id (id)
) TYPE=MyISAM;

#
# Daten für Tabelle `artikel`
#

INSERT INTO artikel VALUES (1, 1, 1, 'art', 101, '1.artikel');
INSERT INTO artikel VALUES (2, 1, 5, 'tab', 0, 'tabelle');
INSERT INTO artikel VALUES (3, 1, 3, 'art', 102, '2.artikel');
INSERT INTO artikel VALUES (4, 1, 4, 'art', 105, '3.artikel');
INSERT INTO artikel VALUES (5, 2, 1, 'art', 101, '1.artikelmenu2');
# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `schachtel`
#

CREATE TABLE schachtel (
  sid int(11) NOT NULL default '0',
  menuid int(11) NOT NULL default '0',
  artid int(11) NOT NULL default '0',
  spos tinyint(4) NOT NULL default '0',
  stpl tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (sid),
  UNIQUE KEY artid (artid),
  KEY sid (sid)
) TYPE=MyISAM;

#
# Daten für Tabelle `schachtel`
#

INSERT INTO schachtel VALUES (1, 1, 4, 1, 127);
INSERT INTO schachtel VALUES (2, 1, 1, 1, 127);
*/

$conn mysql_connect($server$user$pass);
$select mysql_select_db($dbank,$conn);

$menuid 1;
                                                      
// artikel und schachtel sind über die artikel-id verbunden
$result mysql_query("select a.*, s.* 
FROM artikel a LEFT JOIN schachtel s ON a.id = s.artid 
WHERE a.menuid="
.$menuid." ",$conn) or die(mysql_error());
while(
$row mysql_fetch_array($result,MYSQL_ASSOC))
{
    
$ausgabe[] = $row;
    if(!empty(
$row['spos']))                          // hilfsarray zur sortierung aufbauen
    
{
        
$sorter[] = array($row['id'],$row['spos'],"s");   // die position aus schachtel toppt die
    
}                                                     // position aus artikel
    
else
    {
        
$sorter[] = array($row['id'],$row['pos'],"n");
    }
}
foreach(
$sorter as $v) {$s0[]=$v[1]; $s1[]=$v[0]; }   // sortierschlüssel erstellen

print_r($sorter);                                     // ausgabe unsortiert
array_multisort($s0SORT_ASCSORT_REGULAR$s1SORT_ASCSORT_REGULAR,$sorter);
print_r($sorter);                                     // ausgabe sortiert nach position und
                                                      // (falls doppelte spos) nach artikelid
                                                      // innerhalb von spos


/* ab hier gehen beide arrays in eine funktion und basteln die seite
in der reihenfolge, wie $sorter die position einzelner artikel vorgibt */
?>
</pre>
das ganze berücksichtigt im moment noch nicht, dass auf einer seite
mehrfach verschachtelte templates auftauchen können, wäre aber auch
kein problem.

nun zu meinen fragen:
- ist das generell ein schlauer ansatz, das so ^^ anzugehen?
- lässt sich der code noch optimieren?
__________________
Kissolino.com
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 29-08-2003, 12:52
schmalle
  Ich Root, Du nix
Links : Onlinestatus : schmalle ist offline
Registriert seit: Jun 2001
Ort: Egelsbach FFM
Beiträge: 9.170
schmalle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmm, am code hab ich nix zu meckern. da hab ich speziell in den letzten tagen ganz andere sachen gesehen

von diesem aufbau:

*artikel1*
*artikel2* | *artikel3*
*tabelle*
*artikel*

bin ich jedoch nicht überzeugt! male nebeneinander und mal nicht. hört sich nach kauderwelsch an

ps wenn ich richtig lageweile hab, stelle ich auch mal ne blöde frage
__________________
h.a.n.d.
Schmalle

http://impressed.by
http://blog.schmalenberger.it



Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
... nur ohne :-)
Mit Zitat antworten
  #3 (permalink)  
Alt 29-08-2003, 13:00
BloodReaver
 Master
Links : Onlinestatus : BloodReaver ist offline
Registriert seit: Feb 2003
Ort: Rechts der Pegniz
Beiträge: 884
BloodReaver ist zur Zeit noch ein unbeschriebenes Blatt
BloodReaver eine Nachricht über AIM schicken BloodReaver eine Nachricht über Yahoo! schicken
Standard

ich versteh net ganz nach was sich das richtet obs nebeneinander oder untereinander is... kann man das wählen?!

oder wie? *grübel*

@code warum nicht?
__________________
Man lernt nie aus...

...und wenn man's doch tut braucht man sich auch nicht schämen!
Mit Zitat antworten
  #4 (permalink)  
Alt 29-08-2003, 13:09
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

keiner versteht mich

sinn und zweck der übung soll folgendes sein:

nimm z.b die startseite von spiegel.de
- dort sind auf der seite 10 artikel als teaser eingebaut
- wichtige artikel stehen einspaltig im zentralen bereich
- weniger wichtige werden 2-3 spaltig im zentralen bereich eingebunden
- das ganze wird munter durcheinandergewirbelt
- links noch ne navi dazu, header & footer dran und raus damit

eben so:
*___artikel1______*
*artikel2* | *artikel3*
*___tabelle_______*
*___artikel4______*
*artikel2* | *artikel3*

ich hoffe sinn und zweck ist klarer.

@bloodreaver
jeder artikel hat eine position, die die reihenfolge bestimmt.
die tabelle schachtel nimmt nun die ids der artikel auf, die zusammen
(=nebeneinander) dargestellt werden sollen; wiederum mit einer position.
die schachtel-pos ist der artikel-pos übergeordnet, in den beispieldaten
kommt erst der zweispaltige, dann die einspaltigen untereinander.
__________________
Kissolino.com
Mit Zitat antworten
  #5 (permalink)  
Alt 29-08-2003, 13:29
BloodReaver
 Master
Links : Onlinestatus : BloodReaver ist offline
Registriert seit: Feb 2003
Ort: Rechts der Pegniz
Beiträge: 884
BloodReaver ist zur Zeit noch ein unbeschriebenes Blatt
BloodReaver eine Nachricht über AIM schicken BloodReaver eine Nachricht über Yahoo! schicken
Standard

bin ich etz so dumm?!

also ich seh bei spiegel online in der mitte nur artikel die untereinander stehen... und rechts sind nochma so exklusiv teile...

meinst du vielleicht die teile rechts?!
__________________
Man lernt nie aus...

...und wenn man's doch tut braucht man sich auch nicht schämen!
Mit Zitat antworten
  #6 (permalink)  
Alt 29-08-2003, 13:54
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

arrgh ... vor ein paar jahren sah das noch anders aus

ok, hab mal ne zeichnung gemacht


es geht um das rote.
__________________
Kissolino.com
Mit Zitat antworten
  #7 (permalink)  
Alt 29-08-2003, 14:11
BloodReaver
 Master
Links : Onlinestatus : BloodReaver ist offline
Registriert seit: Feb 2003
Ort: Rechts der Pegniz
Beiträge: 884
BloodReaver ist zur Zeit noch ein unbeschriebenes Blatt
BloodReaver eine Nachricht über AIM schicken BloodReaver eine Nachricht über Yahoo! schicken
Standard

hm jo aber das find ich gibt bissl chaos... aber warum schreibst du den net einfach alle untereinander? weil das eine is nach unten länger, das andere breiter... der text wird ja deshalb net weniger...

was hat das den für nen vorteil auser das man en extra script für braucht?
__________________
Man lernt nie aus...

...und wenn man's doch tut braucht man sich auch nicht schämen!
Mit Zitat antworten
  #8 (permalink)  
Alt 29-08-2003, 14:31
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

dann meinst du wahrscheinlich nicht templates, sondern sowas wie Container (den Begriff kenne ich dafür)!

du teilst die seite folgendermaßen auf:

Code:
[                   container1                   ]
[container2]       [container3]        [container4]
                                      [container5]
                                      [container6]
[                   container7                   ]
in die verschiedenen Container kannst du jetzt verschiedene Module reinsetzen.

als Beispiel:
Container1: Header (Grafik, etc.)
Container2: Menü
Container3: Ausführliche News, etc...
Container4: Login
Container5: Poll
Container6: Aktuelle News (RSS Feed, oder was weiß ich was)
Container7: Footer

sowas in der art meinst du ?

gruss
Mit Zitat antworten
  #9 (permalink)  
Alt 29-08-2003, 16:02
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@MoRtAlAn
äh, nö ... die verteilung, die ich will/bekomme bezieht
sich nur auf deinen "container3" (s. mein image, der rote bereich ^^).

ich versuchs nochmal anhand eines beispiels

der inhalt meiner startseite besteht aus:
:: navigation [links] => unwichtig
:: inhalt [mitte]
:: shortnews, login, ... [rechts] => unwichtig

der inhalt setzt sich (z.B.) aus 5 artikeln/tabellen zusammen
(aber bleiben wir bei den artikeln)

ein artikel-template sieht z.B. so aus
Code:
<table><tr><td>{bild}</td><td>{titel}<br /r>{text}</td></tr></table>
ein "verschachtelter" artikel baut auf so einem template auf:
Code:
<table><tr><td>{art1}</td><td>& nbsp;</td><td>{art2}</td></tr></table>
{art1}/{art2} werden dann durch je einen artikel ersetzt. das ergebnis
wäre dann:
Code:
<div>
<!-- einzelartikel -->
<table width=100% border=0><tr><td>MeinBild1</td><td>Titel1<br /r>Text1</td></tr></table>

<!-- einzelartikel -->
<table width=100% border=0><tr><td>MeinBild2</td><td>Titel2<br /r>Text2</td></tr></table>

<!-- doppelartikel -->
<table width=100% border=0><tr><td>
&nbsp;&nbsp;&nbsp;<table width=100% border=0><tr><td>MeinBild3</td><td>Titel3<br /r>Text3</td></tr></table>
</td><td>& nbsp;</td><td>
&nbsp;&nbsp;&nbsp;<table width=100% border=0><tr><td>MeinBild4</td><td>Titel4<br /r>Text4</td></tr></table>
</td></tr></table>

<!-- einzelartikel -->
<table width=100% border=0><tr><td>MeinBild5</td><td>Titel5<br /r>Text5</td></tr></table></div>
jetzt verständlicher?
__________________
Kissolino.com
Mit Zitat antworten
  #10 (permalink)  
Alt 29-08-2003, 16:24
BloodReaver
 Master
Links : Onlinestatus : BloodReaver ist offline
Registriert seit: Feb 2003
Ort: Rechts der Pegniz
Beiträge: 884
BloodReaver ist zur Zeit noch ein unbeschriebenes Blatt
BloodReaver eine Nachricht über AIM schicken BloodReaver eine Nachricht über Yahoo! schicken
Standard

und wo is problem? dann hast du doch alles? wir ham dir gesagt das wirs unübersichtlich finden und das der code so passt... frage erfüllt...
__________________
Man lernt nie aus...

...und wenn man's doch tut braucht man sich auch nicht schämen!
Mit Zitat antworten
  #11 (permalink)  
Alt 29-08-2003, 16:33
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie definierst du, welche Artikel nebeneinander kommen und welche nicht ??

dann meinen wir trotzdem dasselbe

dann machst du aus meinem Container3

[container3-1][container3-2]
[container3-3]

oder wie du auch immer willst!

mußt halt für jeden Container sagen, wo er den Content herbekommt!

gruss
Mit Zitat antworten
  #12 (permalink)  
Alt 29-08-2003, 16:57
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: verschachtelte templates

@blood
Zitat:
nun zu meinen fragen:
- ist das generell ein schlauer ansatz, das so ^^ anzugehen?
- lässt sich der code noch optimieren?
nur zur erinnerung
von übersichtlich oder nicht war erstmal keine rede

@mortalan
artikel, die nebeneinander stehen werden in der tabelle "schachtel"
definiert

sid | menuid | artikelid | spos | tpl
1 | 1 | 4 | 1 | 127
2 | 1 | 1 | 1 | 127
3 | 1 | 6 | 5 | 123
4 | 1 | 8 | 5 | 123
5 | 1 | 3 | 5 | 123

- hierarchie:
:: alle mit derselben menuid => erscheinen auf der selben seite
:: spos entscheidet in welcher reihenfolge sie kommen => hier an 1. & 5. position (2,3,4 wären einzelartikel)
:: spos entscheidet auch welche artikel zusammen in einen "container" kommen (gleiche spos => selber container)
:: sid ist (im moment) der sortierschlüssel für die reihenfolge quer von links nach rechts
=> das muss ich noch ändern für ein "edit" (ist noch autoincrement)

mein ziel ist es eigentlich, in der ausgabe die zahl der db-abfragen zu reduzieren ... bin aber nicht sicher, wie schlau das ist?
__________________
Kissolino.com
Mit Zitat antworten
  #13 (permalink)  
Alt 29-08-2003, 17:25
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sollte auch in einer Abfrage gehen!

die Abfrage richtet sich aber stark danach, wie dynamisch die verschachtelung sein soll!

kann es vorkommen, dass mal nur verschachtelte Artikel kommen, oder nur normale ?
Oder ist es immer das gleiche?

je nachdem, wird auch die Programmlogik komplexer!

gruss
Mit Zitat antworten
  #14 (permalink)  
Alt 29-08-2003, 17:33
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

genau da hat der frosch die locken

1. ja, es soll möglich sein seiten
- nur mit
- ohne
- kunterbund gemischt
aufzubauen

2. nein, die positionen (damit das layout) sind immer unterschiedlich aber nicht zufällig

3. prinzipiell sollen 2- bis n-spaltige container möglich sein (zusammenfassung über "spos")

*endlich versteht mich einer *
__________________
Kissolino.com
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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:56 Uhr.