sql >> Databasteknik >  >> RDS >> Mysql

Kryssrutavärden i mysql-frågan

Din POST-variabel ($_POST['checkbox']) är faktiskt redan en array. Först, för att ta reda på vad du faktiskt arbetar med, gör du så här:

echo '<pre>';
print_r ($_POST['checkbox']);
echo '</pre>';
';

Titta sedan på ditt manus och ta en titt på resultatet. Chansen är stor att du kommer att se en array med några nycklar och värden. Med det kan du bestämma hur du ska gå vidare.

Om det var jag skulle jag göra något i stil med följande för att utföra din uppgift:

$sql = "SELECT `table_id_column`, `another_column` ";
foreach ($_POST['checkbox'] as $key => $value) {
  $sql .= ", `$value`";
}
$sql .= " FROM `hostess` ORDER BY `another_colmn` ASC";

Kom ihåg att det är mycket dålig praxis att tillåta att en SQL-sats ändras på detta sätt. Du bör införa lite säkerhet i detta innan du sätter det i en produktionsmiljö.

Lukas



  1. Problem med symfony 1.49 och MySQL 5.5.8

  2. Kombinera två frågor för att söka efter dubbletter i MySQL?

  3. mysqldump med skapa databasrad

  4. postgres kollationsskillnader. osx mot ubuntu