Mettre a jour toute une table avec un scripte SQL

flo39400 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   -  
flo39400 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   -
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 220 Date d'inscription   Statut Membre Dernière intervention   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 596 Date d'inscription   Statut Membre Dernière intervention   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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 596 Date d'inscription   Statut Membre Dernière intervention   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