Ciao a tutti:
ho un file di testo che mi fa da database, lo leggo riga per riga in un array e vorrei ordinare le righe a mio piacimento da un form, per cui nel file ho:
Codice PHP:
<?php
$my_database_txt = './testi/album.txt';
$array_righi = file($my_database_txt);
foreach($array_righi as $key => $albums){
list($nomeal, $urlal, $urlmin, $descr) = explode("|", $albums);
$num = ($key + 1);
$nom = str_replace("-", " ", $nomeal);
echo '
<tr><td align="left" valign=top" width="30">'.$num.'</td><td align ="left" valign="top" width="200">[b]'.$nom.'[/b]</td><td align="left" valign="top" width="30"><input name="'.$key.'" type="text" class="campiform2" size="20" value="'.$num.'" /></td></tr>
';
}
?>
Il form rimanda alla pagina stessa e quindi continuando ho:
Codice PHP:
<?php $posizioni = array();
if(isset($_POST['Ordina'])) {
// inizializzo la variabile $errore a 0
$errore = '0';
do {
// apro il file di testo in un array
$my_database_txt = './testi/album.txt';
$array_righi = file($my_database_txt);
// controllo che il numero di elementi tra i due array concida
$countfile = count($array_righi);
$countpost = count($_POST);
if ($countfile != $countpost){
$errore = '1';
}elseif{
// vorrei fare altri controlli tipo che i numeri inseriti siano in sequenza per evitare che si scrivano numeri che non possano ordinare l'array e poi vorrei riordinare le righe dell'array ma non so come fare
}
}while ($errore == '0');
if ($errore == '1'){
echo '<h1> Perfavore ricontrolla l\'ordine che hai inserito</h1>';
}
}
?>
Nei commenti si legge quale è il mio problema ma lo riscrivo, in pratica il problema è il controllo sui valori inseriti nel form, e poi il riordino delle righe dell' array ottenuto con la funzione file();
Grazie a chi mi volesse aiutare