Mettre a jour toute une table avec un scripte SQL

Fermé
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - Modifié le 13 mai 2017 à 19:48
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 14 mai 2017 à 21:33
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 lundi 6 juillet 2015 Statut Membre Dernière intervention 14 août 2018 133
13 mai 2017 à 20:09
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 mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 21
13 mai 2017 à 20:52
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
14 mai 2017 à 17:51
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 mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 21
14 mai 2017 à 21:33
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