[PHP] Query che aggiorna tabella

Daninet

Nuovo Utente
12 Mag 2016
9
0
1
salve a tutti.
Visto che non sono molto pratico di PHP volevo sapere se il codice che ho inserito potrebbe andare bene per quello che devo fare. Mi spiego
Ho una 2 tabella di un db Mysql , la tabella1 contiene ID, PRICE nella tabella2 devo inserire il campo Price della tabella1 dove vuoto le 2 tabelle sono legate tramite ID.
di seguito il codice che ho scritto:

<?php
error_reporting(E_ALL & ~E_NOTICE);
$hostname = "1.2.2.2";
$username = "Sqltest";
$password = "xxxx";
$database = "Sqltest1";


$mysqli=mysqli_connect($hostname, $username,$password , $database);
if($mysqli->connect_errno){
echo ('numero errore: '. $connessione->connect_errno ."<br />");
echo('errore connessione!' . $connessione->connect_error);
exit;
}
else {
echo("Sei connesso al db!<br/>");
//
$query = "SELECT id_product, price from ps_product ";
$result = mysqli_query($mysqli,$query);
while ($riga = mysqli_fetch_array($result))
{
//echo "<div>\n";
//echo "<div>" . $riga['id_product'] . "</div>\n";
// echo "<div>" . $riga['price'] . "</div>\n";
// echo "</div>\n";
$query2 = "UPDATE ps_product_shop set price = $riga['price'] where id_product = $riga['id_product'] and price = 0";
}
//
}
?>
avevo messo echo "<div>\n"; per visualizzare prima i campi ma in realtà non mi serve.
 

Daninet

Nuovo Utente
12 Mag 2016
9
0
1
scusami non ho riletto(sbagliando).
Mi rispiego
tabella1 contiene i campi ID e PRICE
tabella2 contiene i campi ID e PRICE

devo inserire nella tabella2 i valori della tabella1 dove il campo price della tabella2 è vuoto.
ho fatto una prima query di selezione della tabella1 e poi volevo scorrere i record e aggiornare la tabella2 dove il price =0;
come detto le due tabelle sono legate tramite ID.
 

marino51

Utente Attivo
28 Feb 2013
2.904
160
63
Lombardia
Mi rispiego
tabella1 contiene i campi ID e PRICE
tabella2 contiene i campi ID e PRICE

devo inserire nella tabella2 i valori della tabella1 dove il campo price della tabella2 è vuot
puoi eseguire la query sottostante, che aggiorna tutti i valori a zero o null della tabella 2
Codice:
update tabella2
set price = ( select price from tabella1 where tabella1.id = tabella2.id )
where tabella2.price = 0 or tabella2.price is null
fatto cio' puoi attivare il trigger come suggerito ( o modificare l'inserimento della tabella 2)
per evitare di trovarti con il prezzo vuoto

ps id della tabella 1 deve essere UNIVOCO (non si sa mai cosa può succedere non suggerendolo)