Avatar billede gedekid Nybegynder
29. maj 2007 - 13:13 Der er 1 kommentar og
1 løsning

Flere checkboxe og værdier i database

Hej eksperter,

jeg er ved at lave en dimmer til brochurer bestillinger, der smider alle dagens brochurer bestillinger i en database så en anden kan få én lang liste istedet for 100 mails. Så langt så godt...
Jeg har dog et problem med den formular/script der smider informationer i databasen....

------------------------------------------
<?php
session_start();
$lang=$_SESSION['lang'];
if (!$lang) $lang="da";

require_once("smarty.setup.php");
global $db;

$name = $_POST["name"];
$company = $_POST["company"];
$email = $_POST["email"];
$address = $_POST["address"];
$city = $_POST["city"];
$zipcode = $_POST["zipcode"];

foreach($_POST["brochurer"] as $b) {
    $brocs = $b;
}


$db->query("INSERT INTO RC_Brocbest (company, name, email, address, zipcode, city, brochurer, bestilt, country) VALUES ('$company', '$name', '$email', '$address', '$zipcode', '$city', '$brocs', NOW(), '$lang')");

header("Location: ".$_POST['loc']);
?>
------------------------------------------

jeg kan ikke lige gennemskue foreach'en for brochurerne.. Der er i alt 4 brochurer man kan vælge med en checkbox... men når den så hopper til dette script så får den kun den sidste brochurer med.. altså hvis man har flueben'et 1-2-3, så er det kun nummer 3 der ryger med i databasen... Det må være et problem med min foreach der så ikke huske alle 3 når de kommer uden for løkken.

---------------FORMULAR HTML-------------------
            <tr>
                <td><img alt="Tagsten" height="143" src="/imagebank/1146558051.jpg" width="100" /></td>
                <td colspan="2" style="vertical-align: text-top;"><input name="brochurer[1]" type="checkbox" value="Tagstensbrochuren" /></td>
            </tr>
            <tr>
                <td><img alt="Mursten" height="144" src="/imagebank/1146558325.jpg" width="100" /></td>
                <td colspan="2" style="vertical-align: text-top;"><input name="brochurer[2]" type="checkbox" value="Murstensbrochuren" /></td>
            </tr>
            <tr>
                <td><img alt="Tegl-leverandøren - Belægningsklinker og havetegl" height="141" src="/imagebank/1170065260.jpg" width="100" /></td>
                <td colspan="2" style="vertical-align: text-top;">  <input name="brochurer[3]" type="checkbox" value="Tegl-leverandøren-havetegl" /> </td>
            </tr>
            <tr>
                <td><img alt="Teglbjælker" height="140" src="/imagebank/1146559136.jpg" width="100" /></td>
                <td colspan="2" style="vertical-align: text-top;"><input name="brochurer[4]" type="checkbox" value="Teglbjælker-buer-etc." /></td>
            </tr>
------------------------------------------------
Avatar billede j4k0b Nybegynder
29. maj 2007 - 14:16 #1
Alle dine checkboxes skal have samme navn, f.eks. "chosen[]". Dernæst skal hver checkbox have en unik værdi, ligesom du har i dit eksempel.

Så kan du bruge denne kode i stedet for din foreach-løkke:
$brocs = implode(';', $_POST['chosen']);

Herefter vil $brocs indeholde en streng som f.eks.: "Tagstensbrochuren;Murstensbrochuren"

Strengen kan du indsætte i din database. Du kan ligeledes bruge explode() der hvor du vil se hvilke brochurer der er afkrydset i bestillingen.
Avatar billede gedekid Nybegynder
29. maj 2007 - 14:21 #2
Løsning fundet...

session_start();
$lang=$_SESSION['lang'];
if (!$lang) $lang="da";

require_once("smarty.setup.php");
global $db;

$name = $_POST["name"];
$company = $_POST["company"];
$email = $_POST["email"];
$address = $_POST["address"];
$city = $_POST["city"];
$zipcode = $_POST["zipcode"];
$brocs = $_POST["brochurer"];


foreach($_POST["brochurer"] as $key => $value) {
    $b .= $value;
    $b .= "<br />";
}

$db->query("INSERT INTO RC_Brocbest (company, name, email, address, zipcode, city, brochurer, bestilt, country) VALUES ('$company', '$name', '$email', '$address', '$zipcode', '$city', '$b', NOW(), '$lang')");

header("Location: ".$_POST['loc']);

Lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester