php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-06-2007, 17:26
HiddenX
 Newbie
Links : Onlinestatus : HiddenX ist offline
Registriert seit: Jun 2007
Beiträge: 5
HiddenX ist zur Zeit noch ein unbeschriebenes Blatt
Standard 200 Formulardaten auf mehrere Seiten

Hallöle,

ich habe folgendes Problem:

Ich erstelle gerade eine Seite über die man Fotos bestellen kann.
(Tabelle: Thumbnail, Bildinfo, Formularfeld in das man die Bestellmenge einträgt.)
Das können leicht mal über 200 Fotos sein, die hier angeboten werden sollen.
Durch die Thumbnails entstehen dann natürlich entsprechende Ladezeiten, die ich gern minimieren möchte.
Mein Ansatz wäre, immer nur 20 Fotos pro Seite anzuzeigen. So weit bin ich jetzt auch.

Das eigentliche Problem: Natürlich werden nur von der jeweils letzten Seite die Bestellmengen übernommen, weil erst hier die Formulardaten verschickt werden.
Vorher blättere ich immer mit einem Link, der auf phpself?x=seitennummer verweist.

Wie würdet ihr das angehen?
Vermutlich müsste ich den Submit-Button auch zum "blättern" verwenden und erst nach der letzten Seite auswerten, oder?
Und dann die Daten pro Seite jeweils zwischenspeichern?
Dann würde sich wieder die Frage stellen, ob ich in der DB in einer Temp-Tabelle zwischenspeichere (schlecht bei gleichzeitigem Zugriff) oder in ein Array (kompliziert das über die Seiten zu "retten").

Bin für jeden Denkanstoss dankbar, vielleicht gibt es auch eine ganz einfache Lösung an die ich noch nicht gedacht habe.

Dann habe ich noch was, was mit obigem Problem nichts zu tun hat:
Das Seitenlayout wird über Tabellen "gestrickt".
Bei IE sieht das auch gut aus, bei Opera und Firefox habe ich doppelte Rahmen, die ich mir nicht erklären kann.
Ich habe eine externe Stylesheet, in der definitiv nur jeweils <td> einen Rahmen hat und - wie gesagt - IE zeigt auch das gewünschte Ergebnis.
Hat hier ganz spontan noch jemand eine Idee?

Merci schon mal
Carsten
Mit Zitat antworten
  #2 (permalink)  
Alt 04-06-2007, 17:50
Husti
 Junior Member
Links : Onlinestatus : Husti ist offline
Registriert seit: Jan 2003
Ort: Fischkoppland
Beiträge: 130
Husti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich glaub, du sitzt z.T. im falschen Foren-Bus.
Dein kleines Shop-System sollte den Warenkorb - egal auf welcher Seite - in einer db speichern. Dann kann der User blättern wie er lustig ist.

Zum Thema "umblättern" oder pagination gibts ne Menge guter Sachen, wenn man danach sucht.

Deine Tabellenrahmen könnten evtl. durch fehlende Angaben zu border, padding und spacing herrühren? Das kann aber nur dein code oder die Kristallkugel zeigen.
__________________
Und ist man alt wie ein Kuh, lernt man immer noch dazu.
THX, LOL, ROFL & Co. -> Netzjargon auf Wikipedia
Mit Zitat antworten
  #3 (permalink)  
Alt 04-06-2007, 20:20
HiddenX
 Newbie
Links : Onlinestatus : HiddenX ist offline
Registriert seit: Jun 2007
Beiträge: 5
HiddenX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Husti
Ich glaub, du sitzt z.T. im falschen Foren-Bus.
Dein kleines Shop-System sollte den Warenkorb - egal auf welcher Seite - in einer db speichern. Dann kann der User blättern wie er lustig ist.

Zum Thema "umblättern" oder pagination gibts ne Menge guter Sachen, wenn man danach sucht.

Deine Tabellenrahmen könnten evtl. durch fehlende Angaben zu border, padding und spacing herrühren? Das kann aber nur dein code oder die Kristallkugel zeigen.
Sitze ich wirklich im falschen Bus?
Nicht das umblättern ist mein Problem - das bekomme ich schon hin - das Problem sehe ich schon eher auf der HTML-Seite:
Wie bekomme ich durch reines Umblättern die Daten aus den Formularfelden?
Nur durch drücken von Submit oder gibt es noch eine andere Möglichkeit?
Mit Zitat antworten
  #4 (permalink)  
Alt 04-06-2007, 21:57
Husti
 Junior Member
Links : Onlinestatus : Husti ist offline
Registriert seit: Jan 2003
Ort: Fischkoppland
Beiträge: 130
Husti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Woher kommen deine Daten - statisch aus dem code oder dynamisch aus einer Datenbank?
Wie auch immer - jeder Artikel muss die Chance haben, als Bestellung (zwischen)gespeichert zu werden - egal auf welcher Seite.
Jeder Artikel benötigt also 1 Formular.
Wohin der "kleine Warenkorb" gespeichert werden soll, ist auch ganz interessant.
Erst wenn das geklärt ist, kann geblättert werden.
__________________
Und ist man alt wie ein Kuh, lernt man immer noch dazu.
THX, LOL, ROFL & Co. -> Netzjargon auf Wikipedia
Mit Zitat antworten
  #5 (permalink)  
Alt 04-06-2007, 22:18
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wieso schreibst du sie nicht in die Session?
__________________
ich glaube
Mit Zitat antworten
  #6 (permalink)  
Alt 04-06-2007, 22:34
HiddenX
 Newbie
Links : Onlinestatus : HiddenX ist offline
Registriert seit: Jun 2007
Beiträge: 5
HiddenX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Husti
Woher kommen deine Daten - statisch aus dem code oder dynamisch aus einer Datenbank?
Wie auch immer - jeder Artikel muss die Chance haben, als Bestellung (zwischen)gespeichert zu werden - egal auf welcher Seite.
Jeder Artikel benötigt also 1 Formular.
Wohin der "kleine Warenkorb" gespeichert werden soll, ist auch ganz interessant.
Erst wenn das geklärt ist, kann geblättert werden.
- Weder noch Ich lese aus einem Verzeichnis die Dateinamen der Thumbnails aus und liste sie auf der Seite untereinander auf.
- Was bis jetzt völlig problemlos funktioniert ist alle 200 Fotos auf einer Seite aufzulisten und die Formulardaten - in dem Fall die zu bestellende Anzahl - in ein Array zu schreiben: (<input name='text[]'...>) Ich brauche also nicht für jeden Artikel eine Seite.
- letztendlich wird natürlich alles in einer DB gespeichert.

Aber ich glaube allein das ausformulieren hier hat mich schon zu einem Lösungsansatz gebracht:

- Verzeichnis komplett auslesen, alle Dateien von min bis max anzeigen (min=0, max=09, also 10 Stück)
- Submit-Button ruft über PHPSELF das selbe Formular auf und überträgt die Formulardaten (Bestellmengen-Array) + einen Zähler, dass momentan 10 Dateien angezeigt sind
- Am Anfang des Scripts prüfe ich, ob der Zähler gesetzt ist- falls ja, wird der Zähler, der min und der max Wert um 10 erhöht und das Bestellmengen-Array entweder in ein Sammel-Array geschrieben (wobei es immer ein bisschen "fummelig" ist so ein Array wieder durch die späteren Seitenaufrufe zu bekommen - hier wäre mein Ansatz array serializen und per hidden-field posten oder eine Session anlegen) oder in eine temporäre Tabelle zu schreiben.
(Hier wäre mein Problem dann die Möglichkeit, dass zwei gleichzeitige Zugriffe zum Crash führen würden. Lösungsansatz: Tabellename ist Zeitstempel und Tabellenname wird für spätere Zugriffe in der Session gespeichert?)
- nächster Submit blätter weiter ...
- Submit auf letzter Seite führt erst die eigentliche Bestellung bzw. Prüfung aus. (Wobei hier wieder die Frage wäre, woher weiss ich, wann ich auf der letzten Seite bin?)

Aber prinzipiell bin ich jetzt auf dem richtigen Weg, oder?
Mit Zitat antworten
  #7 (permalink)  
Alt 05-06-2007, 10:11
Husti
 Junior Member
Links : Onlinestatus : Husti ist offline
Registriert seit: Jan 2003
Ort: Fischkoppland
Beiträge: 130
Husti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Der Weg ist nach meiner bescheidenen Meinung nach ok.

Wenn Du nicht jeden Tag deinen Fotobestand gravierend veränderst, schreib doch ein festes Produkt-array in eine .inc. Ansonsten muss dein Server jedes mal dein Img-Verzeichnis aufs neue durchforsten.

Das Array wird entsprechend der anzuzeigenden Artikel je Seite - auf der aktuellen Siete ausgegeben.
Kleine Mathematik, auf Seite 4 von 200 Artikel bei max. 20/Seite das array anzusprechen und den entsprechenden Bereich darzustellen.

ministry hat den Tip mit sessions gegeben. Geh davon aus, dass mehr als 2 Jockels unbedingt gleichzeitig deine Fotos kaufen.

Halt dich nicht an deiner letzten Seite fest. Kein user lässt sich "zwingen" alle deine 200 Fotos durchzublättern, um bei dir endlich für Umsatz sorgen zu dürfen.
Warenkorb bestücken und direkt an die Kasse muss immer und überall möglich sein.
__________________
Und ist man alt wie ein Kuh, lernt man immer noch dazu.
THX, LOL, ROFL & Co. -> Netzjargon auf Wikipedia
Mit Zitat antworten
  #8 (permalink)  
Alt 05-06-2007, 12:49
HiddenX
 Newbie
Links : Onlinestatus : HiddenX ist offline
Registriert seit: Jun 2007
Beiträge: 5
HiddenX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Husti
Der Weg ist nach meiner bescheidenen Meinung nach ok.

Wenn Du nicht jeden Tag deinen Fotobestand gravierend veränderst, schreib doch ein festes Produkt-array in eine .inc. Ansonsten muss dein Server jedes mal dein Img-Verzeichnis aufs neue durchforsten.

Das Array wird entsprechend der anzuzeigenden Artikel je Seite - auf der aktuellen Siete ausgegeben.
Kleine Mathematik, auf Seite 4 von 200 Artikel bei max. 20/Seite das array anzusprechen und den entsprechenden Bereich darzustellen.

ministry hat den Tip mit sessions gegeben. Geh davon aus, dass mehr als 2 Jockels unbedingt gleichzeitig deine Fotos kaufen.

Halt dich nicht an deiner letzten Seite fest. Kein user lässt sich "zwingen" alle deine 200 Fotos durchzublättern, um bei dir endlich für Umsatz sorgen zu dürfen.
Warenkorb bestücken und direkt an die Kasse muss immer und überall möglich sein.
- Der Fotobestand ändert sich immer. Es ist nicht so, dass ich fix 200 Fotos anbieten möchte, sondern jeder Kunde hat die Möglichkeit nach dem Fotoshooting seine Fotos über's Netz vorab schon mal anzuschauen und eine Auswahl zu treffen. Des weiteren kann er seinen Login an Verwandte/Bekannte weitergeben und die können auch bestellen.
Der Bestand variiert also extrem pro Kunde. Es können mal nur 10 Fotos sein aber der Extremfall von 200 oder mehr kann genauso vorkommen.
Deshalb kopiere ich immer erst die Bilder in's Verzeichnis und lese sie dann aus.
Und genau deshalb halte ich mich auch an der letzten Seite fest. Ich gehe schon stark davon aus, dass jeder seine Bilder komplett anschaut, bevor er letztendlich die Bestellung abschickt.

Geändert von HiddenX (05-06-2007 um 13:02 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 05-06-2007, 13:31
Husti
 Junior Member
Links : Onlinestatus : Husti ist offline
Registriert seit: Jan 2003
Ort: Fischkoppland
Beiträge: 130
Husti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok - dann macht das einmalige Auslesen der Bildordner Sinn.
Du hast also nicht nur x Fotos, sondern x Galerien mit x Fotos in Abhängigkeit vom eingeloggten Kunden.
Der Login kann parallel von Bekannten, Freunden etc. auch gleichzeitig genutzt werden.
Die Bestellung erolgt definitiv erst auf der letzten Seite.

- max anzuzeigende Fotos/Seite festlegen
- Bildpfad festlegen

Auf Seite 1:
- eindeutige Session zuweisen
- Fotobezeichnungen in Array
- Bestellung in Array
- Fotobestand von Startfoto bis max anzuzeigende Fotos/Seite
- Hidden fields belegen

Auf FolgeseitenO
- Session prüfen
- Fotobestand von hochgezählten Startfoto bis max anzuzeigende Fotos/Seite
- Bestellung in Array
- Prüfung auf letzte Seite anhand des max angezeigten Fotos
- Hidden fields belegen

Auf letzter Seite
- Bestellung aus Array listen
- Bestelldaten aufnehmen
- versenden
- Session beenden
__________________
Und ist man alt wie ein Kuh, lernt man immer noch dazu.
THX, LOL, ROFL & Co. -> Netzjargon auf Wikipedia
Mit Zitat antworten
  #10 (permalink)  
Alt 05-06-2007, 17:03
HiddenX
 Newbie
Links : Onlinestatus : HiddenX ist offline
Registriert seit: Jun 2007
Beiträge: 5
HiddenX ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sehr gut zusammengefasst!

Manchmal hilft es einfach über etwas zu reden, wo man sich vorher drin verrannt hat.
Ich versuche das jetzt mal so- vielen Dank erst mal!
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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

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