2016-07-29 20 views
0

Ich versuche, die Anzahl der Zahlungen (PAID) aus der Tabelle zu zählen.aktualisiert :: Anzahl von Feldern mit einem bestimmten Wert erhalten? -mysql-php

Please Assume This is the table: 

| book_no | name | mobile | date1 | date2 | date3 | date4 |.. daten | 
|---------|------|--------|-------|-------|-------|-------|-------| 
| 1 | Cell |  | PAID | DUE | DUE |  |  | 
| 2 | Cell |  | PAID | PAID | PAID |  |  | 
| 3 | Cell |  | DUE | DUE | DUE | DUE |  | 
| 4 | Cell |  | PAID | PAID | PAID |  |  | 
| 5 | Cell |  | DUE | DUE | DUE |  |  | 

In der obigen Tabelle Count (Paid) = 7

Die Anzahl der Datumsspalten ist dynamisch, so ist Ich denke, es klüger, die gesamte Tabelle zu suchen und die BEZAHLT Count.

dies ist der Code, den ich auf Stack-Überlauf beziehen Antworten schreiben geschaffen, aber es ich glaube nicht, dass für diesen

Leider die richtigen, das ich früher den falschen Code geschrieben, weil ich verschiedene Dinge versuche und vergessen zu ctrl-z vor dem Posten hier.

//what is the search? 
       $search = "PAID"; 
       //get all the columns 

        $columnsq ="SELECT 
           COLUMN_NAME 
           FROM 
           information_schema.COLUMNS 
           WHERE TABLE_NAME = " .$scheme_name. " 
           AND TABLE_SCHEMA = 'gold' "; 
        $columns=mysqli_query($conn,$columnsq); 
        var_dump($columns); 
       //put each like clause in an array 
       $queryLikes = array(); 
       while ($column = $columns->fetch_assoc()) { 
        $queryLikes[] = $column['COLUMN_NAME'] . " LIKE '%$search%'"; 
       } 

       $query = "SELECT COUNT(*) FROM " .$scheme_name. " WHERE " . implode(" OR ", $queryLikes); 
       //echo $query; //should look like this: 
       //SELECT * FROM users WHERE column1 LIKE '%something%' OR column2 LIKE '%something%' OR column3 LIKE '%something%' OR ... 
       //so then 
       $users=mysqli_query($conn,$query); 
       while ($user = $users->fetch_assoc()) { 
        //do stuff with $user 
         echo $users; 
       } 

Dies ist der Fehler, den ich bekommen.

bool(false) 
Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in E:\xampp\htdocs\schemeTable11.php:394 Stack trace: #0 {main} thrown in E:\xampp\htdocs\schemeTable11.php on line 394 

daher suche ich nach alternativen Lösungen. Bitte Hilfe

+0

@Marc Bitte sehen Sie meine Bearbeitung zum Beitrag. Ich habe einen Fehler beim letzten Mal gemacht –

+0

andere dupee, dann: http://stackoverflow.com/questions/5121027/fatal-error-call-to-a-member-function-fetch-assoc-on-a-non-- Objekt –

Antwort

0

Sie müssen wirklich lernen, wie Fehlermeldungen zu lesen:

$columnsq ="SELECT 
     ^^----note those two letters 

var_dump($columns); 
       ^---UNDEFINED 
    //put each like clause in an array 
    $queryLikes = array(); 
    while ($column = $columns->fetch_assoc()) { 
          ^--UNDEFINED 

Sie ausgeführt nie Ihre Anfrage, die Sie definiert nie $columns, und das ist genau das, was PHP zu sagen versucht, Sie.

+0

Bitte sehen Sie meine Bearbeitung zum Beitrag. Ich habe beim letzten Mal einen Fehler gemacht –