Update in MySQL din PHP bucla for
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
andras
- Mesaje:430
Update in MySQL din PHP bucla for
Salut,
In MySQL am o tabela cu 2 cimpuri numerice (simplificat) cu index pe una din coloane. Vreau sa activez acel index iar in cealalta coloana sa pun valori de la 1 la n (o bucla), dar toate acestea printr-o singura comanda. Exemplu (pseudocod):
Cod: Selectaţi tot
- set index nrpozitie (activez index = nrpozitie este cimpul din tabela)
- select count(*) as k from tabela
for ($i=1; $i<=$k; $i++)
- update tabela set rang='$i'
Bucla for pentru cimpul rang trebuie sa se faca pe index-ul celeilalte coloane (nrpozitie).
Cum pot face asta in PHP cu un numar minim de interventii? Ideal ar fi o singura interventie in BD. Multumesc.
MarPlo
Mesaje:4343
Salut
Daca vrei sa faci update la mai multe randuri in mysql printr-o singura comanda, ar trebui sa construiesti comanda SQL Update cu instructiuni CASE.
Personal nu am folosit, deci nu stiu sigur cum se face, dar vezi raspunsul la o astfel de intrebare la adresa:
http://stackoverflow.com/questions/2567 ... -one-query
- Sau vezi ce gasesti pe internet la cautare:
mysql multiple update single query
Daca vrei sa executi mai multe comenzi intr-o singura interogare cu MySQLi in PHP, se poate folosi:
$mysqli->multi_query($sql), se unesc sirurile cu comenzile SQL intr-un singur sir $sql care se transmite cu multi_query().
Vezi exemplu la pagina:
http://php.net/manual/en/mysqli.quickst ... tement.php