Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP/CGI] Genereren ordernummer bij form

Bill Gates
8 antwoorden
  • Wij hebben op onze website een formulier waar bezoekers iets kunnen bestellen. De bezoeker vult op een formulier zij NAW gegevens in en hoeveel artikelen hij wil bestellen. Het resultaat gaat dmv een e-mail naar de persoon die de levering afhandelt.

    Om de administratieve afhandeling te vereenvoudigen zou het handig zijn als ik aan iedere bestelling een uniek ordernummer kan toekennen. Als de bestellers dan hun goederen betalen en bij de betaling het ordernummer vermelden is dat voor de administratie makkelijk.

    Wie weet waar ik een stukje voorbeeld code kan vinden hoe ik zo'n ordernummer bij de bestelling kan voegen? Liefst in CGI en/of PHP. Het ordernummer mag ook in tabel in een MySQL database staan.

    Alvast bedankt,
    Webguy
  • Een simpele opplossing is in het form een hidden input kunnen zetten waar je met javascript een datum en tijd inschrijft; dat is dan je ordernummer.

    t.
  • Als je in MySQL een autoincrement veld opneemt, heb je altijd een uniek nummer.
  • [quote:0028fc3545]Als je in MySQL een autoincrement veld opneemt, heb je altijd een uniek nummer.[/quote:0028fc3545]
    Ik weet hoe ik een database moet aanmaken met een tabel die een autoincrement veld bevat.
    Maar, hoe krijg ik dat veld in mijn form…?

    Webguy
  • Wel eens van SQL gehoord? SELECT … FROM tabelnaam enzo?
  • Bedoel je zoiets:

    <?php
    $db=mysql_connect("localhost","user");
    mysql_select_db("mydb",$db);
    $sql="SELECT ordernr FROM orders";
    $result=mysql_query($sql);
    >?

    <form method="post" action="/cgi-bin/formmail.pl">
    <input type=hidden name="ordernr" value="<?php echo $result?>"
    Naam:<input type="text" name="naam">
    </form>

    Webguy
  • Zoiets ja, alleen dan anders ;)

    Je moet nog de resultaten uit die $results halen, dat staat allemaal hier uitgelegd.
  • Met de volgende code heb ik het werkend gekregen:

    [size=9:60a1272332]<?php
    $db = mysql_connect("localhost", "database", "password")
    or die("Could not connect: " . mysql_error());
    mysql_select_db("database",$db);
    $result=mysql_query("INSERT INTO 'tabel' ('ordernr') VALUES '')",$db);
    $result=mysql_query("SELECT max(ordernr) FROM tabel",$db);
    ?>
    <form method="POST" action="/cgi-bin/formmail.pl">
    <input type=hidden name="recipient" value="mail@iets.nl">
    <input type=hidden name="subject" value="Bestelling">
    <input type=hidden name="ordernr" value="<?php echo mysql_result($result,0) ?>">
    Uw ordernummer: <?php echo mysql_result($result,0) ?><br>
    Naam <input type="text" name="realname" size="40">
    <br>
    Adres <input type="text" name="adres" size="20">
    <br>
    Plaats <input type="text" name="plaats" size="30">
    <br>
    <input type="submit" value="Aanvraag verzenden"> <input type="reset" value="Invoer wissen"></p>
    </form>
    <?php
    mysql_close($db);
    ?>[/size:60a1272332]

    Maar,
    Als iemand nog een tip heeft hoe dit geoptimaliseerd kan worden… :)
    Dan houdt ik me aanbevolen.

    Webguy

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.