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.

2 réponses

  1. 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
    1. 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
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
    1. 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