PHP et SQL

Fermé
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 - 14 mars 2011 à 20:02
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 - 15 mars 2011 à 16:52
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
14 mars 2011 à 20:13
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 lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 11:44
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 12:11
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 lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 13:53
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 15/03/2011 à 14:20
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 lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 14:23
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 14:24
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 lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 14:29
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 15/03/2011 à 14:43
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 lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 14:51
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 14:53
Je serai dans le coin ^^
0
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 15:50
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 15/03/2011 à 15:54
donc tu tournes avec SQL Server de Micro$oft?
0
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 16:01
oui. c'est pourquoi sur le post j'ai mis PHP et SQL
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 16:02
SQL est un langage, pas un sgbd ;)
0
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 16:06
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 16:10
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 lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 16:11
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 dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
15 mars 2011 à 16:12
Il faudra simplement te connecter à la 2ème entre les deux requêtes.
0
bigbik Messages postés 159 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 1 juillet 2011 1
15 mars 2011 à 16:15
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