0
votes

Résultats de la table de comptage: un étui de commutation PHP utilisant une valeur de bouton radio

J'ai édité le message pour une meilleure compréhension. Ceci est mon premier projet en tant qu'étudiant-stagiaire. Il s'agit d'un système de surveillance de l'équipement qui conserve un enregistrement d'équipements informatiques. Cela fait partie du code dans une page contenant une option de filtrage et une table affichant une liste d'équipements informatiques. L'option de filtrage contient plusieurs boutons radio appartenant à deux catégories d'état et d'état. Veuillez consulter les composants des deux catégories à la fin du poste. Les composants sont les valeurs de bouton radio.

La page recharge de la page lorsqu'un autre bouton radio a cliqué sur la recherche sur Facebook. Je voulais de compter le nombre d'équipements par état et à l'état d'être affiché à côté de l'étiquette du bouton radio fort>. Mais, les boutons radio de l'état affectent le comptage d'équipements. Par exemple, la nouvelle EQ est le type d'équipement qui vient d'entrer dans l'inventaire. Lorsque le nouveau bouton EQ est coché et que le bouton Disponible / non attribué est également vérifié, le résultat de la table sera filtré qui affichera des résultats contenant des équipements avec un état neuf et une condition disponible / non assignée. Le résultat de la table sera compté et sera émis à côté de l'étiquette de boutons radio qui indique à l'utilisateur combien d'équipements sont "nouveaux" forts> et "disponibles / non assignés" forts>. Lorsque un autre bouton radio de l'état est cliqué, tel que l'ancien bouton EQ, la quantité affichée de l'équipement disponible / non assigné à côté de l'étiquette changera en fonction du nombre de lignes retournées car l'utilisateur a modifié la demande d'équipement de sortie " Vieux "et" disponible / non assigné " strong>. BTW L'état et la condition sont des colonnes dans la même table. Cela arrivera à tous les boutons radio. Si l'utilisateur clique sur un autre bouton radio sous la catégorie de la condition, tel que le bouton attribué à EQ Strort>, la quantité de la disponibilité disponible / non assignée à côté de l'étiquette passe à 0 ou à zéro car l'utilisateur a demandé que le tableau a demandé à l'utilisateur. Le résultat devrait afficher des équipements nouveaux et attribués forts>, l'équipement disponible / non assigné n'a pas été demandé. Si l'utilisateur clique sur "Tout état" STROND> bouton, il comptera les lignes de table contenant toutes forte> les conditions qui ont également une donnée sur sa ligne A neuf fort> état. Le processus de filtrage pour afficher les résultats de la table fonctionne déjà. Je travaille maintenant sur la sortie des quantités à côté des étiquettes de boutons radio. Entrez la description de l'image ici Entrez la description de l'image ici P>

<?php

switch($state AND $condition){
    case $state=="allstate" AND $condition=="allcondition":
        $sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned'";
        break;

    case $state=="new" AND $condition=="allcondition":
        $sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned' AND eq_state='new'";
        break;

    case $state=="old" AND $condition=="allcondition":
        $sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned' AND eq_state='old'";
        break;

    case $state=="Unknown state" AND $condition=="allcondition":
        $sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned' AND eq_state='Unknown state'";
        break;

    case $state=="Unknown state" AND $condition=="Available/Unassigned":
        $sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned' AND eq_state='Unknown state'";
        break;
}
         //Code above is incomplete
$result3=mysqli_query($conn,$sql3);
$count=mysqli_num_rows($result3);
echo "<label style='color:red;'><strong>".$count."</strong></label>";

?>


4 commentaires

Vous n'avez pas besoin des cas de commutation. Vous pouvez simplement remplacer le eq_condition et eq_state avec les valeurs. Utilisez des valeurs échappées / des déclarations préparées pour éviter l'injection SQL.


Vous n'avez pas une règle logique pour construire votre requête? Si vous avez plus de 32 cas différent pour créer une requête avec 2 paramètres, vous avez un problème logique sur la façon dont vous le faites, je pense


Selon vos besoins, je ne pense pas qu'il y ait besoin de cas de commutation. Je me trompe peut-être, mais selon votre code ci-dessus, si sinon suffit.


J'ai édité le post parce que c'était incomplet, désolé.


3 Réponses :


1
votes

commutateur ($ état et $ condition) sera évalué en vrai ou faux en fonction des valeurs $ State et $ condition .

Donc les seuls cas utiles sont alors

  • Case VRAI
  • case faux
  • cas par défaut

    Dans votre cas, vous devez utiliser si / else construction.

    Mise à jour

    Parce que les commentaires Comment écrire les conditions de toute façon dans une construction d'un commutateur voir Code imbriqué ici: xxx


4 commentaires

Est-il possible de faire un commutateur ($ État et une condition $) un vrai cas?


En regardant votre code, ce serait toujours vrai, car $ État et $ la condition sont pas cordes vides. Vrai et vrai = vrai.


J'ai appris que l'insertion de plusieurs instructions ou dans une déclaration de cas dans le code que j'ai posté est impossible. Comment puis-je mettre plusieurs conditions dans une déclaration de cas pour raccourcir le code?


@jonaspalmiano Vous pouvez également nier des déclarations de commutation. Ensuite, vous pouvez créer la condition ou en fonction du premier cas. Voir ma réponse mise à jour.



0
votes

Vous pouvez essayer ceci:

<?php
$sql3="SELECT *FROM eq_inv WHERE eq_condition='Available/Unassigned'";

if(in_array($state, ['new', 'old', 'Unknown state']) && in_array($condition, ['allcondition', 'Available/Unassigned'])) {
  $sql3 .=" AND eq_state='".$state."'";
}

$result3=mysqli_query($conn,$sql3);
$count=mysqli_num_rows($result3);
echo "<label style='color:red;'><strong>".$count."</strong></label>";
?>


0 commentaires

0
votes

Je partage avec vous les gars le code de travail: xxx

Le reste du code est ici .


0 commentaires