2017-10-02 2 views
1

Je veux exécuter une requête SQL select qui va chercher P_no et après qu'une requête de mise à jour est exécutée pour elle. Il met toujours à jour seulement 1 valeur.comment exécuter la requête de mise à jour pour toutes les valeurs par requête précédente vont chercher

$d=date('Y-m-d'); 
$qu="select P_no from date_summary where `Nextcall_1`='$d' or 
`Nextcall_2`='$d' or `Nextcall_3`='$d' or `Nextcall_4`='$d' 
or`Nextcall_5`='$d' or `Nextcall_6`='$d' or `Nextcall_7`='$d' or 
`Nextcall_8`='$d' or `Nextcall_9`='$d' or `Nextcall_10`='$d' or 
`Nextcall_11`='$d'"; 
$res=mysqli_query($con,$qu); 
if($res && mysqli_num_rows($res)>0) 
{ 
    while($row=mysqli_fetch_assoc($res)) 
    { 
     $p1=$row["P_no"]; 
     $qu="update notification_status set Noti_status='Unchecked' where 
     P_no=$p1"; 
     $res=mysqli_query($con,$qu); 
    } 
} 
+1

est votre requête de sélection retour plusieurs enregistrements? – parpar

Répondre

2

Vous pouvez utiliser l'opérateur in:

UPDATE notification_status 
SET noti_status='Unchecked' 
WHERE p_no IN (SELECT p_no FROM date_summary WHERE /* etc... */)