vormerk-funktion und anderes

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • vormerk-funktion und anderes

    hi allerseits,

    zuerst mal: ich bin noch ziemlicher anfänger in php, also net lachen + ich hoffe daß mir hier jemand weiterhelfen kann !!!!

    ich hab ne mySQL Datenbank, aus der produkte nach verschiedenen Kriterien abgefragt werden.
    Auf der Ergebnisseite kann man jedes Produkt per Checkbox markieren und kommt dann wenn man den submit-button drückt auf die Bestell- bzw. Anfrageseite, wo die zuvor markierten Produkte in einer Tabelle aufgelistet werden.

    der code sieht also (gekürzt) so aus:
    Merkfunktion auf Suchergebnisseite:
    < input type='checkbox' name='Auswahl[]' value='$Nr'></td>
    echo"<input type='submit' name='Formular' value='markierte Positionen ins Anfrage/Angebotsformular übertragen' >";

    Auslesen der markierten Produkte auf nächster Seite:

    for($i=0;$i<count($_POST['Auswahl']);$i++){
    echo $_POST['Auswahl'][$i]."<br>\n";
    $erg = mysql_query("SELECT `allespalten` FROM `datenbank` WHERE `Nr`=".$_POST['Auswahl'][$i] ,$verbindung);
    while (list($Nr,$...) = mysql_fetch_row($erg))
    {
    echo"<tr>
    <input type='hidden' name='Auswahl[]' value='$Nr'>
    <td class='tabelle'>$Nr</td>
    <td class='tabelle'>$etc</td>

    So, meine 3 Probleme sind jetzt:
    1.
    ich möchte Produkte die auf der Bestell/Anfrageseite aufgelistet werden (also zuvor markiert wurden) wieder löschen können, also nach jedem Produkt soll ein Link oder Button zum Löschen sein.
    dabei sollen die Produkte nat. nicht aus der Datenbank sondern nur aus der "Merkliste" gelöscht werden !

    2.
    dann ist ein weitere größeres problem, daß ich die ganze Sache nicht mit session ids oder so programmiert hab;
    es gibt nämlich mehrere produktseiten, auf jeder kann man per checkbox produkte für die Anfrageseite vormerken. Sobald man aber produkte markiert hat, muss man am Ende der Seite auf den Button "vormerken" klicken und kommt dann gleich auf die Anfrageseite, man kann also nicht zwischen verschiedenen Produktseiten hin- und herwechseln und am Ende eine Anfrage zu den u.U. auf mehreren Seiten vorgemerkten Produkten stellen.

    ich hab keine ahnung wie das mit session cookies oder wie auch immer funktioniert, daher meine frage ob es sehr umständlich wäre, meine bereits bestehende merkfunktion so zu erweitern ?

    3.
    ein "schönheitsfehler" in der Tabellenausgabe:
    bei meiner db-abfrage werden immer mehrspaltige/zeilige Tabellen mit verschiedenen Hintergrundfarben pro Spalte ausgegeben.
    bei Netscape 4.x werden aber leere Tabellenfelder nicht mit der jeweils definierten Hintergrundfarbe ausgefüllt sondern bleiben weiß/transp., logischerweise siehts nicht sehr schön aus, wenn die tabelle so zerpflückt wird...

    also: wie kann ich die Tabellenausgabe so steuern, daß für jedes leere Feld der Datenbank bei der html-ausgabe ein &nbsp; oder Bindestrich oder irgendwas generiert wird, damit jedenfalls der Hintergrund in diesem Feld auch angezeigt wird ?

    ok, das wars vorerst
    wäre seeeeeehr dankbar für alle tips !!!!

    cu,
    ju

  • #2
    Hallo

    Betr. dem weiterschaufeln der Bestellungen. Die professionelle Lösung wäre sicher session&cookies&al. Habe mich bisher erfolgreich darum gedrück

    Untenstehende Lösung ist eher Gebastel, funktioniert aber auch.

    Du hast deine Seiten, wo man die Artikel wählen kann. Diese sendest du weiter mit submit.
    Auf der nächsten Seite kannst du diese nochmals auflisten und daneben eine Checkbox, die (vorbelegt) angehakt ist, anlegen. Will man den Artikel nicht, ist die entspr. Checkbox dieser Zeile zu "unchecken". Damit sendest du die Artikel dann weiter, wieder mit submit.
    Die Checkboxen kannst du ähnlich wie deine Konstruktion oben anlegen:
    ...
    echo"<tr>
    <input type='hidden' name='Auswahl[]' value='$Nr'>
    <td class='tabelle'>$Nr</td>
    ...

    Um über mehrere Artikelseiten zu navigieren und um dort zusätzliche Artikel zu bestellen, kannst du mit serialize() / unserialize() arbeiten. Das geht m.E. solange du nur die IDs der Artikel (als ZAHLEN) von Seite zu Seite weitergibst.
    Du gibst also nur den array mit den IDs der Artikel zwischen den Seiten weiter, die Auflistung, was es ist usw. musst du jedesmal mit einem select aus der DB holen.

    mfg

    Kommentar


    • #3
      merci..

      hi du

      dankschee schonmal für deine antwort !
      ich blicks noch net so ganz, werds aber probieren und mich (sicher) wieder melden, falls ich net weiterkomm :-)
      kannst du vielleicht das mit dem serialize() / unserialize() bisserl ausführlicher erklären, ich hab keine ahnung wie ich da ansetzen soll..?
      wär echt nett

      cu,
      ju

      Kommentar


      • #4
        Die Artikelnummern gibst du in Form von arrays weiter. Damit diese von Seite zu Seite geschaufelt werden können als EINE variable musst du jeweils den array mit den Artikelnummern vor dem submit mit serialize() "packen" und auf der nächsten Seite mit unserialize() wieder auspacken (damit du die Werte einzeln wieder in array-Form hast).
        mfg

        Kommentar

        Lädt...
        X