Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak dodać ostatnią kolumnę w tabeli mysql

Biorąc pod uwagę kod, który zamieściłeś, oto jak sobie z tym poradzę.

Najpierw utworzyłbym tablicę wyszukiwania asocjacyjnego, której kluczami są nazwy kolumn, a wartościami odpowiadające im wartości punktowe; wyglądałoby to mniej więcej tak:

$pointVals = array('email1' => 2, 'email2' => 5, 'email3' => 2, ... );

Możesz wygenerować tę tablicę, jak chcesz; Prawdopodobnie przeczytałbym to z tabeli przeglądowej w bazie danych. Zauważ, że ta tablica zawiera tylko te kolumny, dla których obliczenia są istotne.

Następnie dołączyłbym następujący kod wewnątrz Twój while pętla. $row jest tablicą rekordów zwróconą przez twoje wywołanie mysql_fetch_array() .

while ($row = mysql_fetch_array($result)) {
  ... // existing code goes here
  $rowSum = 0;
  foreach($pointVals as $colName => $val)
  {
    if(isset($row[$colName]) && !empty($row[$colName]))
      $rowSum += $val;
  }
  ... // do stuff with $rowSum here
}

Powiedziawszy to, gorąco zachęcam do konwersji z mysql kierowca do mysqli lub PDO , jako mysql jest przestarzałe i zostało usunięte z PHP 7. Podejrzewam też, że twoje zapytanie można uprościć i ulepszyć, ale muszę zobaczyć tabelę bazową, aby coś zasugerować.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP Cookie do utrzymania zalogowania użytkownika - czy to jest wystarczająco bezpieczne?

  2. utf8mb4_unicode_ci vs utf8mb4_bin

  3. ustaw kolumnę tekstową jako unikalny klucz

  4. Wewnętrzne złączenie zagnieżdżone wewnątrz instrukcji aktualizacji SQL

  5. Tworzenie listy z możliwością filtrowania za pomocą zapytań Laravel i Eloquent