Ankündigung

Einklappen
Keine Ankündigung bisher.

Buttons zum erhöhen, verkleinern

Einklappen

Neue Werbung 2019

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

  • Buttons zum erhöhen, verkleinern

    Hallo,
    habe da ein Problem undzwar programmiere ich eine Datenbank wo der Bestand von etwas angezeigt wird etc.
    Nun will ich in einer Tabelle 2 Buttons haben mit denen man die bestandszahl um 1 erhögen bzw. verkleinern kann.


    PHP-Code:
    $result mysql_query("SELECT * FROM Test_Excel_Mysql WHERE ID = $ID");
                
    $row mysql_fetch_array($result) ;


    echo
    " <td style=\"width:100px;color: rgb(125,125,125) ;\"> Bestand: </td><td style=\"width:100px;\">".$row[9]."</td><td style=\"width:60px;\"></td> 
    Ich denke das sind die wichtigsten Zeilen dafür, also ich habe die auslese des bestands über den fetch array befehl (wobei hier $row[9] den Bestand des zuvor angewählten Artikels ausgibt. Die $ID wird von der vorherigen Seite übergeben damit er weiß welchen Bestand er anzeigen soll.
    Gleichzeitig soll er wenn man die Bestandszahl mit den Buttons geändert hat den Wert wieder in die Mysql Datenbank schreiben und speichern.

    Nun meine frage geht es überhaupt mit php oder eher mit Js (wovon ich noch weniger ahnung hab :P) und wenn ja bräuchte ich nen paar Denkansätze

    Danke

  • #2
    Ja, das geht mit PHP!

    Du brauchst dazu ein Formular, über das du nach dem Absenden die ID des Datensatzes und eine Information darüber erhälst, ob der entsprechende Wert erhöht oder verkleinert werden soll. Diese Info kannst du z.B. aus den Namen der Buttons ziehen.
    [URL]http://hallophp.de[/URL]

    Kommentar


    • #3
      What?

      Ich steig noch nich ganz durch

      Ums einfacher erklären zu können hab ich ma ne ganz einfache test seite gemacht:

      PHP-Code:
      <?php
      $bestand
      =100;

      echo 
      "    <table border=\"1\">
              <tr>
              <td><input type=\"submit\" value=\"+\" style=\"font-size:80% ; width:15px ; background: lightblue;border-color:grey;\">"
      .$bestand."<input type=\"submit\" value=\"-\" style=\"font-size:80% ; width:15px ; background: lightblue;border-color:grey;\"></td>
              </tr>
              </table>"
      ;
      ?>
      Hier soll jetzt mit dem klick auf den "+" Button die variable
      PHP-Code:
      $bestand 
      um 1 erhöht werden ( mit klick auf den "-" Button verringert)

      Kommentar


      • #4
        Mir ist schon klar, was du machen möchtest, allerdings scheinen dir einige Grundlagen zu fehlen, um dein Problem lösen zu können! Zum Beispiel musst du den Buttons einen Namen geben, um sie auswerten zu können.

        http://www.php.de/php-einsteiger/489...nsammlung.html

        Gruß
        [URL]http://hallophp.de[/URL]

        Kommentar


        • #5
          Auslesen:
          PHP-Code:
          <?php
          while ($row mysql_fetch_ ...) {
          echo
            
          '<a href="update.php?id="' $row["ID"] . '&bestand=1">+</a>',
            
          '<a href="update.php?id="' $row["ID"] . '&bestand=-1">-</a>';
          }
          ?>
          Wert setzen:
          PHP-Code:
          <?php
          $id 
          = (int)$_GET["id"];
          $hochzaehlen $_GET["id"] > 0;
          if (
          $hochzaehlen) {
            
          $sql "UPDATE tabelle SET bestand = bestand + 1 WHERE id = $id";
          } else {
            
          $sql "UPDATE tabelle SET bestand = bestand - 1 WHERE id = $id";
          }
          mysql_query($sql);
          ?>
          So das ist das Grundprinzip. Nun hast du aber eine Weiterleitung auf update.php und müsstest nun zurück. Dafür musst du dir die vorherige URL merken und dann wieder darauf zurück weiterleiten (header).

          Viel eleganter ist das mit AJAX möglich, da musst du dich aber schon selbst einarbeiten.
          "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

          Kommentar

          Lädt...
          X