[PHP] If avec variable SQL

MaisOuais -  
Mais.Ouais Messages postés 10 Statut Membre -
Bonjour,

je ne sais pas si mon titre est clair , mais en gros je voudrais savoir deja si c est possible et apres comment ^^

donc je souhaite développer une page PhP regroupant plusieur info venant de differente table SQL

voici mon code commenté

[quote]<?php
mysql_connect("localhost", "root", ""); //log de connexion a serveur SQL
mysql_select_db("GLPI"); //choix de la BDD
$reponse = mysql_query("SELECT * FROM glpi_computers ORDER BY domain")or die(mysql_error()); //choix de la table

while ($donnees = mysql_fetch_array($reponse) ) //$donnees recupere toute les info de la table
{
?>
<p>
<strong>Nom du Poste</strong> : <?php echo $donnees['name']; // affiche le nom du poste ?><br />
<strong> OS </strong> : <?php
if ($donnees['OS'] == 0) //recupere l ID de l OS installé sur le poste
{
echo Windows_2000 ; // si ID=0 c est win2000 etc....
}
?><br />

<?php echo $donnees['os'];?>

</p>

<?php
}

mysql_close(); // Déconnexion de MySQL
?>
/quote
Configuration: Windows 2000
Firefox 3.0.10

12 réponses

  1. le père
     
    bonjour

    $donnees['os'] et $donnees['OS'] sont deux variables différentes

    au passage, echo "Windows_2000"; et non pas echo Windows_2000;
    (sauf si tu as effectivement défini une constante avec define ("Windows_2000","Windows_2000");
    1
  2. Yorundr Messages postés 284 Date d'inscription   Statut Membre Dernière intervention   44
     
    Bonjour,

    oui il n'y a pas de soucis. Ton code ne fonctionne pas ?
    0
  3. 2napot Messages postés 31 Statut Membre
     
    SVP, plus d'explication
    0
  4. Mais.Ouais Messages postés 10 Statut Membre 3
     
    j ai envoyé le message non complet, mauvais clique entre envoyer et prévu

    donc en fait mon code fonctionne mais pas comme je le souhaiterais ce qui veut dire que j ai une erreur

    car en resultat j ai ca

    Nom du Poste : test
    OS : Windows_2000
    1

    Nom du Poste : TESTLGLPI
    OS : Windows_2000
    1

    ce qui n est pas logique quand je lui demande d afficher la variable il me dit qu elle vaut "1" alors qu il prend bien le IF qui est pour une valeur de zero

    dans ma BDD l ID OS est de "1" ce qui veut dire qu il m affiche la bonne valeur mais pour le If cela reste un mystere car lorsque je met ==1 cela ne m affiche plus rien

    le IF n est qu un test car par la suitre le voudrais que cette variable soit utiliser pour recupéré le Nom grace a une autre Table
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 2napot Messages postés 31 Statut Membre
     
    essaye =="1"
    peut être c'est enregistré en tant que chaîne dans votre BD
    0
  7. Mais.Ouais Messages postés 10 Statut Membre 3
     
    non cela ne change rien, ce que je n arrive pas a comprendre c est pourquoi la variable $donnees me donne bien 1 quand elle s affiche avec un simple echo alors qu elle n est pas "==1" dans la condition IF

    si sa peut aidée j explique le lien avec la BDD

    donc j ai une BDD avec tout plein de table , rien de plus normale en fait

    4 table m interresse ,

    la 1er qui répertorie les PC du parc ( ID name os serial location domain network model etc ...)
    sur celle ci je ne m intéresse juste au nom et domaine
    -le nom est donné en charactere donc pas de souci
    -le domaine et donnée par un chiffre qui renvoie sur l ID d une autre table ou sont renseigné les different domaine
    -c est exactement le meme chose pour les OS

    et c est la même chose pour ce qui est des logiciel ID poste a tels ou tels ID software d installé et je doit mettre tout ceci en commum pour avoir un beau tableau ou l ont poura simplement tout ceci

    j espère avoir été assé clair

    merci pour votre aide

    0
  8. Mais.Ouais Messages postés 10 Statut Membre 3
     
    Ha mais quel boulet je fait, une aprem de prise de tete pour une erreur toute simple , c été bien les MAJ.

    une simple relecture par un autre suffit a le voir, merci beaucoup

    peut on faire une requete SQL vers une autre table a l intérieure du "if" ?
    0
    1. le père
       
      peut on faire une requete SQL vers une autre table a l intérieure du "if"
      Bien sûr que oui. Tu fais des requêtes où tu veux, quand tu veux, où es-tu allé chercher qu'il y avait des restrictions ?
      0
  9. Mais.Ouais Messages postés 10 Statut Membre 3
     
    ba je debute en PhP donc je posait la question vu que je vais testé mais comme cela ne va pas marché du 1er coup bien évidement la je suis sur que c est possible et que l erreur viens de moi
    0
    1. le père
       
      Si tu as encore l'exemple sous la main et qu'il n'est pas trop long, mets-le ici, on verra peut-être ce qui n'allait pas.
      0
  10. biboo
     
    Un conseil sinon: évite les SELECT *, mets plutôt les champs de ton choix (question de performance et de bonnes habitudes de programmation).
    0
  11. biboo
     
    Un conseil sinon: évite les SELECT *, mets plutôt les champs de ton choix (question de performance et de bonnes habitudes de programmation).
    0
  12. Mais.Ouais Messages postés 10 Statut Membre 3
     
    <?php
    mysql_connect("localhost", "root", ""); //log de connexion a serveur SQL
    mysql_select_db("GLPI"); //choix de la BDD
    $reponse = mysql_query("SELECT * FROM glpi_computers ORDER BY domain")or die(mysql_error()); //choix de la table

    while ($donnees = mysql_fetch_array($reponse) ) //$donnees recupere toute les info de la table
    {
    ?>
    <p>
    <strong>Nom du Poste</strong> : <?php echo $donnees['name']; // affiche le nom du poste ?><br />
    <strong> OS </strong> : <?php $osid = $donnees['os']; //donne a $os l ID de l'OS du poste ?>
    <?php
    if ($osid > 0 )
    {
    $os = mysql_query("SELECT name FROM glpi_dropdown_os") or die(mysql_error()); // recherhe dans la table des OS
    while( $donneesos = mysql_fetch_array($os) )
    {
    echo $donneesos['name']; // affiche le nom de l OS
    }
    }
    ?><strong><?php echo $osid; ?><br /></strong>
    <strong>Domaine</strong> : <?php $domaineid = $donnees['domain']; // fait de meme avec le nom de domaine
    echo $domaineid; ?>

    </p>

    <?php

    }

    mysql_close(); // Déconnexion de MySQL
    ?>

    voici ce que ca donne
    https://imageshack.com/
    0