2014-07-04 5 views
2

Je développe un système qui fonctionne de cette façon:Identifier saut de ligne de MySQL ligne

  • sélectionnez une table mysql
  • sélectionner une ligne mysql
  • extraire les données de cette ligne (en utilisant WHERE et eT)
  • afficher les données en utilisant php te

Cependant, dans l'une des lignes, les paramètres sont stockés en utilisant des sauts de ligne, et j'ai besoin que mon système ident ify cette ligne break, et le 'send' comme nouvelle valeur.

code:

foreach($rows as $row){ 
$ips = $row['dedicatedip']; 
$ips2 = $row['assignedips']; 
$status = $row['domainstatus']; 

echo '<b>', $ips . '&nbsp;&nbsp;-</b>&nbsp;&nbsp;'; echo "<input type='text' value="; echo consultaIP($ips); echo ">"; echo '<b> Status:'; if ($status==Active) { echo ' <span class="label active">Ativo</span></b><br><br>';} else { echo ' <span class="label pending">Desativado</span></b><br/><br/>';} 

if ($ips2 != '') { echo '<b>', $ips2 . '&nbsp;&nbsp;-</b>&nbsp;&nbsp;'; echo "<input type='text' value="; echo consultaIP($ips); echo ">"; echo '<b> Status:'; if ($status==Active) { echo ' <span class="label active">Ativo</span></b><br><br>';} else { echo ' <span class="label pending">Desativado</span></b><br/><br/>';} } 
} 

PS: fonction consultaIP est une fonction qui LookUps le DNS inverse IP.

La ligne dedicatedip n'a qu'une seule valeur enregistrée, donc c'est OK. Mais les années IP attribuée, ont un buch, stocké comme ceci:

177.101.0.100 
177.101.0.101 
177.101.0.102 

Le problème est que le système a besoin de créer l'entrée pour chaque IP, et cela ne se produit pas (il est montrant comme ceci: 177.101.0.100 177,101 .0.101 177.101.0.102).

Ces valeurs ne seront pas renvoyées à la base de données, cela ne posera donc aucun problème. Il sera utilisé sous la forme POST.

Edit:


J'ai ajouté cette ligne:

chars = explode("\n", $ips2); 

Et le tableau ressemble à ça:

Array ([0] => 177.101.229.92 [1 ] => 177.101.229.80)

Mais, comment puis-je utiliser cette sortie de tableau dans mon foreach et remplir correctement l'entrée?


Résolu:

$chars = explode("\n", $ips2); 

foreach($chars as $iplista){ 
if ($ips2 != '') { echo '<b>', $iplista . '&nbsp;&nbsp;-</b>&nbsp;&nbsp;'; echo "<input  type='text' value="; echo consultaIP($ips); echo ">"; echo '<b> Status:'; if ($status==Active) { echo ' <span class="label active">Ativo</span></b><br><br>';} else { echo ' <span class="label pending">Desativado</span></b><br/><br/>';} } 
} 
+1

Peut-être utilisez-vous la fonction ['nl2br()'] (http://www.php.net/manual/fr/function.nl2br.php)? –

+0

Utilisez [explode] (http://www.php.net/manual/fr/function.explode.php) – didierc

+0

Bien joué pendant mon absence. ;-) Et merci! –

Répondre

2

Si je ne comprends correctement, vous voulez un tableau d'adresses IP pour traiter sur chaque IP?

Vous pouvez utiliser la fonction explode pour diviser la chaîne, par ex. sur newline char "\n". Si vous ne connaissez pas la séquence de saut de ligne (\ r, \ n ou \ r \ n) ou que l'entrée peut varier, vous pouvez utiliser preg_split à la place pour diviser par une expression régulière, par ex. \s pour tous les espaces ou (\r|\n|\r\n) pour un saut de ligne indépendant du système.

+0

Salut, j'ai mis à jour la question .. pouvez-vous m'aider s'il vous plaît maintenant? Merci – rbaldasso