Continuo comunque a non capire l'esistenza di questa riga:
Ciao!Codice PHP:
$last_insert_id = $conn->insert_id;
Printable View
Continuo comunque a non capire l'esistenza di questa riga:
Ciao!Codice PHP:
$last_insert_id = $conn->insert_id;
l'avevo messo io quando volevo eliminare gli annunci tramite id (prima di trovare "il link con $row id che ho
inserito nell'echo dei file da eliminare).
adesso rifunziona tutto,e' perfetto..
alemoppo..ci ho provato con le checkbox e l'array che mi hai detto, e non ha funzionato. pero' ascoltami un'attimo;
allora con questo array, secondo te recupero gli id dei file da eliminare:
foreach($_POST['idfile'] as $elemento)
giusto???
ora : ipotizziamo che ci sono 2 file da eliminare tramite checkbox, es:
Codice PHP:
'
echo'<img src= '".$row['file']."'><input type="checkbox" name=" idfile[]" value="idfile[]">'; giusto???
echo'<img src= '".$row['file']."'><input type="checkbox" name=" idfile[]" value="idfile[]">'; giusto???
ora: l' $_POST['idfile'] che e' diventato $elemento, giusto???
come fa a mettere tutti gli "id dei file" da eliminare in ($elemnto)?,
e poi, la query e' una: delete from ..... where idfile= '".$elemento."'..., come fa ($elemento),
a sapere quali, e quanti id deve eliminare?
guarda....io di programmazione non ci capisco niente,mi avete insegnato tutto voi, tu, e il signor graph risorse,
ma secondo me non si puo' fare...per logica..
Ripartiamo dall'inizio. Tu vorresti:
Però vuoi eliminare più id, quindi puoi agire in due modi distinti:Codice PHP:
$sql = "DELETE FROM Animali WHERE id ='".$id."' ";
- eseguire più volte quella query ed ogni volta $id vale un valore diverso
- generare una stringa del tipo:
Codice PHP:
$sql = "DELETE FROM Animali WHERE id ='".$id1."' OR id= ".$id2." OR ... <non sai quanti ce ne possano essere>";
Forse il primo modo può essere più facile, poi proverai anche il secondo modo.
Dal link che ti ho indicato sopra:
Nel tuo caso puoi eseguire ogni volta una query di delete:Codice PHP:
if( isset($_POST['fruit']) && is_array($_POST['fruit']) ) {
foreach($_POST['fruit'] as $fruit) {
// eg. "I have a grapefruit!"
echo "I have a {$fruit}!";
// -- insert into database call might go here
}
Il secondo modo è lievemente più difficile (cerca come concatenare stringhe in PHP online): in questo caso te la caveresti con un'unica query.Codice PHP:
if( isset($_POST['idfile']) && is_array($_POST['idfile']) ) {
foreach($_POST['idfile'] as $IdFile) {
$sql = "DELETE FROM Animali WHERE id ='".$IdFile."' ";
echo 'qui potresti eseguire la query DELETE: '.$sql . '<br>' . PHP_EOL;
}
}
Per quanto riguarda il form, riporta "value" al valore dell'ID che vuoi eliminare, come hai scritto all'inizio. Non ha senso mettere idfile[] nel value (devi metterlo solo nel name).
p.s: nel caso degli "id", non servono le virgolette nella query perché sono numeri e non stringhe.
TIP (che potrebbe renderti indipendente dal nostro aiuto!): hai provato a chiedere aiuto a qualsiasi intelligenza artificiale? :mrgreen:
Occhio però a non chiedergli intere pagine, cerca sempre di capire cosa sta facendo.
Ciao!
hai ragione...non ce la fai piu'...ti do il tormento....ora provo a vedere se ho capito...ti faccio sapere quest'altra
settimana, ok?.. ah ah, ciao alemoppo, grazie e buona domenica.
Ma figurati, nessun tormento: siamo qui apposta. Se avessi il tormento, non ti risponderei più :mrgreen:.
Ciao!
:wink:
alemoppo...scusa ma voglio capire se ho "capito" il tuo ragionamento.
ho tolto dall'action la pagina di eliminazione, per vedere se nella casella checkbox memorizza l'id dei file.
Quindi, l'action l'ho indirizzato a un'altra pagina dove ho scritto questo codice per stampare l'array "idfile[]".
giusto???
pagina per eliminare gli annunci con la ceckbox:
pagina per stampare l'array:Codice PHP:
echo "<img src ='".$row["file"]."'style='width:300px;height:auto;margin-left:470px;margin-top:50px;border-radius:5px;'><input type='checkbox'name='idfile[]'style='width : 30px; height : 30px;'>
<br>".PHP_EOL;
se voglio eliminare solo un annuncio, mi dice: Array ( [0] => Array ( [0] => on ) )Codice PHP:
$elemento = array ($_POST ['idfile']);
print_r ( $elemento);
?>
se voglio eliminare 2 annunci , mi dice: Array ( [0] => Array ( [0] => attivo [1] => attivo ) )
se vuoi prova...scrivi "ciao" nella casella, elimina annuncio scrivi email.(da pc)
http://noncecapisco.altervista.org/a...ito-italia.php
Nella checkbox devi inserire, come hai fatto inizialmente:
Ciao!Codice PHP:
value= "...".$row['id'].".."
grazie alemoppoooooooooooooooooooooooooooooo mo ce provooo.:lol:
con il tuo codice mi dava errore di incapsulamento, diceva troppe virgolette....
ho provato cosi':Codice PHP:
value= "...".$row['id'].".."
Codice PHP:
echo "<img src ='".$row["file"]."'style='width:300px;height:auto;margin-left:470px;margin-top:100px;border-radius:5px;'><input type='checkbox' value= '".$row['id']."' >";
Array ( [0] => )
Quindi? Funziona? Non funziona? Non elimina? Hai qualche errore?
Ciao!
alemoppooooooooooooooooooooooooooooooooo ..... e no! ho provato ha stamparlo ma e' vuoto...mi scrive array vuoto...
alemoppo..??? lo sai che te dico? macchissenefrega......gia e' tanto che mi hai aiutato ad eliminarli singolarmente
uno per uno....e' perfetto ale....grazie , grazie, e grazie,....se ti va...se mi aiuti a capire come eliminare il file
dalla cartella..cosi' poi ho finito....ah dimenticavo...ho messo anche un'altra tabella per gli annunci in mysql,
cosi'....quando uno vuole scrivere un annuncio, e poi decide di eliminarlo , lo puo fare con la email...grazie sempre
per gli insegnamenti.:wink:
http://noncecapisco.altervista.org/a...ito-italia.php