[PHP] If avec variable SQL

Fermé
MaisOuais - 18 mai 2009 à 16:27
Mais.Ouais Messages postés 9 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 14 août 2009 - 19 mai 2009 à 11:08
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
A voir également:

12 réponses

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
Yorundr Messages postés 289 Date d'inscription mardi 31 octobre 2006 Statut Membre Dernière intervention 11 juin 2012 44
18 mai 2009 à 16:29
Bonjour,

oui il n'y a pas de soucis. Ton code ne fonctionne pas ?
0
2napot Messages postés 29 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 18 mai 2009
18 mai 2009 à 16:30
SVP, plus d'explication
0
Mais.Ouais Messages postés 9 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 14 août 2009 3
18 mai 2009 à 16:38
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
2napot Messages postés 29 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 18 mai 2009
18 mai 2009 à 16:45
essaye =="1"
peut être c'est enregistré en tant que chaîne dans votre BD
0
Mais.Ouais Messages postés 9 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 14 août 2009 3
18 mai 2009 à 16:53
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
Mais.Ouais Messages postés 9 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 14 août 2009 3
18 mai 2009 à 17:11
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
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
Mais.Ouais Messages postés 9 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 14 août 2009 3
18 mai 2009 à 17:31
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
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
Un conseil sinon: évite les SELECT *, mets plutôt les champs de ton choix (question de performance et de bonnes habitudes de programmation).
0
Un conseil sinon: évite les SELECT *, mets plutôt les champs de ton choix (question de performance et de bonnes habitudes de programmation).
0
(Oups, désolé du double post)
0
Mais.Ouais Messages postés 9 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 14 août 2009 3
19 mai 2009 à 11:08
<?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