Ciao, innanzitutto grazie per la risposta.

Cerco di spiegarmi meglio:
Io ho degli utenti che scelgono degli sport attraverso dei checkbox.
Questo dato lo salvo su db come detto nel primo messaggio: ho una tabella di relazione tra gli sport e l'id dell'utente.
Ora però voglio dare all'utente la possibilità di aggiornare questi dati. E quindi vorrei mostrargli gli stessi checkbox selezionandogli quelli che lui ha precedentemente scelto.

Quindi io, a naso, farei una query per estrapolare tutti gli sport disponibili e poi all'interno di questa query una seconda query che mi verifichi quali sport il determinato utente ha selezionato.


Quindi query:
Codice PHP:
<?php
$query 
"SELECT * FROM tbl_sport";
$result mysql_query($query );
while (
$row mysql_fetch_assoc($result)){
?>
<input name="sport_specializzati[]" type="checkbox" id="sport_specializzati" value="<?php echo $row['id_sport']; ?>"               > <?php echo $row['sport']; ?>
}
In questo modo tiro fuori tutti gli sport.
Ora, dentro al campo input io farei una query tra le due tabelle per trovare il match. E poi ficcare una condizione if. Quindi:
(prima della chiusura del <input>
Codice PHP:
$sql"SELECT     tbl_sport.*,  tbl_relazione_utente_sport.*    FROM     tbl_sport, tbl_relazione_utente_sport  WHERE   tbl_relazione_utente_sport.id_cliente = $id AND tbl_sport.id_sport = rtbl_relazione_utente_sport.id_rel_sport ";
$resultb mysql_query($sql);
while (
$rowb mysql_fetch_assoc($resultb )){

if(
$row['id_sport'] == $rowb['id_rel_sport']){ echo 'checked=\"checked\" ';} 
php }?> 
Solo che non funziona (ovviamente).

Cosa sbaglio?
Non ho capito il tuo suggerimento... (son fuso)