Ich habe eine Reihe von Informationen, die ich explodiere es zu ID, Code und Nummer.Aktualisieren Sie Mindestwerte basierend auf einem anderen Wert - MySql
list ($id,$code,$num) = explode("~",$data);
Ich muss es MySql aktualisieren basierend auf einzigartigen code
mit mindestens num
Für nehme meine ersten drei Anfragen sieht aus wie
id = 9267399
code = 5D:148
num = 64
id = 9267398
code = 5D:186
num = 71
id = 9267397
code = 5D:122
num = 93
Dann ist mein 4., hat der 5. Anfragen Code duplizieren 5D:148
mit verschiedenen IDs und Nummern.
id = 9267402
code = 5D:148
num = 22
id = 9267563
code = 5D:148
num = 5
Jetzt muss ich min(num)
für doppelte code
finden und diesen Datensatz zurück zu mysql aktualisieren. Meine Anfragen
$sql = "UPDATE table SET id = '9267398', num = '71' WHERE code = '5D:186' ";
$sql = "UPDATE table SET id = '9267397', num = '93' WHERE code = '5D:122' ";
$sql = "UPDATE table SET id = '9267563', num = '5' WHERE code = '5D:148' ";
hier 5D:148
hat drei Anträge, in denen min(num)
5.
ich die doppelte code
$temp = array();
foreach ($code as $c) {
isset($temp[$c]) or $temp[$c] = 0;
$temp[$c] ++;
}
var_dump($temp);
Das bin ich
array(3) {["5D:148"]=> int(3) ["5D:186"]=> int(1) ["5D:122"]=> int(1)}
schenkt finden versucht haben, aussehen sollte
Ich bin hier fest, wie mache ich Suche min(num)
und führen Sie meine Update-Abfrage basierend darauf
Möchten Sie in der DB die Mindestanzahl "num" für einen "Code", den Sie jemals erhalten haben, oder das Minimum für einen Skriptlauf (Sitzung) haben? – teo
ich brauche in DB. Sitzungen können nicht verwendet werden, da viele Anfragen gleichzeitig bearbeitet werden müssen. – Matarishvan
Für jede Anfrage sollten Sie zuerst versuchen, es in einem Array zu speichern, und wenn es bereits existiert, dann vergleichen Sie die Nummer. Wenn es