mi stampa piu volte la checkbox

ciao ragazzi, in questa pagina col while stampo i nomi di tutte le categorie del db, mentre col for mi prende quelle che l'utente ha precedentemente selezionato. quindi se la categoria è stata in precedenza scelta la checkbox sarà spuntata altrimenti no.

il problema è che funziona bene nel senso che le categorie scelte vengono spuntate, ma il poblema è che mi stampa piu volte le checkbox.

<?php
//Includo i file per la connessione
//e per la verifica Utente
require_once('connessione.php');
require_once('verificalogin.php');
?>
<html>
<head>
</head>
<body>
<h1>CREA IL TUO PROFILO </h1>
<form action="creaprofilo.php" method="post" >
<?php

if(isset($_SESSION['utente'])){
   
$user=$_SESSION['utente'][0];
//echo $user;
}
else{
echo "errore utente";
}

    
    $query1 = "SELECT * FROM utente WHERE username = '$user'"; 
     $result1 = mysql_query($query1) or die("Errore nella query1:".mysql_error()); 
    $row = mysql_fetch_assoc($result1); 
    $idutente = $row['idutente'];
    

   $query="select * from seleziona where idutente='$idutente'";
   $result1 = mysql_query($query) or die("Errore nella query1:".mysql_error()); 
   $numerorighe = mysql_num_rows($result1); 

for($x=0; $x<$numerorighe; $x++){ //mi estrago dal db solo le categorie scelte

$riga = mysql_fetch_array($result1); 
$idcategoria1 = $riga['idcategoria'];
//echo $idcategoria1;
                        



$query="select * from categoria where idpadre='0' order by idcategoria";
$result = mysql_query($query);
while($fetch=mysql_fetch_array($result)) { //mi estraggo dal db
   $query="select * from categoria where idpadre='".$fetch['idcategoria']."' order by idcategoria";
   $risultato=mysql_query($query);
   
   
   echo "<b>".$fetch['nome']."</b><br>";
   
   while($array=mysql_fetch_array($risultato)) {
   
      $idcat= $array['idcategoria'];
      echo $array['nome'];
      
      if ($idcategoria1==$idcat){
   echo '<input type=checkbox checked name="'.$array['nome'].'" value="'.$array['idcategoria'].'" /><br />';
   echo "<br>";
      }
      else 
      {
   echo '<input type="checkbox" name="'.$array['nome'].'" value="'.$array['idcategoria'].'" /><br />';
       echo "<br>";
       }
      
   
}

} }




 ?>
<input name="" type="submit">
</form>
inviato 10 anni fa
riga1
X 0 X

Perché hai realizzato 2 SELECT annidate? Potrebbe essere quella la causa?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

ciao gianni quale query dici?

cmq è strano e sto impazzendo.

risposto 10 anni fa
riga1
X 0 X

è davvero un casino! è strano xche le checkbox vengono spuntate in modo corretto, ma me le ripete piu volte.

io ho come padre sport e figli calci, tennis, pallavolo

padre cronaca e figli cronacaRosa,CronacaNera,attualità

la struttura giusta dovrebbe essere solo così con le giuste checkbox spunate:

sport

calcio

tennis

pallavolo

cronaca

cronacaNera

attualità

cronacaRosa

MENTRE A ME DA QUESTO RISULATATO, CHE VATIA IN BASE A QUANTE CATEGORIE HO SCELTO IN PRECEDENZA:

sport

calcio

tennis

pallavolo

cronaca

cronacaNera

attualità

cronacaRosa

sport

calcio

tennis

pallavolo

cronaca

cronacaNera

attualità

cronacaRosa

risposto 10 anni fa
riga1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda