Stephy RmX
11-10-2006, 20:37
Risalve a tutti..
ho finalmente il programma di cui avevo bisogno qualche settimana fa solo che in uno dei 2file php c'è qlcs ke nn va...
Non mi da nessun errore ,ma non funziona come dovrebbe..
<?php
if ($_POST['submit']=="Evadi") {
// Si entra in questo ramo dell'if qualora venga premuto il pulsante Evadi
$c=1; //questa variabile serve a capire quale linea è stata cliccata
while (true)
if ($_POST['linea'.$c]!="t") $c+=1;
else break; //non appena raggiungo una linea cliccata immagazzino il numero
$file=fopen(".\cliente.csv","r+"); //apro il file con i dati in modalità di lett/scritt puntatore all'inizio
$dest=fopen(".\cliente.tmp","w"); //creo un file temporaneo mod scritt
$contatore=0; //reinizializzo la variabile contatore
while($row=fgetcsv($file)) {
$contatore+=1;
if($contatore!=$c and $previous!=$_POST['campo1_'.$c]) fprintf($dest, "%s\r\n", implode(",",$row));
else $previous = $_POST['campo1_'.$c]; // con implode creo una stringa da un array
}
fclose($dest); //Chiudo i files
fclose($file);
unlink(".\cliente.csv"); //Elimino il vecchio file
rename(".\cliente.tmp",".\cliente.csv"); //Rinomino il file temporaneo
}
else {
?>
<table border="1">
<form action="#" method="post">
<tr>
<th>Ragione Sociale</th>
<th>Data</th>
<th>Email</th>
<th>Codice Cliente</th>
<th>Tel/Fax</th>
<th>Part. Iva</th>
<th>Codice Fiscale</th>
<th>Citta</th>
</tr>
<?php
// non è stato premuto il bottone per evadere
$file=fopen(".\cliente.csv","r+");
$c=0;
$previous=array();
while($row=fgetcsv($file)) { //leggo una riga
if ($row[0]==$previous[0] and $row[1]==$previous[1]) { // se i campi data e ragione sociale sono uguali al precedente siamo in presenza dello stesso ordine
echo "<tr>
<td colspan=2>".$row[8]."</td>
<td colspan=2>".$row[9]."</td>
<td colspan=2>".$row[10]."</td>
</tr>";
} //una riga dell'ordine dalla 2a in poi
else {
$previous = $row;
echo "<tr>";
$c+=1;
for ($i=0; $i<8; $i++)
if ($i==1) echo '<td bordercolor="#000000"><input type="hidden" name="campo'.$i.'_'.$c.'" value="'.$row[$i].'">'.date("Y-M-D",$row[$i]).'</td>';
else echo '<td bordercolor="#000000"><input type="hidden" name="campo'.$i.'_'.$c.'" value="'.$row[$i].'">'.$row[$i].'</td>';
//campi anagrafici
echo '<td bordercolor="#000000"><input type="radio" value="t" name="linea'.$c.'"></td></tr><tr>';
//bottone
//prima riga dell'ordine
for ($i=6; $i<9; $i++)
echo '<td colspan=2>'.$row[$i].'</td>';
}
//echo "</tr>";
}
fclose($file);
echo '</table><input type="submit" name="submit" value="Evadi">';
}
?>
Questa pagina dovrebbe prendere le informazioni da un form, creare una lista di persone che hanno fatto l'ordine attraverso il form e cancellare solo la voce selezionata attraverso un radio button..
Ma.. o non cancella niente o li cancella tutti..
xkè..????? :((
ho finalmente il programma di cui avevo bisogno qualche settimana fa solo che in uno dei 2file php c'è qlcs ke nn va...
Non mi da nessun errore ,ma non funziona come dovrebbe..
<?php
if ($_POST['submit']=="Evadi") {
// Si entra in questo ramo dell'if qualora venga premuto il pulsante Evadi
$c=1; //questa variabile serve a capire quale linea è stata cliccata
while (true)
if ($_POST['linea'.$c]!="t") $c+=1;
else break; //non appena raggiungo una linea cliccata immagazzino il numero
$file=fopen(".\cliente.csv","r+"); //apro il file con i dati in modalità di lett/scritt puntatore all'inizio
$dest=fopen(".\cliente.tmp","w"); //creo un file temporaneo mod scritt
$contatore=0; //reinizializzo la variabile contatore
while($row=fgetcsv($file)) {
$contatore+=1;
if($contatore!=$c and $previous!=$_POST['campo1_'.$c]) fprintf($dest, "%s\r\n", implode(",",$row));
else $previous = $_POST['campo1_'.$c]; // con implode creo una stringa da un array
}
fclose($dest); //Chiudo i files
fclose($file);
unlink(".\cliente.csv"); //Elimino il vecchio file
rename(".\cliente.tmp",".\cliente.csv"); //Rinomino il file temporaneo
}
else {
?>
<table border="1">
<form action="#" method="post">
<tr>
<th>Ragione Sociale</th>
<th>Data</th>
<th>Email</th>
<th>Codice Cliente</th>
<th>Tel/Fax</th>
<th>Part. Iva</th>
<th>Codice Fiscale</th>
<th>Citta</th>
</tr>
<?php
// non è stato premuto il bottone per evadere
$file=fopen(".\cliente.csv","r+");
$c=0;
$previous=array();
while($row=fgetcsv($file)) { //leggo una riga
if ($row[0]==$previous[0] and $row[1]==$previous[1]) { // se i campi data e ragione sociale sono uguali al precedente siamo in presenza dello stesso ordine
echo "<tr>
<td colspan=2>".$row[8]."</td>
<td colspan=2>".$row[9]."</td>
<td colspan=2>".$row[10]."</td>
</tr>";
} //una riga dell'ordine dalla 2a in poi
else {
$previous = $row;
echo "<tr>";
$c+=1;
for ($i=0; $i<8; $i++)
if ($i==1) echo '<td bordercolor="#000000"><input type="hidden" name="campo'.$i.'_'.$c.'" value="'.$row[$i].'">'.date("Y-M-D",$row[$i]).'</td>';
else echo '<td bordercolor="#000000"><input type="hidden" name="campo'.$i.'_'.$c.'" value="'.$row[$i].'">'.$row[$i].'</td>';
//campi anagrafici
echo '<td bordercolor="#000000"><input type="radio" value="t" name="linea'.$c.'"></td></tr><tr>';
//bottone
//prima riga dell'ordine
for ($i=6; $i<9; $i++)
echo '<td colspan=2>'.$row[$i].'</td>';
}
//echo "</tr>";
}
fclose($file);
echo '</table><input type="submit" name="submit" value="Evadi">';
}
?>
Questa pagina dovrebbe prendere le informazioni da un form, creare una lista di persone che hanno fatto l'ordine attraverso il form e cancellare solo la voce selezionata attraverso un radio button..
Ma.. o non cancella niente o li cancella tutti..
xkè..????? :((