J'ai une variable dans mon code, mais elle n'est pas visible lorsque je l'utilise dans un while...
Version imprimable
J'ai une variable dans mon code, mais elle n'est pas visible lorsque je l'utilise dans un while...
"J'ai une variable dans mon code", ca peut être très très vaste comme position :)
Elle se trouve où exactement par rapport au while? dans une fonction?
Non, juste avant...
Voila le code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 while (!feof($fp)) { $ligne = fgets($fp, 4096); eregi("([0-9]{1,3}\.){3}[0-9]{1,3}", $ligne, $reg1); eregi("([A-Z]*-[A-Z]*(-[0-9]*)?)", $ligne, $reg2); eregi("([0-9]{2}/){2}[0-9]{4}[ ]([0-9]{2}:){2}[0-9]{2}", $ligne, $reg3); // On assigne les variables $adr_ip = $reg1[0]; $nom_pc = $reg2[0]; //cette variable $date = $reg3[0]; while ($donnees_dhcp = mysql_fetch_array($res1)) { if ($donnees_dhcp['nom'] == $nom_pc)//la ca marche pas { $datum = $donnees_dhcp['date_expir']; echo "$datum"; } } fclose($fp);
et qu'est-ce qui ne marche pas exactement, tu peux être plus précis...?
T'as fais un echo des différentes valeurs pour voir si elles contenaient bien ce que tu penses ?
Oui, j'ai fais un echo ds le while, elle s'affiche pas
déjà, si tu veux accéder à un index alphanumérique dans ton tableau de resultat du fetch mysql, tu dois utiliser mysql_fetch_assoc et non mysql_fetch_array
Ensuite, quelle variable ne s'affiche pas?
Citation:
Envoyé par bkill
Si si ^^Citation:
mysql_fetch_array -- Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux
La variable $nom_pc s'affiche pas ds le while (en fait j'ai fais un echo ms il est pas ds le code ke j'ai mis)...je comprends pas du tout pourquoi. Vous auriez une idée?Citation:
Envoyé par bkill
Ah yes, pourquoi moi j'ai lu mysql_fetch_row? :)Citation:
Envoyé par hugo123
Hugo123, 1 point. ;)
Donc tu dois déjà avoir un problème avant d'entrer dans le while non?Citation:
Envoyé par jeff&&php
T'as fais un echo avant? testé la regexp?
Le prblème c'est pas vraiment mysql_fetch_array, c'est surtout la variable qui est pas visible dans ce while...:D
Oui oui, avant j'ai fais un echo et elle s'affiche, c'est pas le regexp qui merdeCitation:
Envoyé par bkill
Si ton code est dans une fonction et que ta variable est à l'extérieur, tu dois utiliser global pour accéder à la valeur. Attention, global peut être désactivé par le serveur.
<?
$toto = 'coucou';
bob();
function bob {
global $toto; // sinon la fonction ne connait pas toto
echo $toto;
}
?>
Mais non, il n'y a pas d'histoire de fonction la dedans.Citation:
Envoyé par cyrianox
C'est ca le gros problème...