Avatar billede nc85 Nybegynder
13. september 2005 - 11:41 Der er 5 kommentarer

flere muligheder, men kun 1 i databasen?

Har denne SELECT

<select class="inputNormal" name="interest" multiple size=6>
                    <option value="Biler">Biler</option>
                    <option value="B&oslash;ger">B&oslash;ger</option>
                    <option value="B&oslash;rn">B&oslash;rn</option>
                    <option value="Caf&eacute;">Caf&eacute;</option>
                    <option value="Camping">Camping</option>
                    <option value="Design">Design</option>
                    <option value="Computer">Computer</option>
                    <option value="Dans">Dans</option>
                    <option value="Familie">Familie</option>
                    <option value="Fest">Fest</option>
                    <option value="Film">Film</option>
                    <option value="Fotografering">Fotografering</option>
                    <option value="Friluftsliv">Friluftsliv</option>
                    <option value="G&aring; i byen">G&aring; i byen</option>
                    <option value="H&aring;ndarbejde">H&aring;ndarbejde</option>
                    <option value="Jagt &amp; fiskeri">Jagt &amp; fiskeri</option>
                    <option value="Job/karriere">Job/karriere</option>
                    <option value="Kunst">Kunst</option>
                    <option value="K&aelig;ledyr">K&aelig;ledyr</option>
                    <option value="Landbrug">Landbrug</option>
                    <option value="Mad &amp; Vin">Mad &amp; Vin</option>
                    <option value="Male/tegne">Male/tegne</option>
                    <option value="Musik">Musik</option>
                    <option value="Mystik">Mystik</option>
                    <option value="Natur">Natur</option>
                    <option value="Politik">Politik</option>
                    <option value="Pubcrawl">Pubcrawl</option>
                    <option value="Rejser">Rejser</option>
                    <option value="Religion">Religion</option>
                    <option value="Samler">Samler</option>
                    <option value="Shopping">Shopping</option>
                    <option value="Skole/uddannelse">Skole/uddannelse</option>
                    <option value="Spil">Spil</option>
                    <option value="Spille/Lave musik">Spille/Lave musik</option>
                    <option value="Sport">Sport</option>
                    <option value="Teater">Teater</option>
                    <option value="T&oslash;j">T&oslash;j</option>
                    <option value="Videnskab">Videnskab</option>
                    </select>
Hold CTRL nede for at vælge flere!

------------------------------------------------

Men så når man vælger flere og du udfører scriptet smider den kun 1 af dem man har valgt i databasen - vil gerne have den til at smide alle i?

---------------------
Mit script:

<?
//Hent forbindelse
include("includes/config.inc.php");

//Hent info fra form og laver det til variabler
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
$name = $_REQUEST['name'];
$email = $_REQUEST['email'];
$birthday = $_REQUEST['birthday'];
$gender = $_REQUEST['gender'];
$area = $_REQUEST['area'];
$children = $_REQUEST['children'];
$jobtype = $_REQUEST['jobtype'];
$interest = $_REQUEST['interest'];
$profile = $_REQUEST['profile'];


//Fjern alle "farlige tags"
$username = strip_tags($username);
$password = strip_tags($password);
$name = strip_tags($name);
$email = strip_tags($email);
$profile = strip_tags($profile);

//Fjern eventuelle mellemrum fra variablerne
$username = str_replace(" ","",$username);
$password = str_replace(" ","", $password);
$email = str_replace(" ","", $email);

//Minimum længder på Username & Passwords
$min_userlength = "6";
$min_passlength = "6";

//Lav et check på længderne
if(strlen($username) < $min_userlength and strlen($password) < $min_passlength)

{
die("User/password var ikke langt nok - Det skal minimum være 6 bogstaver langt!");
}

//Lav et check på om "Username" allerede eksisterer
$SQL = "SELECT * FROM users WHERE Brugernavn = '$username'";
$query = mysql_query($SQL);
#if(mysql_num_rows($query)==0)
#  echo mysql_errno() . ": " . mysql_error() . "<br>\n";

if(mysql_num_rows($query) > 0)
{

echo '<script>alert("Brugernavnet du indtastede er allerede i brug - Prøv venligst med et nyt Brugernavn");</script>';
echo '<script>history.back(1);</script>';
exit;

}
echo $SQL;
//Lav et check på om emailen der blev indtastet allerede har en bruger
$SQL = "SELECT * FROM users WHERE Email = '$email'";
$query = mysql_query($SQL);
#if(mysql_num_rows($query)==0)
#  echo mysql_errno() . ": " . mysql_error() . "<br>\n";

if(mysql_num_rows($query) > 0)
{

echo '<script>alert("Emailen du har brugt har allerede en bruger! Slet evt denne bruger for at oprette ny");</script>';
echo '<script>history.back(1);</script>';
exit;

}
echo $SQL;
//Indsæt nu data i databasen!
$SQL = "INSERT INTO users (Brugernavn, Password, Navn, Email, Fødselsdag, Køn, Bopæl, Børn, Beskæftigelse, Hobbyer, Profiltekst) VALUES ('$username', '$password', '$name', '$email', '$birthday', '$gender', '$area', '$children', '$jobtype', '$interest', '$profile')";

if(mysql_query($SQL))
{

    echo '<script>alert("Du er nu oprettet som bruger på Meet-me")</script>';
    mail($email, "Velkommen til Meet-me", "Velkommen til Meet-me - Dit brugernavn er: $username og dit password er: $password");
    echo '<script>document.location.href="index.php"</script>';
}
#if(mysql_affected_rows()==0)
#  echo mysql_errno() . ": " . mysql_error() . "<br>\n";
#echo $SQL;
?>
Avatar billede showsource Seniormester
13. september 2005 - 11:48 #1
Du kan navngi' din select med [] tilsidst:
name="interest[]"

så får du et array at lege med.
Avatar billede showsource Seniormester
13. september 2005 - 11:51 #2
F.eks. kan du så bruge implode() til at lave en streng, hvor hver valgte er adskilt af et komma.

$interest = implode(",", $_REQUEST['interest']);
Avatar billede nc85 Nybegynder
13. september 2005 - 14:24 #3
Det virkede jo :)
Takker - lige et andet spm

Hvis jeg nu skal redigere i noget og når brugeren kommer ind til hvor man redigere skal de "Hobbyer han allerede har valgt være highlighted" - Gør jeg dette sådanne:

<select name="interest" multiple size=6>
                      <option value="<? echo $row['Hobbyer']; ?>"></option>
                    <option value="Biler">Biler</option>
                    <option value="B&oslash;ger">B&oslash;ger</option>
                    <option value="B&oslash;rn">B&oslash;rn</option>
                    <option value="Caf&eacute;">Caf&eacute;</option>
                    <option value="Camping">Camping</option>
                    <option value="Design">Design</option>
                    <option value="Computer">Computer</option>
                    <option value="Dans">Dans</option>
                    <option value="Familie">Familie</option>
                    <option value="Fest">Fest</option>
                    <option value="Film">Film</option>
                    <option value="Fotografering">Fotografering</option>
                    <option value="Friluftsliv">Friluftsliv</option>
                    <option value="G&aring; i byen">G&aring; i byen</option>
                    <option value="H&aring;ndarbejde">H&aring;ndarbejde</option>
                    <option value="Jagt &amp; fiskeri">Jagt &amp; fiskeri</option>
                    <option value="Job/karriere">Job/karriere</option>
                    <option value="Kunst">Kunst</option>
                    <option value="K&aelig;ledyr">K&aelig;ledyr</option>
                    <option value="Landbrug">Landbrug</option>
                    <option value="Mad &amp; Vin">Mad &amp; Vin</option>
                    <option value="Male/tegne">Male/tegne</option>
                    <option value="Musik">Musik</option>
                    <option value="Mystik">Mystik</option>
                    <option value="Natur">Natur</option>
                    <option value="Politik">Politik</option>
                    <option value="Pubcrawl">Pubcrawl</option>
                    <option value="Rejser">Rejser</option>
                    <option value="Religion">Religion</option>
                    <option value="Samler">Samler</option>
                    <option value="Shopping">Shopping</option>
                    <option value="Skole/uddannelse">Skole/uddannelse</option>
                    <option value="Spil">Spil</option>
                    <option value="Spille/Lave musik">Spille/Lave musik</option>
                    <option value="Sport">Sport</option>
                    <option value="Teater">Teater</option>
                    <option value="T&oslash;j">T&oslash;j</option>
                    <option value="Videnskab">Videnskab</option>
                    </select>
Avatar billede showsource Seniormester
13. september 2005 - 19:44 #4
ehh, når du trækker det ud af DB'en, har du jo en streng, Musik,Natur,Rejser f.eks.
Dem kan du få delt op igen med explode()

$hobbies = explode(",", $row["Hobbyer"]);

Så har du et array med de forskellige valgte.
Så kan du lave en lille function, som skriver " selected" hvis hobby'en er i array'et

function selected($var, $hobby_array) {
    if(in_array($var, $hobby_array)) {
    echo" selected";
    }
}


<select name="interest[]" multiple size=6>
                    <option value="Biler"<?php selected("Biler", $hobbies); ?>>Biler</option>
                    <option value="B&oslash;ger"<?php selected("B&oslash;ger", $hobbies); ?>>B&oslash;ger</option>
                    <option value="B&oslash;rn"<?php selected("B&oslash;rn", $hobbies); ?>>B&oslash;rn</option>
                    <option value="Caf&eacute;"<?php selected("Caf&eacute;", $hobbies); ?>>Caf&eacute;</option>


ehh, og nu ser det ud som om du gememr æ,ø,å m.m som html koder.
Hvorofr ikke bare som man skriver det på dansk, og så ved visning lave de mtil html?

<select name="interest[]" multiple size=6>
                    <option value="Biler"<?php selected("Biler", $hobbies); ?>>Biler</option>
                    <option value="<?php echo urlencode("Bøger"); ?>"<?php selected("Bøger", $hobbies); ?>><?php echo htmlentities("Bøger"); ?></option>
                    <option value="<?php echo urlencode("Børn"); ?>"<?php selected("Børn", $hobbies); ?>><?php echo htmlentities("Børn"); ?></option>

F.eks.
Avatar billede nc85 Nybegynder
13. september 2005 - 21:24 #5
Hvaså med resten af dem der er i select, den skal automatisk finde ud af hvilke brugeren har valgt?

Det kan jeg jo ikke gå ind og gøre manuelt for hver jo?
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