[RESOLU] Affichage listes déroulantes liées

Mammouth du PHP | 19672 Messages

20 mars 2013, 18:25

Fais voir le vardump complet (au moins pour un des réseaux) de ta variable $reseaux, donc que chaque accolade ouverte ait son accolade fermante, j'aurai une meilleure idée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

[Compte supprime]
Invité n'ayant pas de compte PHPfrance

20 mars 2013, 18:31

J'ai mis les 4 premiers réseaux, mais en fait, on se rend compte que c'est 2 x 2 réseaux, 1 avec le nom et 1 sans le nom... (j'ai dû couper le dernier, post trop long)

Code : Tout sélectionner

array(24) { ["Test"]=> array(2) { [1]=> array(254) { [0]=> string(10) "172.30.0.1" [1]=> string(10) "172.30.0.2" [2]=> string(10) "172.30.0.3" [3]=> string(10) "172.30.0.4" [4]=> string(10) "172.30.0.5" [5]=> string(10) "172.30.0.6" [6]=> string(10) "172.30.0.7" [7]=> string(10) "172.30.0.8" [8]=> string(10) "172.30.0.9" [9]=> string(11) "172.30.0.10" [10]=> string(11) "172.30.0.11" [11]=> string(11) "172.30.0.12" [12]=> string(11) "172.30.0.13" [13]=> string(11) "172.30.0.14" [14]=> string(11) "172.30.0.15" [15]=> string(11) "172.30.0.16" [16]=> string(11) "172.30.0.17" [17]=> string(11) "172.30.0.18" [18]=> string(11) "172.30.0.19" [19]=> string(11) "172.30.0.20" [20]=> string(11) "172.30.0.21" [21]=> string(11) "172.30.0.22" [22]=> string(11) "172.30.0.23" [23]=> string(11) "172.30.0.24" [24]=> string(11) "172.30.0.25" [25]=> string(11) "172.30.0.26" [26]=> string(11) "172.30.0.27" [27]=> string(11) "172.30.0.28" [28]=> string(11) "172.30.0.29" [29]=> string(11) "172.30.0.30" [30]=> string(11) "172.30.0.31" [31]=> string(11) "172.30.0.32" [32]=> string(11) "172.30.0.33" [33]=> string(11) "172.30.0.34" [34]=> string(11) "172.30.0.35" [35]=> string(11) "172.30.0.36" [36]=> string(11) "172.30.0.37" [37]=> string(11) "172.30.0.38" [38]=> string(11) "172.30.0.39" [39]=> string(11) "172.30.0.40" [40]=> string(11) "172.30.0.41" [41]=> string(11) "172.30.0.42" [42]=> string(11) "172.30.0.43" [43]=> string(11) "172.30.0.44" [44]=> string(11) "172.30.0.45" [45]=> string(11) "172.30.0.46" [46]=> string(11) "172.30.0.47" [47]=> string(11) "172.30.0.48" [48]=> string(11) "172.30.0.49" [49]=> string(11) "172.30.0.50" [50]=> string(11) "172.30.0.51" [51]=> string(11) "172.30.0.52" [52]=> string(11) "172.30.0.53" [53]=> string(11) "172.30.0.54" [54]=> string(11) "172.30.0.55" [55]=> string(11) "172.30.0.56" [56]=> string(11) "172.30.0.57" [57]=> string(11) "172.30.0.58" [58]=> string(11) "172.30.0.59" [59]=> string(11) "172.30.0.60" [60]=> string(11) "172.30.0.61" [61]=> string(11) "172.30.0.62" [62]=> string(11) "172.30.0.63" [63]=> string(11) "172.30.0.64" [64]=> string(11) "172.30.0.65" [65]=> string(11) "172.30.0.66" [66]=> string(11) "172.30.0.67" [67]=> string(11) "172.30.0.68" [68]=> string(11) "172.30.0.69" [69]=> string(11) "172.30.0.70" [70]=> string(11) "172.30.0.71" [71]=> string(11) "172.30.0.72" [72]=> string(11) "172.30.0.73" [73]=> string(11) "172.30.0.74" [74]=> string(11) "172.30.0.75" [75]=> string(11) "172.30.0.76" [76]=> string(11) "172.30.0.77" [77]=> string(11) "172.30.0.78" [78]=> string(11) "172.30.0.79" [79]=> string(11) "172.30.0.80" [80]=> string(11) "172.30.0.81" [81]=> string(11) "172.30.0.82" [82]=> string(11) "172.30.0.83" [83]=> string(11) "172.30.0.84" [84]=> string(11) "172.30.0.85" [85]=> string(11) "172.30.0.86" [86]=> string(11) "172.30.0.87" [87]=> string(11) "172.30.0.88" [88]=> string(11) "172.30.0.89" [89]=> string(11) "172.30.0.90" [90]=> string(11) "172.30.0.91" [91]=> string(11) "172.30.0.92" [92]=> string(11) "172.30.0.93" [93]=> string(11) "172.30.0.94" [94]=> string(11) "172.30.0.95" [95]=> string(11) "172.30.0.96" [96]=> string(11) "172.30.0.97" [97]=> string(11) "172.30.0.98" [98]=> string(11) "172.30.0.99" [99]=> string(12) "172.30.0.100" [100]=> string(12) "172.30.0.101" [101]=> string(12) "172.30.0.102" [102]=> string(12) "172.30.0.103" [103]=> string(12) "172.30.0.104" [104]=> string(12) "172.30.0.105" [105]=> string(12) "172.30.0.106" [106]=> string(12) "172.30.0.107" [107]=> string(12) "172.30.0.108" [108]=> string(12) "172.30.0.109" [109]=> string(12) "172.30.0.110" [110]=> string(12) "172.30.0.111" [111]=> string(12) "172.30.0.112" [112]=> string(12) "172.30.0.113" [113]=> string(12) "172.30.0.114" [114]=> string(12) "172.30.0.115" [115]=> string(12) "172.30.0.116" [116]=> string(12) "172.30.0.117" [117]=> string(12) "172.30.0.118" [118]=> string(12) "172.30.0.119" [119]=> string(12) "172.30.0.120" [120]=> string(12) "172.30.0.121" [121]=> string(12) "172.30.0.122" [122]=> string(12) "172.30.0.123" [123]=> string(12) "172.30.0.124" [124]=> string(12) "172.30.0.125" [125]=> string(12) "172.30.0.126" [126]=> string(12) "172.30.0.127" [127]=> string(12) "172.30.0.128" [128]=> string(12) "172.30.0.129" [129]=> string(12) "172.30.0.130" [130]=> string(12) "172.30.0.131" [131]=> string(12) "172.30.0.132" [132]=> string(12) "172.30.0.133" [133]=> string(12) "172.30.0.134" [134]=> string(12) "172.30.0.135" [135]=> string(12) "172.30.0.136" [136]=> string(12) "172.30.0.137" [137]=> string(12) "172.30.0.138" [138]=> string(12) "172.30.0.139" [139]=> string(12) "172.30.0.140" [140]=> string(12) "172.30.0.141" [141]=> string(12) "172.30.0.142" [142]=> string(12) "172.30.0.143" [143]=> string(12) "172.30.0.144" [144]=> string(12) "172.30.0.145" [145]=> string(12) "172.30.0.146" [146]=> string(12) "172.30.0.147" [147]=> string(12) "172.30.0.148" [148]=> string(12) "172.30.0.149" [149]=> string(12) "172.30.0.150" [150]=> string(12) "172.30.0.151" [151]=> string(12) "172.30.0.152" [152]=> string(12) "172.30.0.153" [153]=> string(12) "172.30.0.154" [154]=> string(12) "172.30.0.155" [155]=> string(12) "172.30.0.156" [156]=> string(12) "172.30.0.157" [157]=> string(12) "172.30.0.158" [158]=> string(12) "172.30.0.159" [159]=> string(12) "172.30.0.160" [160]=> string(12) "172.30.0.161" [161]=> string(12) "172.30.0.162" [162]=> string(12) "172.30.0.163" [163]=> string(12) "172.30.0.164" [164]=> string(12) "172.30.0.165" [165]=> string(12) "172.30.0.166" [166]=> string(12) "172.30.0.167" [167]=> string(12) "172.30.0.168" [168]=> string(12) "172.30.0.169" [169]=> string(12) "172.30.0.170" [170]=> string(12) "172.30.0.171" [171]=> string(12) "172.30.0.172" [172]=> string(12) "172.30.0.173" [173]=> string(12) "172.30.0.174" [174]=> string(12) "172.30.0.175" [175]=> string(12) "172.30.0.176" [176]=> string(12) "172.30.0.177" [177]=> string(12) "172.30.0.178" [178]=> string(12) "172.30.0.179" [179]=> string(12) "172.30.0.180" [180]=> string(12) "172.30.0.181" [181]=> string(12) "172.30.0.182" [182]=> string(12) "172.30.0.183" [183]=> string(12) "172.30.0.184" [184]=> string(12) "172.30.0.185" [185]=> string(12) "172.30.0.186" [186]=> string(12) "172.30.0.187" [187]=> string(12) "172.30.0.188" [188]=> string(12) "172.30.0.189" [189]=> string(12) "172.30.0.190" [190]=> string(12) "172.30.0.191" [191]=> string(12) "172.30.0.192" [192]=> string(12) "172.30.0.193" [193]=> string(12) "172.30.0.194" [194]=> string(12) "172.30.0.195" [195]=> string(12) "172.30.0.196" [196]=> string(12) "172.30.0.197" [197]=> string(12) "172.30.0.198" [198]=> string(12) "172.30.0.199" [199]=> string(12) "172.30.0.200" [200]=> string(12) "172.30.0.201" [201]=> string(12) "172.30.0.202" [202]=> string(12) "172.30.0.203" [203]=> string(12) "172.30.0.204" [204]=> string(12) "172.30.0.205" [205]=> string(12) "172.30.0.206" [206]=> string(12) "172.30.0.207" [207]=> string(12) "172.30.0.208" [208]=> string(12) "172.30.0.209" [209]=> string(12) "172.30.0.210" [210]=> string(12) "172.30.0.211" [211]=> string(12) "172.30.0.212" [212]=> string(12) "172.30.0.213" [213]=> string(12) "172.30.0.214" [214]=> string(12) "172.30.0.215" [215]=> string(12) "172.30.0.216" [216]=> string(12) "172.30.0.217" [217]=> string(12) "172.30.0.218" [218]=> string(12) "172.30.0.219" [219]=> string(12) "172.30.0.220" [220]=> string(12) "172.30.0.221" [221]=> string(12) "172.30.0.222" [222]=> string(12) "172.30.0.223" [223]=> string(12) "172.30.0.224" [224]=> string(12) "172.30.0.225" [225]=> string(12) "172.30.0.226" [226]=> string(12) "172.30.0.227" [227]=> string(12) "172.30.0.228" [228]=> string(12) "172.30.0.229" [229]=> string(12) "172.30.0.230" [230]=> string(12) "172.30.0.231" [231]=> string(12) "172.30.0.232" [232]=> string(12) "172.30.0.233" [233]=> string(12) "172.30.0.234" [234]=> string(12) "172.30.0.235" [235]=> string(12) "172.30.0.236" [236]=> string(12) "172.30.0.237" [237]=> string(12) "172.30.0.238" [238]=> string(12) "172.30.0.239" [239]=> string(12) "172.30.0.240" [240]=> string(12) "172.30.0.241" [241]=> string(12) "172.30.0.242" [242]=> string(12) "172.30.0.243" [243]=> string(12) "172.30.0.244" [244]=> string(12) "172.30.0.245" [245]=> string(12) "172.30.0.246" [246]=> string(12) "172.30.0.247" [247]=> string(12) "172.30.0.248" [248]=> string(12) "172.30.0.249" [249]=> string(12) "172.30.0.250" [250]=> string(12) "172.30.0.251" [251]=> string(12) "172.30.0.252" [252]=> string(12) "172.30.0.253" [253]=> string(12) "172.30.0.254" } [2]=> array(254) { [0]=> string(10) "172.30.0.1" [1]=> string(10) "172.30.0.2" [2]=> string(10) "172.30.0.3" [3]=> string(10) "172.30.0.4" [4]=> string(10) "172.30.0.5" [5]=> string(10) "172.30.0.6" [6]=> string(10) "172.30.0.7" [7]=> string(10) "172.30.0.8" [8]=> string(10) "172.30.0.9" [9]=> string(11) "172.30.0.10" [10]=> string(11) "172.30.0.11" [11]=> string(11) "172.30.0.12" [12]=> string(11) "172.30.0.13" [13]=> string(11) "172.30.0.14" [14]=> string(11) "172.30.0.15" [15]=> string(11) "172.30.0.16" [16]=> string(11) "172.30.0.17" [17]=> string(11) "172.30.0.18" [18]=> string(11) "172.30.0.19" [19]=> string(11) "172.30.0.20" [20]=> string(11) "172.30.0.21" [21]=> string(11) "172.30.0.22" [22]=> string(11) "172.30.0.23" [23]=> string(11) "172.30.0.24" [24]=> string(11) "172.30.0.25" [25]=> string(11) "172.30.0.26" [26]=> string(11) "172.30.0.27" [27]=> string(11) "172.30.0.28" [28]=> string(11) "172.30.0.29" [29]=> string(11) "172.30.0.30" [30]=> string(11) "172.30.0.31" [31]=> string(11) "172.30.0.32" [32]=> string(11) "172.30.0.33" [33]=> string(11) "172.30.0.34" [34]=> string(11) "172.30.0.35" [35]=> string(11) "172.30.0.36" [36]=> string(11) "172.30.0.37" [37]=> string(11) "172.30.0.38" [38]=> string(11) "172.30.0.39" [39]=> string(11) "172.30.0.40" [40]=> string(11) "172.30.0.41" [41]=> string(11) "172.30.0.42" [42]=> string(11) "172.30.0.43" [43]=> string(11) "172.30.0.44" [44]=> string(11) "172.30.0.45" [45]=> string(11) "172.30.0.46" [46]=> string(11) "172.30.0.47" [47]=> string(11) "172.30.0.48" [48]=> string(11) "172.30.0.49" [49]=> string(11) "172.30.0.50" [50]=> string(11) "172.30.0.51" [51]=> string(11) "172.30.0.52" [52]=> string(11) "172.30.0.53" [53]=> string(11) "172.30.0.54" [54]=> string(11) "172.30.0.55" [55]=> string(11) "172.30.0.56" [56]=> string(11) "172.30.0.57" [57]=> string(11) "172.30.0.58" [58]=> string(11) "172.30.0.59" [59]=> string(11) "172.30.0.60" [60]=> string(11) "172.30.0.61" [61]=> string(11) "172.30.0.62" [62]=> string(11) "172.30.0.63" [63]=> string(11) "172.30.0.64" [64]=> string(11) "172.30.0.65" [65]=> string(11) "172.30.0.66" [66]=> string(11) "172.30.0.67" [67]=> string(11) "172.30.0.68" [68]=> string(11) "172.30.0.69" [69]=> string(11) "172.30.0.70" [70]=> string(11) "172.30.0.71" [71]=> string(11) "172.30.0.72" [72]=> string(11) "172.30.0.73" [73]=> string(11) "172.30.0.74" [74]=> string(11) "172.30.0.75" [75]=> string(11) "172.30.0.76" [76]=> string(11) "172.30.0.77" [77]=> string(11) "172.30.0.78" [78]=> string(11) "172.30.0.79" [79]=> string(11) "172.30.0.80" [80]=> string(11) "172.30.0.81" [81]=> string(11) "172.30.0.82" [82]=> string(11) "172.30.0.83" [83]=> string(11) "172.30.0.84" [84]=> string(11) "172.30.0.85" [85]=> string(11) "172.30.0.86" [86]=> string(11) "172.30.0.87" [87]=> string(11) "172.30.0.88" [88]=> string(11) "172.30.0.89" [89]=> string(11) "172.30.0.90" [90]=> string(11) "172.30.0.91" [91]=> string(11) "172.30.0.92" [92]=> string(11) "172.30.0.93" [93]=> string(11) "172.30.0.94" [94]=> string(11) "172.30.0.95" [95]=> string(11) "172.30.0.96" [96]=> string(11) "172.30.0.97" [97]=> string(11) "172.30.0.98" [98]=> string(11) "172.30.0.99" [99]=> string(12) "172.30.0.100" [100]=> string(12) "172.30.0.101" [101]=> string(12) "172.30.0.102" [102]=> string(12) "172.30.0.103" [103]=> string(12) "172.30.0.104" [104]=> string(12) "172.30.0.105" [105]=> string(12) "172.30.0.106" [106]=> string(12) "172.30.0.107" [107]=> string(12) "172.30.0.108" [108]=> string(12) "172.30.0.109" [109]=> string(12) "172.30.0.110" [110]=> string(12) "172.30.0.111" [111]=> string(12) "172.30.0.112" [112]=> string(12) "172.30.0.113" [113]=> string(12) "172.30.0.114" [114]=> string(12) "172.30.0.115" [115]=> string(12) "172.30.0.116" [116]=> string(12) "172.30.0.117" [117]=> string(12) "172.30.0.118" [118]=> string(12) "172.30.0.119" [119]=> string(12) "172.30.0.120" [120]=> string(12) "172.30.0.121" [121]=> string(12) "172.30.0.122" [122]=> string(12) "172.30.0.123" [123]=> string(12) "172.30.0.124" [124]=> string(12) "172.30.0.125" [125]=> string(12) "172.30.0.126" [126]=> string(12) "172.30.0.127" [127]=> string(12) "172.30.0.128" [128]=> string(12) "172.30.0.129" [129]=> string(12) "172.30.0.130" [130]=> string(12) "172.30.0.131" [131]=> string(12) "172.30.0.132" [132]=> string(12) "172.30.0.133" [133]=> string(12) "172.30.0.134" [134]=> string(12) "172.30.0.135" [135]=> string(12) "172.30.0.136" [136]=> string(12) "172.30.0.137" [137]=> string(12) "172.30.0.138" [138]=> string(12) "172.30.0.139" [139]=> string(12) "172.30.0.140" [140]=> string(12) "172.30.0.141" [141]=> string(12) "172.30.0.142" [142]=> string(12) "172.30.0.143" [143]=> string(12) "172.30.0.144" [144]=> string(12) "172.30.0.145" [145]=> string(12) "172.30.0.146" [146]=> string(12) "172.30.0.147" [147]=> string(12) "172.30.0.148" [148]=> string(12) "172.30.0.149" [149]=> string(12) "172.30.0.150" [150]=> string(12) "172.30.0.151" [151]=> string(12) "172.30.0.152" [152]=> string(12) "172.30.0.153" [153]=> string(12) "172.30.0.154" [154]=> string(12) "172.30.0.155" [155]=> string(12) "172.30.0.156" [156]=> string(12) "172.30.0.157" [157]=> string(12) "172.30.0.158" [158]=> string(12) "172.30.0.159" [159]=> string(12) "172.30.0.160" [160]=> string(12) "172.30.0.161" [161]=> string(12) "172.30.0.162" [162]=> string(12) "172.30.0.163" [163]=> string(12) "172.30.0.164" [164]=> string(12) "172.30.0.165" [165]=> string(12) "172.30.0.166" [166]=> string(12) "172.30.0.167" [167]=> string(12) "172.30.0.168" [168]=> string(12) "172.30.0.169" [169]=> string(12) "172.30.0.170" [170]=> string(12) "172.30.0.171" [171]=> string(12) "172.30.0.172" [172]=> string(12) "172.30.0.173" [173]=> string(12) "172.30.0.174" [174]=> string(12) "172.30.0.175" [175]=> string(12) "172.30.0.176" [176]=> string(12) "172.30.0.177" [177]=> string(12) "172.30.0.178" [178]=> string(12) "172.30.0.179" [179]=> string(12) "172.30.0.180" [180]=> string(12) "172.30.0.181" [181]=> string(12) "172.30.0.182" [182]=> string(12) "172.30.0.183" [183]=> string(12) "172.30.0.184" [184]=> string(12) "172.30.0.185" [185]=> string(12) "172.30.0.186" [186]=> string(12) "172.30.0.187" [187]=> string(12) "172.30.0.188" [188]=> string(12) "172.30.0.189" [189]=> string(12) "172.30.0.190" [190]=> string(12) "172.30.0.191" [191]=> string(12) "172.30.0.192" [192]=> string(12) "172.30.0.193" [193]=> string(12) "172.30.0.194" [194]=> string(12) "172.30.0.195" [195]=> string(12) "172.30.0.196" [196]=> string(12) "172.30.0.197" [197]=> string(12) "172.30.0.198" [198]=> string(12) "172.30.0.199" [199]=> string(12) "172.30.0.200" [200]=> string(12) "172.30.0.201" [201]=> string(12) "172.30.0.202" [202]=> string(12) "172.30.0.203" [203]=> string(12) "172.30.0.204" [204]=> string(12) "172.30.0.205" [205]=> string(12) "172.30.0.206" [206]=> string(12) "172.30.0.207" [207]=> string(12) "172.30.0.208" [208]=> string(12) "172.30.0.209" [209]=> string(12) "172.30.0.210" [210]=> string(12) "172.30.0.211" [211]=> string(12) "172.30.0.212" [212]=> string(12) "172.30.0.213" [213]=> string(12) "172.30.0.214" [214]=> string(12) "172.30.0.215" [215]=> string(12) "172.30.0.216" [216]=> string(12) "172.30.0.217" [217]=> string(12) "172.30.0.218" [218]=> string(12) "172.30.0.219" [219]=> string(12) "172.30.0.220" [220]=> string(12) "172.30.0.221" [221]=> string(12) "172.30.0.222" [222]=> string(12) "172.30.0.223" [223]=> string(12) "172.30.0.224" [224]=> string(12) "172.30.0.225" [225]=> string(12) "172.30.0.226" [226]=> string(12) "172.30.0.227" [227]=> string(12) "172.30.0.228" [228]=> string(12) "172.30.0.229" [229]=> string(12) "172.30.0.230" [230]=> string(12) "172.30.0.231" [231]=> string(12) "172.30.0.232" [232]=> string(12) "172.30.0.233" [233]=> string(12) "172.30.0.234" [234]=> string(12) "172.30.0.235" [235]=> string(12) "172.30.0.236" [236]=> string(12) "172.30.0.237" [237]=> string(12) "172.30.0.238" [238]=> string(12) "172.30.0.239" [239]=> string(12) "172.30.0.240" [240]=> string(12) "172.30.0.241" [241]=> string(12) "172.30.0.242" [242]=> string(12) "172.30.0.243" [243]=> string(12) "172.30.0.244" [244]=> string(12) "172.30.0.245" [245]=> string(12) "172.30.0.246" [246]=> string(12) "172.30.0.247" [247]=> string(12) "172.30.0.248" [248]=> string(12) "172.30.0.249" [249]=> string(12) "172.30.0.250" [250]=> string(12) "172.30.0.251" [251]=> string(12) "172.30.0.252" [252]=> string(12) "172.30.0.253" [253]=> string(12) "172.30.0.254" } } ["Test2"]=> array(2) { [1]=> array(254) { [254]=> string(11) "192.168.2.1" [255]=> string(11) "192.168.2.2" [256]=> string(11) "192.168.2.3" [257]=> string(11) "192.168.2.4" [258]=> string(11) "192.168.2.5" [259]=> string(11) "192.168.2.6" [260]=> string(11) "192.168.2.7" [261]=> string(11) "192.168.2.8" [262]=> string(11) "192.168.2.9" [263]=> string(12) "192.168.2.10" [264]=> string(12) "192.168.2.11" [265]=> string(12) "192.168.2.12" [266]=> string(12) "192.168.2.13" [267]=> string(12) "192.168.2.14" [268]=> string(12) "192.168.2.15" [269]=> string(12) "192.168.2.16" [270]=> string(12) "192.168.2.17" [271]=> string(12) "192.168.2.18" [272]=> string(12) "192.168.2.19" [273]=> string(12) "192.168.2.20" [274]=> string(12) "192.168.2.21" [275]=> string(12) "192.168.2.22" [276]=> string(12) "192.168.2.23" [277]=> string(12) "192.168.2.24" [278]=> string(12) "192.168.2.25" [279]=> string(12) "192.168.2.26" [280]=> string(12) "192.168.2.27" [281]=> string(12) "192.168.2.28" [282]=> string(12) "192.168.2.29" [283]=> string(12) "192.168.2.30" [284]=> string(12) "192.168.2.31" [285]=> string(12) "192.168.2.32" [286]=> string(12) "192.168.2.33" [287]=> string(12) "192.168.2.34" [288]=> string(12) "192.168.2.35" [289]=> string(12) "192.168.2.36" [290]=> string(12) "192.168.2.37" [291]=> string(12) "192.168.2.38" [292]=> string(12) "192.168.2.39" [293]=> string(12) "192.168.2.40" [294]=> string(12) "192.168.2.41" [295]=> string(12) "192.168.2.42" [296]=> string(12) "192.168.2.43" [297]=> string(12) "192.168.2.44" [298]=> string(12) "192.168.2.45" [299]=> string(12) "192.168.2.46" [300]=> string(12) "192.168.2.47" [301]=> string(12) "192.168.2.48" [302]=> string(12) "192.168.2.49" [303]=> string(12) "192.168.2.50" [304]=> string(12) "192.168.2.51" [305]=> string(12) "192.168.2.52" [306]=> string(12) "192.168.2.53" [307]=> string(12) "192.168.2.54" [308]=> string(12) "192.168.2.55" [309]=> string(12) "192.168.2.56" [310]=> string(12) "192.168.2.57" [311]=> string(12) "192.168.2.58" [312]=> string(12) "192.168.2.59" [313]=> string(12) "192.168.2.60" [314]=> string(12) "192.168.2.61" [315]=> string(12) "192.168.2.62" [316]=> string(12) "192.168.2.63" [317]=> string(12) "192.168.2.64" [318]=> string(12) "192.168.2.65" [319]=> string(12) "192.168.2.66" [320]=> string(12) "192.168.2.67" [321]=> string(12) "192.168.2.68" [322]=> string(12) "192.168.2.69" [323]=> string(12) "192.168.2.70" [324]=> string(12) "192.168.2.71" [325]=> string(12) "192.168.2.72" [326]=> string(12) "192.168.2.73" [327]=> string(12) "192.168.2.74" [328]=> string(12) "192.168.2.75" [329]=> string(12) "192.168.2.76" [330]=> string(12) "192.168.2.77" [331]=> string(12) "192.168.2.78" [332]=> string(12) "192.168.2.79" [333]=> string(12) "192.168.2.80" [334]=> string(12) "192.168.2.81" [335]=> string(12) "192.168.2.82" [336]=> string(12) "192.168.2.83" [337]=> string(12) "192.168.2.84" [338]=> string(12) "192.168.2.85" [339]=> string(12) "192.168.2.86" [340]=> string(12) "192.168.2.87" [341]=> string(12) "192.168.2.88" [342]=> string(12) "192.168.2.89" [343]=> string(12) "192.168.2.90" [344]=> string(12) "192.168.2.91" [345]=> string(12) "192.168.2.92" [346]=> string(12) "192.168.2.93" [347]=> string(12) "192.168.2.94" [348]=> string(12) "192.168.2.95" [349]=> string(12) "192.168.2.96" [350]=> string(12) "192.168.2.97" [351]=> string(12) "192.168.2.98" [352]=> string(12) "192.168.2.99" [353]=> string(13) "192.168.2.100" [354]=> string(13) "192.168.2.101" [355]=> string(13) "192.168.2.102" [356]=> string(13) "192.168.2.103" [357]=> string(13) "192.168.2.104" [358]=> string(13) "192.168.2.105" [359]=> string(13) "192.168.2.106" [360]=> string(13) "192.168.2.107" [361]=> string(13) "192.168.2.108" [362]=> string(13) "192.168.2.109" [363]=> string(13) "192.168.2.110" [364]=> string(13) "192.168.2.111" [365]=> string(13) "192.168.2.112" [366]=> string(13) "192.168.2.113" [367]=> string(13) "192.168.2.114" [368]=> string(13) "192.168.2.115" [369]=> string(13) "192.168.2.116" [370]=> string(13) "192.168.2.117" [371]=> string(13) "192.168.2.118" [372]=> string(13) "192.168.2.119" [373]=> string(13) "192.168.2.120" [374]=> string(13) "192.168.2.121" [375]=> string(13) "192.168.2.122" [376]=> string(13) "192.168.2.123" [377]=> string(13) "192.168.2.124" [378]=> string(13) "192.168.2.125" [379]=> string(13) "192.168.2.126" [380]=> string(13) "192.168.2.127" [381]=> string(13) "192.168.2.128" [382]=> string(13) "192.168.2.129" [383]=> string(13) "192.168.2.130" [384]=> string(13) "192.168.2.131" [385]=> string(13) "192.168.2.132" [386]=> string(13) "192.168.2.133" [387]=> string(13) "192.168.2.134" [388]=> string(13) "192.168.2.135" [389]=> string(13) "192.168.2.136" [390]=> string(13) "192.168.2.137" [391]=> string(13) "192.168.2.138" [392]=> string(13) "192.168.2.139" [393]=> string(13) "192.168.2.140" [394]=> string(13) "192.168.2.141" [395]=> string(13) "192.168.2.142" [396]=> string(13) "192.168.2.143" [397]=> string(13) "192.168.2.144" [398]=> string(13) "192.168.2.145" [399]=> string(13) "192.168.2.146" [400]=> string(13) "192.168.2.147" [401]=> string(13) "192.168.2.148" [402]=> string(13) "192.168.2.149" [403]=> string(13) "192.168.2.150" [404]=> string(13) "192.168.2.151" [405]=> string(13) "192.168.2.152" [406]=> string(13) "192.168.2.153" [407]=> string(13) "192.168.2.154" [408]=> string(13) "192.168.2.155" [409]=> string(13) "192.168.2.156" [410]=> string(13) "192.168.2.157" [411]=> string(13) "192.168.2.158" [412]=> string(13) "192.168.2.159" [413]=> string(13) "192.168.2.160" [414]=> string(13) "192.168.2.161" [415]=> string(13) "192.168.2.162" [416]=> string(13) "192.168.2.163" [417]=> string(13) "192.168.2.164" [418]=> string(13) "192.168.2.165" [419]=> string(13) "192.168.2.166" [420]=> string(13) "192.168.2.167" [421]=> string(13) "192.168.2.168" [422]=> string(13) "192.168.2.169" [423]=> string(13) "192.168.2.170" [424]=> string(13) "192.168.2.171" [425]=> string(13) "192.168.2.172" [426]=> string(13) "192.168.2.173" [427]=> string(13) "192.168.2.174" [428]=> string(13) "192.168.2.175" [429]=> string(13) "192.168.2.176" [430]=> string(13) "192.168.2.177" [431]=> string(13) "192.168.2.178" [432]=> string(13) "192.168.2.179" [433]=> string(13) "192.168.2.180" [434]=> string(13) "192.168.2.181" [435]=> string(13) "192.168.2.182" [436]=> string(13) "192.168.2.183" [437]=> string(13) "192.168.2.184" [438]=> string(13) "192.168.2.185" [439]=> string(13) "192.168.2.186" [440]=> string(13) "192.168.2.187" [441]=> string(13) "192.168.2.188" [442]=> string(13) "192.168.2.189" [443]=> string(13) "192.168.2.190" [444]=> string(13) "192.168.2.191" [445]=> string(13) "192.168.2.192" [446]=> string(13) "192.168.2.193" [447]=> string(13) "192.168.2.194" [448]=> string(13) "192.168.2.195" [449]=> string(13) "192.168.2.196" [450]=> string(13) "192.168.2.197" [451]=> string(13) "192.168.2.198" [452]=> string(13) "192.168.2.199" [453]=> string(13) "192.168.2.200" [454]=> string(13) "192.168.2.201" [455]=> string(13) "192.168.2.202" [456]=> string(13) "192.168.2.203" [457]=> string(13) "192.168.2.204" [458]=> string(13) "192.168.2.205" [459]=> string(13) "192.168.2.206" [460]=> string(13) "192.168.2.207" [461]=> string(13) "192.168.2.208" [462]=> string(13) "192.168.2.209" [463]=> string(13) "192.168.2.210" [464]=> string(13) "192.168.2.211" [465]=> string(13) "192.168.2.212" [466]=> string(13) "192.168.2.213" [467]=> string(13) "192.168.2.214" [468]=> string(13) "192.168.2.215" [469]=> string(13) "192.168.2.216" [470]=> string(13) "192.168.2.217" [471]=> string(13) "192.168.2.218" [472]=> string(13) "192.168.2.219" [473]=> string(13) "192.168.2.220" [474]=> string(13) "192.168.2.221" [475]=> string(13) "192.168.2.222" [476]=> string(13) "192.168.2.223" [477]=> string(13) "192.168.2.224" [478]=> string(13) "192.168.2.225" [479]=> string(13) "192.168.2.226" [480]=> string(13) "192.168.2.227" [481]=> string(13) "192.168.2.228" [482]=> string(13) "192.168.2.229" [483]=> string(13) "192.168.2.230" [484]=> string(13) "192.168.2.231" [485]=> string(13) "192.168.2.232" [486]=> string(13) "192.168.2.233" [487]=> string(13) "192.168.2.234" [488]=> string(13) "192.168.2.235" [489]=> string(13) "192.168.2.236" [490]=> string(13) "192.168.2.237" [491]=> string(13) "192.168.2.238" [492]=> string(13) "192.168.2.239" [493]=> string(13) "192.168.2.240" [494]=> string(13) "192.168.2.241" [495]=> string(13) "192.168.2.242" [496]=> string(13) "192.168.2.243" [497]=> string(13) "192.168.2.244" [498]=> string(13) "192.168.2.245" [499]=> string(13) "192.168.2.246" [500]=> string(13) "192.168.2.247" [501]=> string(13) "192.168.2.248" [502]=> string(13) "192.168.2.249" [503]=> string(13) "192.168.2.250" [504]=> string(13) "192.168.2.251" [505]=> string(13) "192.168.2.252" [506]=> string(13) "192.168.2.253" [507]=> string(13) "192.168.2.254" } [2]=> array(254) { [254]=> string(11) "192.168.2.1" [255]=> string(11) "192.168.2.2" [256]=> string(11) "192.168.2.3" [257]=> string(11) "192.168.2.4" [258]=> string(11) "192.168.2.5" [259]=> string(11) "192.168.2.6" [260]=> string(11) "192.168.2.7" [261]=> string(11) "192.168.2.8" [262]=> string(11) "192.168.2.9" [263]=> string(12) "192.168.2.10" [264]=> string(12) "192.168.2.11" [265]=> string(12) "192.168.2.12" [266]=> string(12) "192.168.2.13" [267]=> string(12) "192.168.2.14" [268]=> string(12) "192.168.2.15" [269]=> string(12) "192.168.2.16" [270]=> string(12) "192.168.2.17" [271]=> string(12) "192.168.2.18" [272]=> string(12) "192.168.2.19" [273]=> string(12) "192.168.2.20" [274]=> string(12) "192.168.2.21" [275]=> string(12) "192.168.2.22" [276]=> string(12) "192.168.2.23" [277]=> string(12) "192.168.2.24" [278]=> string(12) "192.168.2.25" [279]=> string(12) "192.168.2.26" [280]=> string(12) "192.168.2.27" [281]=> string(12) "192.168.2.28" [282]=> string(12) "192.168.2.29" [283]=> string(12) "192.168.2.30" [284]=> string(12) "192.168.2.31" [285]=> string(12) "192.168.2.32" [286]=> string(12) "192.168.2.33" [287]=> string(12) "192.168.2.34" [288]=> string(12) "192.168.2.35" [289]=> string(12) "192.168.2.36" [290]=> string(12) "192.168.2.37" [291]=> string(12) "192.168.2.38" [292]=> string(12) "192.168.2.39" [293]=> string(12) "192.168.2.40" [294]=> string(12) "192.168.2.41" [295]=> string(12) "192.168.2.42" [296]=> string(12) "192.168.2.43" [297]=> string(12) "192.168.2.44" [298]=> string(12) "192.168.2.45" [299]=> string(12) "192.168.2.46" [300]=> string(12) "192.168.2.47" [301]=> string(12) "192.168.2.48" [302]=> string(12) "192.168.2.49" [303]=> string(12) "192.168.2.50" [304]=> string(12) "192.168.2.51" [305]=> string(12) "192.168.2.52" [306]=> string(12) "192.168.2.53" [307]=> string(12) "192.168.2.54" [308]=> string(12) "192.168.2.55" [309]=> string(12) "192.168.2.56" [310]=> string(12) "192.168.2.57" [311]=> string(12) "192.168.2.58" [312]=> string(12) "192.168.2.59" [313]=> string(12) "192.168.2.60" [314]=> string(12) "192.168.2.61" [315]=> string(12) "192.168.2.62" [316]=> string(12) "192.168.2.63" [317]=> string(12) "192.168.2.64" [318]=> string(12) "192.168.2.65" [319]=> string(12) "192.168.2.66" [320]=> string(12) "192.168.2.67" [321]=> string(12) "192.168.2.68" [322]=> string(12) "192.168.2.69" [323]=> string(12) "192.168.2.70" [324]=> string(12) "192.168.2.71" [325]=> string(12) "192.168.2.72" [326]=> string(12) "192.168.2.73" [327]=> string(12) "192.168.2.74" [328]=> string(12) "192.168.2.75" [329]=> string(12) "192.168.2.76" [330]=> string(12) "192.168.2.77" [331]=> string(12) "192.168.2.78" [332]=> string(12) "192.168.2.79" [333]=> string(12) "192.168.2.80" [334]=> string(12) "192.168.2.81" [335]=> string(12) "192.168.2.82" [336]=> string(12) "192.168.2.83" [337]=> string(12) "192.168.2.84" [338]=> string(12) "192.168.2.85" [339]=> string(12) "192.168.2.86" [340]=> string(12) "192.168.2.87" [341]=> string(12) "192.168.2.88" [342]=> string(12) "192.168.2.89" [343]=> string(12) "192.168.2.90" [344]=> string(12) "192.168.2.91" [345]=> string(12) "192.168.2.92" [346]=> string(12) "192.168.2.93" [347]=> string(12) "192.168.2.94" [348]=> string(12) "192.168.2.95" [349]=> string(12) "192.168.2.96" [350]=> string(12) "192.168.2.97" [351]=> string(12) "192.168.2.98" [352]=> string(12) "192.168.2.99" [353]=> string(13) "192.168.2.100" [354]=> string(13) "192.168.2.101" [355]=> string(13) "192.168.2.102" [356]=> string(13) "192.168.2.103" [357]=> string(13) "192.168.2.104" [358]=> string(13) "192.168.2.105" [359]=> string(13) "192.168.2.106" [360]=> string(13) "192.168.2.107" [361]=> string(13) "192.168.2.108" [362]=> string(13) "192.168.2.109" [363]=> string(13) "192.168.2.110" [364]=> string(13) "192.168.2.111" [365]=> string(13) "192.168.2.112" [366]=> string(13) "192.168.2.113" [367]=> string(13) "192.168.2.114" [368]=> string(13) "192.168.2.115" [369]=> string(13) "192.168.2.116" [370]=> string(13) "192.168.2.117" [371]=> string(13) "192.168.2.118" [372]=> string(13) "192.168.2.119" [373]=> string(13) "192.168.2.120" [374]=> string(13) "192.168.2.121" [375]=> string(13) "192.168.2.122" [376]=> string(13) "192.168.2.123" [377]=> string(13) "192.168.2.124" [378]=> string(13) "192.168.2.125" [379]=> string(13) "192.168.2.126" [380]=> string(13) "192.168.2.127" [381]=> string(13) "192.168.2.128" [382]=> string(13) "192.168.2.129" [383]=> string(13) "192.168.2.130" [384]=> string(13) "192.168.2.131" [385]=> string(13) "192.168.2.132" [386]=> string(13) "192.168.2.133" [387]=> string(13) "192.168.2.134" [388]=> string(13) "192.168.2.135" [389]=> string(13) "192.168.2.136" [390]=> string(13) "192.168.2.137" [391]=> string(13) "192.168.2.138" [392]=> string(13) "192.168.2.139" [393]=> string(13) "192.168.2.140" [394]=> string(13) "192.168.2.141" [395]=> string(13) "192.168.2.142" [396]=> string(13) "192.168.2.143" [397]=> string(13) "192.168.2.144" [398]=> string(13) "192.168.2.145" [399]=> string(13) "192.168.2.146" [400]=> string(13) "192.168.2.147" [401]=> string(13) "192.168.2.148" [402]=> string(13) "192.168.2.149" [403]=> string(13) "192.168.2.150" [404]=> string(13) "192.168.2.151" [405]=> string(13) "192.168.2.152" [406]=> string(13) "192.168.2.153" [407]=> string(13) "192.168.2.154" [408]=> string(13) "192.168.2.155" [409]=> string(13) "192.168.2.156" [410]=> string(13) "192.168.2.157" [411]=> string(13) "192.168.2.158" [412]=> string(13) "192.168.2.159" [413]=> string(13) "192.168.2.160" [414]=> string(13) "192.168.2.161" [415]=> string(13) "192.168.2.162" [416]=> string(13) "192.168.2.163" [417]=> string(13) "192.168.2.164" [418]=> string(13) "192.168.2.165" [419]=> string(13) "192.168.2.166" [420]=> string(13) "192.168.2.167" [421]=> string(13) "192.168.2.168" [422]=> string(13) "192.168.2.169" [423]=> string(13) "192.168.2.170" [424]=> string(13) "192.168.2.171" [425]=> string(13) "192.168.2.172" [426]=> string(13) "192.168.2.173" [427]=> string(13) "192.168.2.174" [428]=> string(13) "192.168.2.175" [429]=> string(13) "192.168.2.176" [430]=> string(13) "192.168.2.177" [431]=> string(13) "192.168.2.178" [432]=> string(13) "192.168.2.179" [433]=> string(13) "192.168.2.180" [434]=> string(13) "192.168.2.181" [435]=> string(13) "192.168.2.182" [436]=> string(13) "192.168.2.183" [437]=> string(13) "192.168.2.184" [438]=> string(13) "192.168.2.185" [439]=> string(13) "192.168.2.186" [440]=> string(13) "192.168.2.187" [441]=> string(13) "192.168.2.188" [442]=> string(13) "192.168.2.189" [443]=> string(13) "192.168.2.190" [444]=> string(13) "192.168.2.191" [445]=> string(13) "192.168.2.192" [446]=> string(13) "192.168.2.193" [447]=> string(13) "192.168.2.194" [448]=> string(13) "192.168.2.195" [449]=> string(13) "192.168.2.196" [450]=> string(13) "192.168.2.197" [451]=> string(13) "192.168.2.198" [452]=> string(13) "192.168.2.199" [453]=> string(13) "192.168.2.200" [454]=> string(13) "192.168.2.201" [455]=> string(13) "192.168.2.202" [456]=> string(13) "192.168.2.203" [457]=> string(13) "192.168.2.204" [458]=> string(13) "192.168.2.205" [459]=> string(13) "192.168.2.206" [460]=> string(13) "192.168.2.207" [461]=> string(13) "192.168.2.208" [462]=> string(13) "192.168.2.209" [463]=> string(13) "192.168.2.210" [464]=> string(13) "192.168.2.211" [465]=> string(13) "192.168.2.212" [466]=> string(13) "192.168.2.213" [467]=> string(13) "192.168.2.214" [468]=> string(13) "192.168.2.215" [469]=> string(13) "192.168.2.216" [470]=> string(13) "192.168.2.217" [471]=> string(13) "192.168.2.218" [472]=> string(13) "192.168.2.219" [473]=> string(13) "192.168.2.220" [474]=> string(13) "192.168.2.221" [475]=> string(13) "192.168.2.222" [476]=> string(13) "192.168.2.223" [477]=> string(13) "192.168.2.224" [478]=> string(13) "192.168.2.225" [479]=> string(13) "192.168.2.226" [480]=> string(13) "192.168.2.227" [481]=> string(13) "192.168.2.228" [482]=> string(13) "192.168.2.229" [483]=> string(13) "192.168.2.230" [484]=> string(13) "192.168.2.231" [485]=> string(13) "192.168.2.232" [486]=> string(13) "192.168.2.233" [487]=> string(13) "192.168.2.234" [488]=> string(13) "192.168.2.235" [489]=> string(13) "192.168.2.236" [490]=> string(13) "192.168.2.237" [491]=> string(13) "192.168.2.238" [492]=> string(13) "192.168.2.239" [493]=> string(13) "192.168.2.240" [494]=> string(13) "192.168.2.241" [495]=> string(13) "192.168.2.242" [...] [507]=> string(13) "192.168.2.254" } }

Mammouth du PHP | 19672 Messages

20 mars 2013, 18:47

Bon ok, là j'y vois plus clair.

Première observation, après un coup d'oeil rapide, j'ai l'impression que tu pourrais couper ce tableau en deux. Si je prends $reseaux['Test'], j'ai deux index, 1 et 2 qui contiennent chacun strictement la même chose, ce qui, tu en conviendras peut-être, ne sert absolument à rien.

En prenant juste un extrait, voici une illustration de ce que je veux dire :
-1- ton tableau de base :

Code : Tout sélectionner

array(24) { ["Test"] => array(2) { [1] => array(254) { [0] => string(10) "172.30.0.1" [1] => string(10) "172.30.0.2" [2] => string(10) "172.30.0.3" [3] => string(10) "172.30.0.4" [4] => string(10) "172.30.0.5" [5] => string(10) "172.30.0.6" [6] => string(10) "172.30.0.7" [7] => string(10) "172.30.0.8" [8] => string(10) "172.30.0.9" [9] => string(11) "172.30.0.10" [10] => string(11) "172.30.0.11" } [2] => array(254) { [0] => string(10) "172.30.0.1" [1] => string(10) "172.30.0.2" [2] => string(10) "172.30.0.3" [3] => string(10) "172.30.0.4" [4] => string(10) "172.30.0.5" [5] => string(10) "172.30.0.6" [6] => string(10) "172.30.0.7" [7] => string(10) "172.30.0.8" [8] => string(10) "172.30.0.9" [9] => string(11) "172.30.0.10" [10] => string(11) "172.30.0.11" } } }
On vire le sous-index 2 inutile :

Code : Tout sélectionner

array(24) { ["Test"] => array(2) { [1] => array(254) { [0] => string(10) "172.30.0.1" [1] => string(10) "172.30.0.2" [2] => string(10) "172.30.0.3" [3] => string(10) "172.30.0.4" [4] => string(10) "172.30.0.5" [5] => string(10) "172.30.0.6" [6] => string(10) "172.30.0.7" [7] => string(10) "172.30.0.8" [8] => string(10) "172.30.0.9" [9] => string(11) "172.30.0.10" [10] => string(11) "172.30.0.11" } } }
Bon, c'est mieux, mainenant, un sous-index intermédiaire n'est pas très utile, on va simplifier encore :

Code : Tout sélectionner

array(24) { ["Test"] => array(2) { [0] => string(10) "172.30.0.1" [1] => string(10) "172.30.0.2" [2] => string(10) "172.30.0.3" [3] => string(10) "172.30.0.4" [4] => string(10) "172.30.0.5" [5] => string(10) "172.30.0.6" [6] => string(10) "172.30.0.7" [7] => string(10) "172.30.0.8" [8] => string(10) "172.30.0.9" [9] => string(11) "172.30.0.10" [10] => string(11) "172.30.0.11" } }
Voilà, là tu peux travailler. Dans une boucle foreach, tu pourrais alors faire quelque chose dans ce style :
foreach($reseaux as $nom => $ips)
{
    echo('<p>Réseau '. $nom .'</p>' . PHP_EOL);
    echo('<ul>'. PHP_EOL);
    foreach($ips as $ip)
    {
        echo('<li>Adr, IP : '. $ip .';</li>'. PHP_EOL);
    }
    echo('</ul>'. PHP_EOL);
}
Et là, tu vas voir ta liste d'adresses IP pour chacun des réseaux dont le nom sera bien affiché.

Là, j'ai mis un code pour construire une liste à puces, mais ça marchera aussi bien pour une liste déroulante ou n'importe quelle autre structure de code similaire.

Donc, repense à la construction de ton tableau $reseaux pour obtenir une structure telle que je viens de l'illustrer. À terme, ça devrait simplifier ton code.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

[Compte supprime]
Invité n'ayant pas de compte PHPfrance

20 mars 2013, 22:21

Pour commencer, merci beaucoup pour le temps que tu m'accordes ! :wink:

J'ai regardé un peu tout ça mais pour les index, je ne vois pas dans le code comment les enlever... J'ai viré plein de morceaux de codes et ça ne touche jamais aux différents Array... Limite je comprends pas comment c'est possible... Je ne dois pas modifier le fichier JS pour les tableaux ? Tout se fait bien sur cette page ?

Merci

Mammouth du PHP | 19672 Messages

21 mars 2013, 08:14

Il ne faut pas essayer au hasard. La logique est absolument indispensable pour programmer quoi que ce soit.

Si tu reprends la chronologie du code, à quel endroit est créé ton tableau $reseaux ? Au départ, tu as une requête SQL qui est celle-ci :
SELECT
  adresse_ip          AS idd,
  RESEAUX.id_reseau   AS idr,
  RESEAUX.nom_reseau  AS inr
FROM IP, RESEAUX
WHERE IP.id_reseau = RESEAUX.id_reseau
  AND adresse_ip NOT IN (
    SELECT adresse_ip
    FROM IP_MAT
  )
ORDER BY RESEAUX.id_reseau, INET_ATON(adresse_ip)
Partant de là, le résultat doit ressembler à ceci :

Code : Tout sélectionner

+-------------+-----+------+ | idd | idr | inr | +-------------+-----+------+ | 172.30.0.1 | 1 | Test | | 172.30.0.2 | 2 | Test | | 172.30.0.3 | 3 | Test | | 172.30.0.4 | 4 | Test | | 172.30.0.5 | 5 | Test | | 172.30.0.6 | 6 | Test | | 172.30.0.7 | 7 | Test | | 172.30.0.8 | 8 | Test | | 172.30.0.9 | 9 | Test | | 172.30.0.10 | 10 | Test | | 172.30.0.11 | 11 | Test | +-------------+-----+------+
Donc,dans ta boucle while, chaque ligne a trois index : idd, idr et inr, mais six en réalité puisque tu fais un fetch_array au lieu d'un fetch_assoc et tu as à la fois les index nommés et les index numériques. Tu dois aboutir à un tableau associatif à deux niveaux, le premier identifiant le nom du réseau, le second listant les adresses IP comme montré plus tôt :

Code : Tout sélectionner

array(24) { ["Test"] => array(2) { [0] => string(10) "172.30.0.1" [1] => string(10) "172.30.0.2" [2] => string(10) "172.30.0.3" [3] => string(10) "172.30.0.4" [4] => string(10) "172.30.0.5" [5] => string(10) "172.30.0.6" [6] => string(10) "172.30.0.7" [7] => string(10) "172.30.0.8" [8] => string(10) "172.30.0.9" [9] => string(11) "172.30.0.10" [10] => string(11) "172.30.0.11" } }
Maintenant, simplifions ta boucle while pour obtenir ça :
/* Création du tableau PHP des valeurs récupérées */
$reseaux = array();
/* Pour ne pas écraser mes tableaux, je crée un témoin */
$temoin_r = null;
while(false !== ($ligne = $query_reseau->fetch()))
{
    /* Je vérifie si je suis toujours dans le même réseau, sinon je crée les tableaux nécessaires */
    if ($temoin_r != $ligne['inr'])
    {
        $temoin_r = $ligne['inr'];
        $reseaux[$temoin_r] = array();
    }
    /* J'ajoute l'adresse IP */
    $reseaux[$temoin_r][] = $ligne['idd'];
}
/* Affichage de débogage à supprimer quand le  résultat sera satisfaisant */
echo("<pre>\n");
var_dump($reseaux);
echo("</pre>\n");
Essaye ça et observe le résultat.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

[Compte supprime]
Invité n'ayant pas de compte PHPfrance

21 mars 2013, 11:48

Effectivement, ça me renvoi bien le bon tableau avec ce code, plus de doublon !

Comme tu t'en doutes et comme tu l'as vu :D J'ai un peu de mal avec les tableaux... Je comprends la différence entre fetch_array et fetch_assoc mais à partir du moment où tu mets la ligne "($ligne = $query_reseau->fetch())", qui n'a pas changé, comment tu sais qu'il est en assoc ? Dans mes autres pages, j'ajoute "PDO::FETCH_ASSOC" entre les parenthèses.

Par contre, maintenant, le nom[0] me renvoi la 1ère adresse ip de chaque réseau et non le nom du réseau. Ce qui est normal vu qu'on a modifié le code.

Si je mets ça, ça fonctionne :
foreach ($reseaux as $nr => $nom) {
 ?>                                        
<option style="text-align:center;" value="<?php echo($nr); ?>"><?php echo($nr); ?></option>
<?php                                            
 }

Mammouth du PHP | 19672 Messages

21 mars 2013, 12:15

Effectivement, il serait important de comprendre les tableaux en PHP.

Ici, tu as un tableau à deux dimensions. Pour schématiser, un tableau est une boite qui contient un certain nombre de compartiments. Chaque compartiment peut éventuellement comporter lui-même de sous-compartiments, et ainsi de suite. Si l'élément n'est pas compartimenté, on parle d'une valeur scalaire, sinon, on parle d'un tableau. C'est pour ça que si tu fais un echo sur un élément de tableau, selon le contenu de cet élément, il affichera la valeur si cette dernière est une valeur scalaire, ou bien « Array » si c'est un tableau.

Pour construire ta boucle d'affichage, il faut au départ définir ce que tu veux obtenir, en gros, on commence par la fin pour définir comment structurer le début.
Tu montes des listes déroulantes : ok, mais, à mon avis, il manque peut-être un élément dans tes listes pour la suite du traitement. On verra ça plus tard. Pour l'instant, si ton affichage est correct, passe à la suite : le traitement de tes données de formulaire... et là, tu vas peut-être réaliser que disposer de la clé primaire d'une adresse IP te permettrait d'établir les liens qui vont bien... ou pas. Or, la construction telle qu'elle est là ne comporte aucune des clés primaire, ni pour les réseaux, ni pour les adresses IP.... Donc, réfléchis un moment à ce problème et remonte à l'endroit de la construction du tableau pour voir comment tu pourrais intégrer cet élément pour aboutir au résultat voulu.

PS. : comme tu l'auras noté, je suis plus enclin à t'amener à trouver la solution toi-même, c'est un apprentissage du raisonnement indispensable en programmation quel que soit le langage utilisé ;) Mais pour trouver une réponse, il convient de commencer par poser la bonne question :-*
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

[Compte supprime]
Invité n'ayant pas de compte PHPfrance

21 mars 2013, 12:47

J'avais bien compris ! :mrgreen: Mais ça ne me dérange pas, je cherche, je cherche... Mais en fait, j'avais choppé le script sur ton tutoriel et une grande partie du code me dépasse à la base... Au début, j'apprenais petit à petit à développer mais ensuite, j'ai eu besoin de morceaux de code sans en apprendre la base, typiquement javascript ! Et pour ce site, à part la liste déroulantes liées, et 2/3 bricoles comme ouverture d'un popup ou autre, je ne m'en sers pas du tout... Voilà pourquoi j'ai pas poussé trop loin sur ces parties... Les Array en font partie, les petits que je fais me suffisent avec mes boucles while et là, je me retrouve confronté à ce code "juste" pour cette partie...

Pour le clé primaire, effectivement, j'avais noté ce problème, on envoi la valeur au fichier changeIP.js :

[javascript]/* On crée la fonction qui va construire la seconde liste déroulante */
function maj(ip)
{
document.getElementById("recup_ip").value = ip;
}

function changeIP(tab,idr)
{
if(idr != "vide")
{
/* On compte les ip de ce réseau */
var nbd = tab[ idr ][1].length;
var form_d = '<select name="ip" id="ip" style="text-align:center;" onchange="maj(this.value);">';
form_d += '<option value="" selected="selected">- - - Selectionnez l\'IP - - -</option>';
for(var j = 0; j < nbd; j++)
{
form_d += '<option value="'+ tab[ idr ][1][j] +'">'+ tab[ idr ][1][j] +'</option>';
}
form_d += '</select>';
}
else
{
form_d = "";
}
document.getElementById("blocIP").innerHTML = form_d;
}[/javascript]

De base, il cherche "idr" alors qu'on ne l'utilise plus, on doit ajouter au même niveau que le nom du réseau, son id... Là, c'est simplement la logique SQL, sans lien, il peut rien faire !!! ça doit se jouer vers ces 2 lignes :
$temoin_r = $ligne['inr'];
        $reseaux[$temoin_r] = array();
Du coup, il faut se servir directement de $ligne['idr'] en plus de $ligne['inr'] . Mais du coup, $temoin_r doit servir au 2...
foreach ($reseaux as $nr => $nom) {                                            
                                            ?>                                        
                                            <option style="text-align:center;" value="<?php echo($nr); ?>"><?php echo($nr); ?></option>
                                            <?php                                            
                                        }
Dans ce code, la value doit être la clé primaire du réseau pour un envoi sans souci au script JS.

Mammouth du PHP | 19672 Messages

21 mars 2013, 12:58

C'est dans la gestion de l'affichage que ça ne semble pas bon. Tu fais une simple boucle foreach, mais ton tableau a deux dimensions, donc selon l'affichage que tu veux gérer, il est possible qu'il te faille avoir deux boucles.

Pour avoir une meilleure idée, il faudrait que je sache quel résultat final en HTML tu veux obtenir avec les explications sur ce qui doit se passer. Encore une fois, commence par la fin : tu veux obtenir quelque chose, il faut définir précisément ce « quelque chose » avant de commencer à coder quoi que ce soit, sinon, tu va tâtonner jusqu'à Noël sans grand succès...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

[Compte supprime]
Invité n'ayant pas de compte PHPfrance

21 mars 2013, 13:03

Alors c'est très simple, voici le résultat :

Image

Et dans "Sélectionnez IP", je souhaite que les IP du réseau sélectionné apparaîssent. En fait, le code initial fonctionnait sans souci. Sauf que j'avais le numéro de réseau au lieu du nom, il fallait donc afficher un tableau supplémentaire en-dessous pour avoir un aide mémoire... Mais sinon, à part ça, tout fonctionnait !

Mammouth du PHP | 19672 Messages

21 mars 2013, 13:06

Attends une seconde : tu ne parles que de l'IP : si je me fie au formulaire que tu montres, l'idée est qu'on sélectionne d'abord un réseau, ce que faisant, on met à jour la liste des IP dans la liste suivante : c'est bien ça ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

[Compte supprime]
Invité n'ayant pas de compte PHPfrance

21 mars 2013, 13:07

Oui exactement, je sélectionne le réseau et ensuite ça affiche la liste d'IP correspondante. Les 2 listes déroulantes sont liées.

Mammouth du PHP | 19672 Messages

21 mars 2013, 13:19

Ok, on avance donc.

Maintenant, il faut que la liste des IP comporte des balises option avec en value l'identifiant de l'adresse IP et afficche l'adresse IP elle-même.
Tu as donc besoin que le tableau garde la même structure à un détail près : les index pour chaque adresse IP doivent être les clés primaires correspondantes.
Donc il manque un bout dans ta requête SQL : la colonne de la clé primaire des adresses IP.

La requête serait donc quelque chose comme :
SELECT
  id_adresse_ip       AS ida,
  adresse_ip          AS idd,
  RESEAUX.id_reseau   AS idr,
  RESEAUX.nom_reseau  AS inr
FROM IP, RESEAUX
WHERE IP.id_reseau = RESEAUX.id_reseau
  AND adresse_ip NOT IN (
    SELECT adresse_ip
    FROM IP_MAT
  )
ORDER BY RESEAUX.id_reseau, INET_ATON(adresse_ip)
Du coup, la boucle de construction du talbeau $reseau sera modifié comme ceci :
/* Création du tableau PHP des valeurs récupérées */
$reseaux = array();
/* Pour ne pas écraser mes tableaux, je crée un témoin */
$temoin_r = null;
while(false !== ($ligne = $query_reseau->fetch()))
{
    /* Je vérifie si je suis toujours dans le même réseau, sinon je crée les tableaux nécessaires */
    if ($temoin_r != $ligne['inr'])
    {
        $temoin_r = $ligne['inr'];
        $reseaux[$temoin_r] = array();
    }
    /* J'ajoute l'adresse IP */
    $reseaux[$temoin_r][$ligne['ida']] = $ligne['idd']; // <== Ici, l'index est la clé primaire de l'adresse IP au lieu d'une auto-incrémentation
}
/* Affichage de débogage à supprimer quand le  résultat sera satisfaisant */
echo("<pre>\n");
var_dump($reseaux);
echo("</pre>\n");
Observe la chose et tâche de voir ce que ça change au moment de la construction de la liste déroulante. Au besoin, fais un tour sur la documentation de PHP à propos de foreach en gardant à l'esprit que tu ne devras boucler que sur la liste des IP d'un réseau donné : comment pointer exclusivement sur cette partie du tableau ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

[Compte supprime]
Invité n'ayant pas de compte PHPfrance

21 mars 2013, 13:24

J'aurai dû te donner plus tôt la structure des 2 tables :
--
-- Structure de la table `IP`
--

CREATE TABLE IF NOT EXISTS `IP` (
  `adresse_ip` varchar(15) NOT NULL,
  `id_reseau` int(3) NOT NULL,
  PRIMARY KEY (`adresse_ip`),
  KEY `fk_idreseau` (`id_reseau`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `RESEAUX` (
  `id_reseau` int(3) NOT NULL AUTO_INCREMENT,
  `nom_reseau` varchar(30) NOT NULL,
  `ip_reseau` varchar(15) NOT NULL,
  `masque` varchar(15) DEFAULT NULL,
  `classe` varchar(3) DEFAULT NULL,
  `ip_depart` varchar(15) NOT NULL,
  `ip_fin` varchar(15) NOT NULL,
  `broadcast` varchar(15) DEFAULT NULL,
  PRIMARY KEY (`id_reseau`),
  UNIQUE KEY `u_nomr` (`nom_reseau`),
  UNIQUE KEY `u_ipr` (`ip_reseau`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Du coup, l'adresse IP est directement la clé primaire vu qu'une adresse IP sur le ou les réseaux est obligatoirement unique. :oops:

Mammouth du PHP | 19672 Messages

21 mars 2013, 13:28

Dans ce cas, on ne change rien... et du coup, je ne sais plus trop où est le problème... :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: