Innanzitutto grazie per aver risposto. Visto il momento non era così scontato.
In realtà ho fatto altre prove e il codice funziona. C'è solo un problema:
la variabile $file che creo dopo il ciclo all'inizio (foreach...) è ok, nel senso che ci sono tutti i nomi dei files presenti nella cartella di riferimento, quando però vado a fare il confronto con if (stristr($file,$soggetto,0) !== false) la variabile contiene solamente l'ultimo nome di file presente nella variabile originale, ripetuto per il numero dei records estratti dal DB. (!!!)
Ho provato ad inserire manualmente nella variabile $file la stringa con tutti i nomi dei files (commentando il ciclo foreach... iniziale) e funziona perfettamente, quindi credo che il problema sia lì.
Posto qui sotto la parte di codice interessata:
codice:
<?php
$sqlSelect = "SELECT * FROM wrin WHERE modulo = '$modulo' ";
$result = mysqli_query($conn, $sqlSelect);
$path = 'pdf/'.$modulo;
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $file)
{
$file = $file->getFilename();
}
if (mysqli_num_rows($result) > 0)
{
?>
<table class="table table-sm" width="145%">
<thead>
<tr>
<th>Wrin</th>
<th>Descrizione</th>
<th>Contenuto</th>
<th>Quantità</th>
<th>Note</th>
</tr>
</thead>
<?php
while ($row = mysqli_fetch_array($result)) {
$soggetto = $row['modulo']."_".$row['wrin'];
if (stristr($file,$soggetto,0) !== false)
{
echo "<tr class='testo_light2 pdfbassa'>
<td>".$row['wrin']."</td>
<td>".$row['descrizione']."</td>
<td>".$row['contenuto']."</td>
<td>".$row['quantita']."</td>
<td>".$row['note']."</td>
</tr>";
}
else
{
echo "<tr class='testo_light2 nopdfbassa'>
<td>".$row['wrin']."</td>
<td>".$row['descrizione']."</td>
<td>".$row['contenuto']."</td>
<td>".$row['quantita']."</td>
<td>".$row['note']."</td>
</tr>";
}
}
?>