Avatar billede grinebidder Nybegynder
04. marts 2005 - 14:59 Der er 5 kommentarer og
1 løsning

Problemer med arrays

Yes, jeg er ikke en haj til arrays, så jeg er groet fast her.

Jeg har to tabeller; én til brugerne (kollonner: id | genrer) og én til genrerne (kollonner: id | titel).

Jeg skal oprette en bruger, som kan høre ind under forskellige genrer. Genrerne vælges vha. checkboxe, som ser ud som flg: <input type="text" name="genre[]" value="<?=$id;?>" />

1. Hvordan får jeg smidt de forskellige værdier ind i databasen? Synes ikke rigtig $_POST[genre] giver mig nogen data udover teksten »Arrary«.

2. Når så en bruger skal opdateres/have skiftet genrer, hvordan ordnes det så lige? Jeg synes jeg har ledt og forsøgt, men det vil ikke lykkes. Alle genrer skal listes (let nok), men de genrer, som brugeren allerede er tilmeldt, skal være markerede.

Håber der er nogen, der kan give lidt hjælp her :-)
Avatar billede sukos Juniormester
04. marts 2005 - 15:03 #1
Når du bruger [] i name:
name="genre[]"

får du et array

kan man vælge flere genrer?
Avatar billede grinebidder Nybegynder
04. marts 2005 - 15:12 #2
Ja, pt. er der seks forskellige genrer. Men output'et er bare »Array« når jeg bruger $_POST[genre] til at hente med.
Avatar billede sukos Juniormester
04. marts 2005 - 15:23 #3
Hvorfor skrive værdien i tekstfeltet?

<input type="checkbox" name="genre[]" value="<?=$id;?>" /><?php echo $row["titel"]; ?>

Når der submittes,
$valgte_genre = implode(",", $_POST["genre"]);

så kan du inserte $valgte_genre i bruger tabellen.

Når du henter igen,

$bruger_genre  = explode(",", $row["genrer"]);


og ved visningen,

echo"<input type=\"checkbox\" name=\"genre[]\" value=\"". $row["id"] ."\"";

if(in_array($row["id"], $bruger_genre)) {
echo" checked";
}

echo" />". $row["titel"];
?>
Avatar billede grinebidder Nybegynder
04. marts 2005 - 15:41 #4
Ja, jeg ved ikke lige hvorfor jeg skrev, at det var en textbox, det var selvfølgelig en checkbox, som du rettede det til :-)

Tak for hjælpen! Det virker som det skal.
Avatar billede sukos Juniormester
04. marts 2005 - 20:29 #5
Du får lige et svar.
Men lav også et svar selv, og del point.
Avatar billede grinebidder Nybegynder
05. marts 2005 - 10:28 #6
Nope, du kom med løsningen, så du får pointene :-)
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