Mettre a jour toute une table avec un scripte SQL

flo39400 Messages postés 659 Statut Membre -  
flo39400 Messages postés 659 Statut Membre -
Bonjour,

J'aimerai savoir si il est possible de mètre toute une liste de donner de ma base de donner avec un scripte SQL.
J'ai des adresse IP enregistrer j'aimerai ajouter un champs par exemple type IP.

Et que cela ce mette a jour via une requête SQL.


Voici le scripte de détection des IPv4 et IPv6.

<?php
if ( array_key_exists('addr', $_GET) )

    $ip = $_GET['addr'];
else
    $ip = $_SERVER['REMOTE_ADDR'];
$v6 = preg_match("/^[0-9a-f]{1,4}:([0-9a-f]{0,4}:){1,6}[0-9a-f]{1,4}$/", $ip);
$v4 = preg_match("/^([0-9]{1,3}\.){3}[0-9]{1,3}$/", $ip);
if ( $v6 != 0 )
    $type = "IPv6";
elseif ( $v4 != 0 )
    $type = "IPv4";
else
    $type = "unknown";

?>


Merci d'avance.


A voir également:

2 réponses

forum92 Messages postés 226 Statut Membre 133
 
Bonjour,
Bien sûr que cela est possible.
Grâce à une boucle ( for ou while) tu parcours ta liste .et tu insères les données.
for ($i = 0;$i <maList.length; $i ++){
     $sql =$db-> prepare('insert ...');
     $sql->excute ( );
} 
0
flo39400 Messages postés 659 Statut Membre 21
 
Merci de votre réponse.

Dans mon cas, donc pour afficher les donner je fait :


<?php
$info_ip = $bdd->query('SELECT * FROM systeme');
while($IP = $info_ip->fetch())
{
?>
<td><?= $IP['Adresse_ip'] ?></td>
<td><?= $IP['tempo1'] ?></td>
<?php       
}
?>


Car votre bout de code je comprend bien tous sauf le :

$i <maList.length;


Pouvez m'expliquer un peu ce que je doit mettre ici ?

Merci d'avance.
0
jordane45 Messages postés 40051 Date d'inscription   Statut Modérateur Dernière intervention   4 761
 
Bonjour,

On dirait dupont et dupond de tintin .....
La question parle de "mettre à jour" dans une bdd ...
La première réponse explique comment faire un INSERT dans une boucle...
Le troisième message... (du demandeur initiale....) parle d'afficher ...

Je dirais même plus ... c'est le boxon !

Donc.. pour mettre à jour en sql .. c'est une requête de type
UPDATE tatable
SET tonchamp = 'unevaleur'
WHERE tonchampcondition = 'unecondition'


Bien entendu... le preg_match que ut fais en php peut être réalisé directment en sql
https://dev.mysql.com/doc/refman/5.7/en/regexp.html

mais... LA question à se poser.. c'est pourquoi veux tu faire cette maj dans ta bdd .... ? (en bdd on stocke, en général, les données qu'on ne peut pas "calculer" lors de l'affichage...(ou si le calcul dynamique prend vraiment trop de temps.... ) )
Récupérer cette information uniquement à l'affichage ne te suffirait pas ???





0
flo39400 Messages postés 659 Statut Membre 21
 
Bonsoir merci de votre réponse.

Je veux donc juste ajouter un champs supplémentaire, qui détermine le type d'IP des uttilisateurs a des fin de statistique.

Donc oui sais vrai que directement en SQL depuis phpmyadmin sais plus simple et efficace.

Mais comment faire cela car le scripte qui permet cela je peu pas l'intégrer comme ça....
0