Non riesco ad estrapolare i dati che ho inserito tramite checkbox dinamici in un'unica cella del mio database.
PROBLEMA: con questo codice, mi legge solo il primo dato fino alla prima virgola che ho inserito es. 51, e mi riporta il titolo della news così per ogni array. Ma se nella cella oltre al 51, c'è anche 69, (es. 51,69,30,) non mi legge quel dato, quindi quando vado nella tipologia collegata al 69 non mi fà vedere nessun titolo anche se in realtà dovrebbe.
So che al listato manca (credo) il ciclo explode che gli fà leggere tutti i dati inseriti successivi al primo ma siccome non sono esperta di PHP, non sò come fare ne cosa cercare nel forum per risolvere il mio problema. Ho inserito tutto il codice perchè può essere utile ad altri
------------------------------------------------------------------------------------

Questo è il listato del mio form dove tramite checkbox (che sono dinamici perchè corrispondono a delle tipologie di news che si possono aggiungere o eliminare) passo dei valori ad una seconda pagina che me li salva nel database.

FILE: news_insert.php

<form action="<?=$PHP_SELF?>?mod=<?=$mod?>&dir=<?=$dir?> &page=news_insert2" method="post" enctype="multipart/form-data" onsubmit="return controlla()" name="registrazione">
<table border="0" cellpadding="2" cellspacing="2" style="border-collapse: collapse" width="94%" align="center">
<tr>
<td width="100%" valign="top"><font face="Verdana" size="1">SCEGLI TIPOLOGIE</font></td>
<td width="80%"><script type="text/javascript">
function SelezTT()
{
var i = 0;
var modulo = document.registrazione.elements;
for (i=0; i<registrazione.length; i++)
{
if(registrazione[i].type == "checkbox")
{
registrazione[i].checked = !(modulo[i].checked);
}
}
}
</script>
<div style="font-family:Verdana, Geneva, sans-serif; font-size:10px;" class="third left">
<?PHP
$querytip = mysql_query("SELECT * FROM tbl_news_tipologie WHERE evadi='0'", $connessione);
while ($rstip = mysql_fetch_array ($querytip)){
?>
<?php if($rsnews["tipologia_ita"]!=0){ echo "$querytip"; } ?>
<input type="checkbox" name="idtipologia[]" value="<?=$rstip["idtipologia"]?>">
<?=$rstip["tipologia_ita"]?>
</span><span class="testo_semplice_news">
</span> <?}?>


<input type="button" value="Seleziona tutto" onclick="SelezTT()">
</div>

<?php
if ( !empty( $node->field_demo_testo[0]['view']) ) {
print "<div id='show'>". $node->field_demo_testo[0]['view'] ."</div>";
}
?>

</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="submitvalues" value="Salva e prosegui" class="form" style="width:300px">
</td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>

------------------------------------------------------------------------------------
FILE: news_insert2.php
Questo codice, mi legge tutti i valori impostati dai checkbox (che possono essere 1, 4 o 10 a seconda di quante spunte ho messo e mi salva il valore assegnato con una virgola di separazione. Quindi nel database potrei trovarmi in un'unica cella questi valori: 51,69,30,)

<?PHP
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {

$arr = $_POST['idtipologia'];

$tot_value = "";
foreach ($arr as $value) {
$tot_value .= "$value,";
}


$sql = sprintf("INSERT INTO tbl_news_ita2 VALUES ('', '$tot_value', '$titolo', '$descrizione', '$testo', '', '','$immaginetesto_name', '$immagineicona_name', '$url', '', '$data', '0', '$ordine', '$novita')");
$rs_in = mysql_query ($sql, $connessione) or die(mysql_error());
$idnews=mysql_insert_id();

}
creafilejspereditor();
?>

<script type="text/javascript">
window.location = "<?=$PHP_SELF?>?mod=<?=$mod?>&dir=<?=$dir?>&page=< ?=news_elenco>&id=<?=$id?>"
</script>

------------------------------------------------------------------------------------
FILE: menu_variabile.php è il file dove mi compaiono i titoli delle tipologie delle news che ho creato. (dentro il file config.php è contenuta tutta la procedura per collegarsi al database.) Quando clicco sulle voci, passo alla barra in alto di navigazione, due valori novita e idtipologia, che mi serviranno in seguito per il confronto.

<?php include("config.php")?>
<link href="lunisost.css" rel="stylesheet" type="text/css" />
<?PHP
$querytip = mysql_query("SELECT * FROM tbl_news_tipologie WHERE evadi='0' AND novita > '16'" , $connessione);
while ($rstip = mysql_fetch_array ($querytip)){
?>

<div style="width:100px;" class="tit_menu_v">
&idtipologia=<?=$rstip["idtipologia"]?>"><?=stripslashes($rstip["tipologia_ita"])?>
</div><? }?>

------------------------------------------------------------------------------------
FINO A QUESTO PUNTO FUNZIONA TUTTO!
------------------------------------------------------------------------------------

FILE: contenuto_news.php è il file dove richiamo le news collegate alla solita tipologia. (esempio: meteo con id tipologia 10 contiene 3 news, cronaca con idtipologia 14 contiene 5 news etc.)


<?PHP
$sql = "SELECT * FROM tbl_news_ita2 WHERE idtipologia=$idtipologia";
$tuple = @mysql_query($sql, $connessione) or die(mysql_error());
$num_tuple = mysql_num_rows($tuple);
$paginazione = 25;

if (empty($offset)) { $offset = 0;}
if (empty($limit)){ $limit = $paginazione; }
$query = @mysql_query("$sql LIMIT $offset, $limit" , $connessione);
while ($rsnews = mysql_fetch_array ($query)){?>

<?php echo ($rsnews["titolo"]); ?>


.................................................. .....................................



<?php } ?>