cosi' ti stampi una tabella con uno dei testi con priorita forzata ogni 4 record.
//estrai tutte le news con priorita' diversa da quella da forzare
$select = "SELECT * FROM tabella WHERE priorita != 10";
$query = mysql_query($select) or die (mysql_error());
$tot = mysql_num_rows($query); // totale notizie. Facciamo una 30ina di notizie.
$i=0;
while($result = mysql_fetch_array($query)) {
$i++;
$id[$i] = $result['id'];
$testo[$i] = $result['testo'];
}
//qui estrai tutte le news con priorita' forzata
$select_priorita = "SELECT * FROM tabella WHERE priorita = 10";
$query_priorita = mysql_query($select_priorita) or die (mysql_error());
$i=0;
while($result_priorita = mysql_fetch_array($query_priorita)) {
$i++;
$id_priorita[$i] = $result_priorita['id'];
$testo_priorita[$i] = $result_priorita['testo'];
}
$tot_priorita = mysql_num_rows($query_priorita); //tot news con priorita' 10
echo "<table>";
echo "<tr>";
echo "<td>id</td>";
echo "<td>testo</td>";
echo "</tr>";
$indice = 0;
for($i=1;$i<=$tot;$i++){
$indice++;
echo "<tr>";
//stampo le news con priorita' qualsiasi per 4 volte
if($indice <= 3) {
echo "<td>".$id[$i]."</td>";
echo "<td>".$testo[$i]."</td>";
} else {
//quando indice raggiunge 3 forzo una news a caso fra quelle con priorita' 10 e riporto indice a zero
if($indice = 3){
$indice=0;
$rand = rand(1,$tot_priorita);
echo "<td>".$id_priorita[$rand]."</td>";
echo "<td>".$testo_priorita[$rand]."</td>";
}
}
echo "</tr>";
}
echo "</table>";
dimmi se ti trovi, poi devi adattarla ai tuoi dati