2 votes

Compter toutes les lignes de la base de données dont la colonne est égale à `YES`.

J'ai une base de données crm_data dans lequel j'ai plusieurs tables. Je veux maintenant calculer toutes les lignes de la base de données entière où column_name est égale à YES . Pour calculer toutes les lignes de la base de données, j'utilise cette requête mysql.

Ma requête SQL :

$sql = $db_con2->prepare("SELECT SUM(TABLE_ROWS) AS all_rows FROM 
       INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'crm_data'");
$sql->execute();
$all_rows = $sql->fetchAll();
if (count($all_rows) > 0) {
   foreach ($all_rows as $all_rows) {
      echo $all_rows['all_rows'];
   }
} else {
   $all_rows = '0';
}

Gracias

1voto

Qarar Ul Hassan Points 71

Ce que j'ai fait, c'est revenir à l'essentiel et utiliser SHOW TABLES J'utilise ensuite une requête de tableau SELECT * FROM $company WHERE rental_status = 'YES' . et j'ai obtenu les résultats.

BTW Merci aux personnes qui m'ont fait part de leurs suggestions.

0voto

dean Points 318

Essayez ceci, j'espère que cela fonctionnera pour vous

// connect to Database.
   $links = mysqli_connect($db_host, $db_username, $db_password, $db_name );

   if($links === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
      }

//get total
    $n = 'YES';

$result = mysqli_query($links,"SELECT   Count(*) As column_name FROM crm_data WHERE column_name='".$n."'");

                                                       $rows = mysqli_num_rows($result);

                                                if($rows){

                                                    $gt = mysqli_fetch_assoc($result);

                                                     $total = $gt["column_name"];

                                                    }
                                   echo $total;

Utilisation de PDO comme demandé.

 // using PDO
  $servername = "localhost";
$username = "user";
$password = "pass";

try {
    $conn = new PDO("mysql:host=$servername;dbname=dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //echo "Connected successfully"; 

// call for the row count here.

$w='YES';
$rs = $conn->prepare("SELECT   Count(*) As column_name FROM crm_data WHERE column_name='".$w."'");
$rs->execute();
$count = $rs->rowCount();
echo '<p>Total:'.$count.'</p>';
}
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }

-2voto

Jack hardcastle Points 1461

Vous n'interrogez plus les données de votre base, mais la structure même de la base, ce qui est préoccupant.

Néanmoins...

 SELECT SUM(`COLUMN_NAME`) FROM `INFORMATION_SCHEMA`.`COLUMNS` where `COLUMN_NAME` = 'YES' AND `TABLE_SCHEMA` = 'crm_data';

La requête que vous recherchez est-elle...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X