Ich habe ein Array, das Zahlen wie "331.554,22" oder "45" enthält. Angenommen, das Array heißt $numbers
.
Ich möchte das Array durchlaufen und für jede Zahl oder jeden Eintrag darin eine SQL-Abfrage wie
UPDATE members SET x=1 where id=$numbers[x]
durchführen Könnte mir jemand weiterhelfen?
UPDATE: Angenommen, ich speichere die Abfragewerte in einem Textfeld in meiner Datenbank mit dem Namen nums
und es sieht so aus. "45,656,23", wie würde ich das in ein Array-Format konvertieren?
Wenn das verifizierbare "331,554,22"
kein Array (String) ist, explodiert es zuerst
$numbers = explode(',',$numbers);
und dann.
Foreach:
foreach ($numbers as $number)
{
//query like SET x=1 where id=$number
}
Für:
for($i = 0; $i < count($numbers); $i++)
{
//query like SET x=1 where id=$numbers[$i]
}
Wenn x immer 1 ist, können Sie in
verwenden $query = "UPDATE table SET x = 1 WHERE id IN(" . implode(',',$numbers) . ")"
und wenn die Variable $numbers
ein String ist und x
für jede ID 1
ist, vergessen Sie alles, was ich geschrieben habe und versuchen Sie es nur:)
$query = "UPDATE table SET x = 1 WHERE id IN({$numbers})"
foreach ($ zahlen als $ number) { $ sql = "UPDATE some_table SET X = 1 WHERE id =". $ number }
Ich hoffe es hilft
$query = "UPDATE members SET x=1 WHERE id IN(".implode( ",", $numbers).")";
Es ist eine Zeichenfolge, also explodiere ich
$query = "UPDATE members SET x=1 WHERE id IN({$numbers})";
<?php
$numbers = array(25, 658, 968, 548, 698, 365);
foreach($numbers as $number){
echo "UPDATE members SET x=1 where id=$number\n";
}
?>
OUTPUT
UPDATE members SET x=1 where id=25
UPDATE members SET x=1 where id=658
UPDATE members SET x=1 where id=968
UPDATE members SET x=1 where id=548
UPDATE members SET x=1 where id=698
UPDATE members SET x=1 where id=365