PHP et SQL

bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   -  
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


Bonsoir chers amis,
Je suis stagiaire dans une grande entreprise. Pour les besoins du stage j'ai comme mission de développer une petite application qui permet de rechercher des infos clients dans une base de données et des les afficher sous forme de tableau. Jusque là je ça va. et une fois que la personne trouve que les informations affichées sont correctes elle doit choisir le statut ok d'une puis cliquer sur enregistrer pour que le résultat de la requête et du statut choisi par la personne soit intégrer dans une autre base de données.Là ou je bloque, j'arrive pas à récupérer le résultat de la requête contenu dans le tableau et le statut sur une autre page qui contient la commande insert.

cela fait deux semaines que je galère. help me please cher amis

A voir également:

24 réponses

prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Hello,

On va y aller par étape !

Donc tu as 2 BDD

DB1 -> données clients

DB2 -> données clients validées
       -> statut


Pour le moment tu as réussi à récupérer les données clients de DB1 et à les afficher si j'ai bien compris.

Il faut maintenant que lorsque que tu clique sur enregistrer, les données sélectionnées et qui viennent de DB1 aillent s'enregistrer dans DB2 ainsi que le statut "OK".

On s'est bien compris ?
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour prosthetiks,
Merci pour la réactivité. C'est bien ça. On s'est très bien compris.

Comment devrais-je procéder ?
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
je pourrais avoir la structure des tes tables stp ?

Ca me permettrait de te donner des exemples plus concrets.
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
La 1ère base se nomme CLIENT et contient la table CONTACT avec les champs suivants :

nom - prenom - adresse - code postal - ville - telephone - gsm

La 2e base se nomme CLIENT2 et contient la table CONTACT2 avec les mêmes champs + le champs statut qui contient la valeur ok ou k.o selon l'information choisie par la personne en charge de vérifier que la base est à jour
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Tu n'as pas de clé primaire dans ta table CLIENT ?

En fait je trouve que ta solution est mal réfléchie vu que tu vas avoir des redondances dans tes tables.

Est-il vraiment important de dupliquer les clients valides dans une 2ème table ?
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
Je peux mettre la clé primaire mais je vois pas trop l'intérêt. Tu me conseilles de la mettre ???

Je ne peux pas mettre les mêmes infos dans la même base. Les deux doivent être distinctes
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Oui, je te conseille de la mettre.

Genre:
id int(11) unsigned auto_increment primary key,
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
c'est fait. ensuite je fais comment pour réintégrer mes données dans la nlle base ??
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
J'ai fait un exemple:


Mon fichier SQL:
drop database if exists client;   
create database client;   
use client;   

create table client(   
 id   int(11) unsigned auto_increment primary key,   
 nom   varchar(255),   
 prenom  varchar(255)   
)engine=innoDB;   

create table client2(   
 nom   varchar(255),   
 prenom  varchar(255),   
 statut  int(1)   
)engine=innoDB;   

insert into client(nom, prenom)    
 values   
 ('Dupond','Marc'),   
 ('pouette','Anne'),   
 ('Bush','Georges'),   
 ('Bla bla','BLAAAA');   


mon fichier PHP (index.php p.ex)

<?php 
 $database = 'client'; 
 $user = 'root'; 
 $password = ''; 
 $host = 'localhost'; 
  
 mysql_connect($host, $user, $password); 
 mysql_select_db($database); 
  
 $query = 'select * from client'; 
  
 $request = mysql_query($query); 
 $html = '<table>'; 
 $html .= '<tr><td>Nom</td><td>Prenom</td><td>Action</td></tr>'; 
  
 while($response = mysql_fetch_array($request)){ 
  if(isset($_POST['id'])){ 
   if($response['id'] == $_POST['id']){ 
    $nom = $response['nom']; 
    $prenom = $response['prenom']; 
    $statut = '1'; 
   } 
  } 
  $html .= '<tr><td>' . $response['nom'] . '</td><td>' . $response['prenom'] . '</td><td>'; 
  $html .= '<form method="post">'; 
  $html .= '<input type="hidden" name="id" value="'.$response['id'].'">'; 
  $html .= '<input type="submit" value="valider"/></form></td></tr>'; 
 } 
 if(isset($_POST['id'])){ 
  $query = "insert into client2(nom, prenom, statut) values ('$nom','$prenom','$statut')"; 
  $request = mysql_query($query); 
  echo 'Sauvegarde effectuée'; 
 }else{ 
  print $html; 
 } 
?> 


base toi la dessus pour comprendre, c'est pas propre mais c'est fonctionnel.
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
là t'es à deux doigts de me sauver la vie ???

Je teste dans max 30 minutes et je reviens vers toi. encore merci
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Je serai dans le coin ^^
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
j'ai testé. ca marche mais avec mysql. moi j'ai une base sql et je pense pas que le champ id soit nécessaire pour moi. comment puis-je adapter ton script ???
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
donc tu tournes avec SQL Server de Micro$oft?
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
oui. c'est pourquoi sur le post j'ai mis PHP et SQL
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
SQL est un langage, pas un sgbd ;)
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
Il est prévu que je le migre sur un poste avec mysql mais vu que je me débrouille mieux avec sql côté requête, je l'utilise pour le moment. si tout est ok je pense que je pourrai l'adapter suivant le type de base ???
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
oui, par contre y a la partie connexion à ta base de donnée qui va changer.
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
je vois qu'avec ta requête mysql j'ai une seul base avec deux tables. alors que mois j'ai deux bases bien distinctes. ça va pas changer qq chose???
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Il faudra simplement te connecter à la 2ème entre les deux requêtes.
0
bigbik Messages postés 159 Date d'inscription   Statut Membre Dernière intervention   1
 
merci. mais si je met pas le champs ID, je fais comment pour adapter le script.

crois moi, il me servira pas même si je sais que t'as raison
0