bestimmten datensatz auslesen ...

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

  • bestimmten datensatz auslesen ...

    bin gerade dabei, mir einen kleinen shop zu programmieren, leider noch mit einigen fehlern. beim SELECT des Datensatzes wird nicht der betreffende, sondern immer der allererste in den warenkorb gelegt, wer kann mal helfen.

    $result = mysql_query("SELECT * FROM artikel_teedesign");

    $numres = mysql_num_rows($result);
    $num = mysql_num_rows($result);
    while ($myrow = mysql_fetch_array($result)) {


    while ($myrow = mysql_fetch_array($result)) {
    if(isset($bestellen))

    {

    mysql_query("INSERT INTO artikel_teebestellung (rubrik,artnummer,artname,farbe,arttext,menge,preis) VALUES ('$myrow[1]','$myrow[2]','$myrow[3]','$myrow[4]','$myrow[5]','$menge','$myrow[7]')");

    echo "<td colspan='8'><div align='right'><b>Artikel '$myrow[3]' in den Warenkorb gelegt ...</b></td>";

    }

  • #2
    Du liest auch alle Datensätze aus der Tabelle artikel_teedesign aus. Um bestimmte Datensätze auszulesen gibt es die WHERE Bedingung...
    Siehe hier:
    http://www.mysql.de/doc/de/SELECT.html
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      daten auslesen

      hallo, die datensätze werden alle aus der artikel_teedesign tabelle ausgelesen und auf der seite angezeigt. nun wenn ich aber dann einen bestimmten auf der seite anklicke, um ihn in den warenkorb zu legen, ist es immer der erste. schaue vielleicht mal auf der seite direkt nach, danke.

      http://www.kuechenplanung24.de/serviette/index.php

      Kommentar


      • #4
        Re: daten auslesen

        Original geschrieben von webviper
        schaue vielleicht mal auf der seite direkt nach, danke.
        das der von deinem script erzeugte html-code sehr sehr wenig über den fehler in deinem script aussagen kann, sollte doch wohl einleuchten.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hmm, ehrlich gesagt, habe ich im Moment keinen Plan, warum du vor dem INSERT überhaupt ein SELECT machst.

          In deinem Formular hast du doch die erforderlichen Werte drinstehen.
          Dann müsste das auch nur noch so aussehen:
          PHP-Code:
          mysql_query("INSERT INTO artikel_teebestellung (rubrik,artnummer,artname,farbe,arttext,menge,preis) VALUES ('$rubrik','$artnummer','$artname','$farbe','$arttext','$menge','$preis')"); 
          Wenn ich richtig gesehen habe, wird über dein Formular lediglich der arttext nicht übergeben. Den müsstest du noch einbauen, oder weglassen, oder vorher nach selecten.

          Alle erforderlich Daten für den INSERT per Formular zu übergeben und dann trotzdem noch in der Tabelle nach den Daten zu suchen, halte ich IMHO sowieso für ziemlich überflüssig.

          Entweder du übergibst alle erforderlichen Daten über das Formular und brauchst dann keinen SELECT mehr, oder du übergibst lediglich einen eindeutigen Schlüssel zum Datensatz und liest dann die benötigten Infos für das INSERT aus.
          Zuletzt geändert von mrwhorf; 28.09.2003, 15:12.
          if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

          Kommentar


          • #6
            hier mal der ganze code ...

            sorry, bin leider im programmieren nicht so riesig bewandert. die datensätze der artikelseite lasse ich beim bestellen über INSERT in die datenbank schreiben. in der rubrik warenkorb werden diese dann wieder aus der datenbank gelesen und nach dem absenden der bestellung wieder gelöscht. mein problem ist eigentlich, das nicht der zu bestellende artikel in die datenbank geschrieben wird, sondern grundsätzlich der zuerst gelesene, ich hoffe, ich war einigermassen verständlich.

            <? include("header.tpl") ?>

            <?php

            include("connect.php");

            $result = mysql_query("SELECT * FROM artikel_teedesign") or die(mysql_error());

            $numres = mysql_num_rows($result);



            while ($myrow = mysql_fetch_array($result)) {

            ?>

            <?

            $limit = 1; //limit of entries on 1 page

            if (empty($offset)) {
            $offset = 0;
            }

            $result = mysql_query("SELECT * FROM artikel_teedesign LIMIT $offset, $limit");

            echo "<center>";
            while ($myrow = mysql_fetch_array($result)) {

            echo "<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"#FFFFFF\" width=\"600\">";
            echo "<tr>";

            if (!IsSet($entry)) {

            $entry = $offset;
            $entry++;
            } else {
            $entry++;
            }


            /* ANFANG CONTENT */

            $id = $myrow[0];
            echo "<form action='$PHP_SELF?artikel=$id' method='post'>\n";
            echo "<table width='540' border='0'>\n";
            echo "<tr>\n";
            echo "<td bgcolor='#CCCCCC'><b>$myrow[3]</b></td>\n";
            echo "<td bgcolor='#CCCCCC'>Rubrik:</td>\n";
            echo "<td bgcolor='#CCCCCC'>Art.Name</td>\n";
            echo "<td bgcolor='#CCCCCC'>Art.-Nr.:</td>\n";
            echo "<td bgcolor='#CCCCCC'>Art.-Preis</td>\n";
            echo "</tr><tr>\n";

            echo "<td bgcolor='#FFCC00'>ID&nbsp;$myrow[0]</td>\n";
            echo "<td>$myrow[1]</td>\n";
            echo "<td><b>$myrow[3]</b></td>\n";
            echo "<td>$myrow[2]</td>\n";
            #echo "<td>$myrow[7]</td>\n";
            echo "<td><b>$myrow[5]</b></td>\n";


            echo "</tr><tr>\n";

            echo "<td colspan='4'><img src='$myrow[6]' weight='160' height='130' border='1'><br><br><A href=\"javascriptop_window('$myrow[6]')\"><b>Bild vergrößern !</b></a></td>\n";
            echo "</tr><tr>\n";
            echo "<td colspan='4'><div align='left'><u>Artikelbeschreibung</u><br><br>$myrow[4]</td>\n";

            $id = $myrow[0];



            echo "<input type='hidden' name='nr' value='$myrow[0]'>\n";
            echo "<input type='hidden' name='rubrik' value='$myrow[1]'>\n";
            echo "<input type='hidden' name='artnummer' value='$myrow[2]'>\n";
            echo "<input type='hidden' name='artname' value='$myrow[3]'>\n";
            echo "<input type='hidden' name='farbe' value='$myrow[4]'>\n";
            echo "<input type='hidden' name='preis' value='$myrow[5]'>\n";


            echo "</tr><tr>\n";
            echo "<td>\n";

            #echo "<td colspan='8' bgcolor='#FFFFFF'><div align='right'><input type='text' name='menge' value='1' size='3'>&nbsp;<input type='hidden' name='bestellen' value='?id=$myrow[0]'><a href='$PHP_SELF?anfrage=$id'><img src='./bilder/warenkorb.jpg' border='0' weight='40' height='40'></a></td>\n";
            echo "<input type='hidden' name='bestellen' value='$myrow[0]'><input type='text' name='menge' value='1' size='2'>&nbsp;<input type='submit' name='bestellen' value='In den Warenkorb ...'></td>\n";
            echo "</tr><tr>\n";
            echo "<br><br>\n";


            if(isset($bestellen))
            {


            mysql_query("INSERT INTO artikel_teebestellung (rubrik,artnummer,artname,farbe,arttext,menge,preis) VALUES ('$myrow[1]','$myrow[2]','$myrow[3]','$myrow[4]','$myrow[5]','$menge','$myrow[7]')");
            echo "<td colspan='8'><div align='right'><b>Artikel '$myrow[3]' in den Warenkorb gelegt ...</b></td>";
            }






            #echo "</form><input type ='submit' name='send' style=\"font-family: Verdana; font-size: 8pt; background-color: #639ACE; color: #FFFFFF\" value='Artikel übernehmen ...'><font></td>\n";

            echo "</tr><tr>\n";
            echo "<td colspan='4'>&nbsp;</td>\n";
            echo "</form>\n";

            ?>


            <?

            echo "</tr>\n";
            echo "<tr>\n";
            echo "<td colspan='4'>&nbsp;</td>\n";
            echo "</tr>\n";
            echo "<tr>\n";
            echo "<td>&nbsp;</td>\n";
            echo "<td>&nbsp;</td>\n";
            echo "<td>&nbsp;</td>\n";
            echo "<td>&nbsp;</td>\n";
            echo "</tr>\n";
            echo "</table>\n";
            echo "<br>\n";

            /* ENDE CONTENT */

            }


            // PAGE DIVIDER

            if ($offset >= 1) {
            $prevoffset = $offset - $limit;

            print ("<a href=$PHP_SELF?id=view&offset=$prevoffset&entry=$prevoffset class=\"guest\"><img src='./bilder/pic_left.gif' border='0'></a>&nbsp ");
            }

            $pages = intval($numres/$limit);

            if ($numres % $limit){
            $pages++;
            }

            for ($i = 1; $i <= $pages; $i++) {
            $newoffset = $limit * ($i -1);
            print ("<a href=$PHP_SELF?id=view&offset=$newoffset class=\"guest\">[$i]</a> &nbsp");



            }


            if (!(($offset/$limit)==$pages -1) && $pages!=1) {
            // not last page so give NEXT link
            $newoffset=$offset+$limit;
            print "<a href=\"$PHP_SELF?id=view&offset=$newoffset&entry=$entry\" class=\"guest\"><img src='./bilder/pic_right.gif' border='0'></a><p>\n";
            }



            }
            ?>

            Zuletzt geändert von webviper; 28.09.2003, 16:38.

            Kommentar


            • #7
              Du versuchst ja immer noch die AUSGELESENEN Daten in den Warenkorb einzutragen:
              mysql_query("INSERT INTO artikel_teebestellung (rubrik,artnummer,artname,farbe,arttext,menge,preis) VALUES ('$myrow[1]','$myrow[2]','$myrow[3]','$myrow[4]','$myrow[5]','$menge','$myrow[7]')");
              Die Daten, die in den Warenkorb eingetragen werden sollen, kommen nicht mehr als $myrow[0], $myrow[1]... an, sondern stehen in den Variablen der hidden fields.
              Somit steht der gesuchte Wert von Rubrik z.B. in $rubrik usw.
              Genau diesen Zweck erfüllen hidden fields in diesem Fall.

              In den hidden fields fehlt dir für den Eintrag in den Warenkorb eben noch der arttext. Den musst du also ebenfalls über ein hidden field übergeben, oder einfach weglassen und nicht inserten oder du suchst in der Tabelle 'artikel_teedesign' NUR nach diesem Wert wenn du in den Warenkorb einträgst.
              if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

              Kommentar


              • #8
                daten auslesen ...

                danke für die hilfe, funktioniert jetzt. jetzt aber das nächste problem.

                wie kann ich aus dem warenkorb den gesamtwert der bestellten waren ermitteln. (menge + einzelpreis), wenn da noch jemand einen wertvollen tip hätte. danke

                Kommentar


                • #9
                  Wie wärs mit ein bisschen Mathe und der Funktion sum()?
                  if ($getraenk=="kein kaffee mehr da" && $verlangen=="gross") { $arbeitsmoral="im keller"; }

                  Kommentar

                  Lädt...
                  X