php
  • html
  • mysql
  • html-table
  • 2010-10-31 5 views 0 likes 
    0

    je le code suivant:Déterminer si rien .. PHP MySQL retour

    <table> 
    <thead> 
        <tr> 
        <th>Service</th> 
        <th>Status</th> 
        </tr> 
    </thead> 
    <?php $result = mysql_query("SELECT Service, Status FROM services WHERE Company='Company 1'"); 
        while ($row = mysql_fetch_array($result)) { 
          //^must be a single '=' !!!! 
         echo '<tr><td>' . $row["Service"] . '</td>'; 
         echo '<td>' . $row["Status"] . '</td></tr>'; 
        } ?> 
    </table> 
    

    Pour afficher plusieurs lignes à partir d'une base de données MySQL dans un tableau HTML. Ma question est ... comment puis-je déterminer s'il n'y a pas de lignes qui correspondent à mes critères, et afficher un message indiquant qu'il est vide?

    Répondre

    2

    À mon avis, la meilleure façon est une instruction if + do/while boucle:

    $result = mysql_query("your query"); 
    
    if ($row = mysql_fetch_array($result)) { 
        do { 
         // your loop stuff 
        } while ($row = mysql_fetch_array($result)); 
    } else { 
        echo "No result"; 
    } 
    

    Vous pouvez également utiliser mysql_num_rows fonction, mais gardez à l'esprit, il n'y a pas une telle fonction pour API PDO et le do/alors que la solution fonctionne avec n'importe quelle API.

    P.S. Si vous utilisez seulement la partie associative de votre tableau, utilisez mysql_fetch_assoc au lieu de mysql_fetch_array.

    +0

    omg, j'ai toujours utilisé mysql_num_rows mais ce code est beaucoup plus propre! +1 –

    +0

    J'aimerais vraiment savoir pourquoi mon post a été downvoted, c'est toujours la solution que j'utilise avec PDO et si quelqu'un sait mieux, j'aimerais bien le savoir aussi! –

    +0

    Bon code! Merci! –

    2

    Vous pouvez utiliser la fonction mysql_num_rows():

    $result = mysql_query("SELECT Service ... "); 
    
    if (mysql_num_rows($result) > 0) { 
        // Display Results 
    } 
    else { 
        // No Results 
    } 
    
    +0

    Ou même 'if (mysql_num_rows ($ result))' (il renvoie 'FALSE' en cas d'échec aussi) – amphetamachine

    Questions connexes