checkbox skal være checked hvis værdi findes i mysql

Tags:    php mysql

Mine checkboxe skal være markeret hvis
værdien findes i mysql, som komma sepereret felt. Siden lister
checkboxene som ønsket.
Men findes eks. bass i profilens db,
så skal checkbox bass vises som checked.
Har forsøgt med flere løsninger, uden held :-(
Kode:
<?php
session_start();
require_once("db.php");

//Pt. er der bass,Keyboard i denne tabel, fra den bruger jeg logger ind som. Denne tabel er kommaseperaret.
$sql="SELECT instrumenter FROM profiler where brugernavn='$_SESSION[brugernavn]' order by instrumenter";
$query = mysql_query($sql) or die(mysql_error());

//Sammenligner to tabeller for at finde ens instrumenter baseret på den bruger som er logget ind. Selecten virker. Dette giver Bass,Keyboard som resultat. Bruges pt. ikke
$sql2="SELECT instrumenter, instrument from profiler, musik_instrumenter where profiler.brugernavn = '$_SESSION[brugernavn]' && profiler.instrumenter = musik_instrumenter.instrument";
$query2 = mysql_query($sql2) or die(mysql_error());

// Pt. er der Bass, Guitar, Keyboard samt trommer i denne tabel i hver deres felt
$sql3 = "SELECT * FROM musik_instrumenter order by instrument";
$query3 = mysql_query($sql3) or die(mysql_error());

$resultat = array();

// kan måske bruges i en eventuel if sætning
$checked ="CHECKED";
?>
<html>
<head>
<title>instrumenter</title>
</head>
<body>
<?php
//Bør konvertere den komma seperaret tabel til et array, har ikke styr på denne del..
$dbkomma = explode(',',$query);
echo "<table><tr>";
$i=0;
//Det antal checkboxes som skal vises i hver række, fungerer.
$antal = 2;
while($row = mysql_fetch_array($query3)) {
$resultat[] = $row;
if($i%$antal == 0){
echo "</tr><tr>";
}
?>
<td><table border="0" cellspacing="2" cellpadding="2" width="200">
<tr><td><input type="checkbox" name="instrumenter[]" value="<?php echo "$row[instrument]";?>" <?php echo "$checked"?>><?php $facil ?>
<?php echo $row[instrument]; ?></td></tr></table></td>
<?php
$i++;
}
echo "</tr>";
echo "</table>";
?>
</body>
</html>



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 9 karma
Sorter efter stemmer Sorter efter dato
Hej Søren,

Jeg plejer at bruge følgende kode:

Fold kodeboks ind/udPHP kode 



Håber dette hjalp dig vider med din kode :)



Indlæg senest redigeret d. 08.03.2012 08:26 af Bruger #16751
Hej Søren,

Jeg er ikke helt sikker på hvad det er du leder efter i de 2 arrays du har.

Men jeg ville bare lige prøve at forslå functionen in_array, måske den kunne hjælpe ?

http://php.net/manual/en/function.in-array.php



Hej Malthe, tak for din tid.
Det hjalp mig et godt stykke på vej:D
Jeg har forsøgt med denne:
<input type="checkbox" name="instrumenter[]" value="true" <?php if ($row2['instrument'] == "Bass") { echo "checked";} ?>>
og den virker, Juhuu

Men der skal sammenlignes mellem to forskellige tabeller, har førsøgt nedenstående, uden resultat.
<input type="checkbox" name="instrumenter[]" value="true" <?php if ($row2['instrument'] == $row['instrumenter']) { echo "checked";} ?>>


Nogen der jode til sammenligning af to tabeller der kan hjælpe mig?



Hej Søren,

Jeg er ikke helt sikker på hvad det er du leder efter i de 2 arrays du har.

Men jeg ville bare lige prøve at forslå functionen in_array, måske den kunne hjælpe ?

http://php.net/manual/en/function.in-array.php


hej Kristian, det var lige det siidste der faldt på plads for mig. :-)
Mange tak for det.



t