PHP et SQL
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
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
24 réponses
-
Voici mon code actuel :
à quel niveau pourrai-je intégrer le tient ??
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<?php
// Connexion à la base de données
$host = '127.0.01';
$user = 'root';
$passwd = '';
$bdd = 'CLIENT';
// Connexion au serveur
mssql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
mssql_select_db($bdd) or die("erreur de connexion a la base de donnees");
// Creation et envoi de la requete
$query = "SELECT NOM,ADRESSE, CP FROM contact where telephone ='$tel'";
$result = mssql_query($query);
// Recuperation des resultats
while($row = mssql_fetch_row($result)){
$NOM = $row[0];
$ADRESSE = $row[1];
$CP = $row[2];
echo "<tr>\n
<td>$NOM</td>\n
<td>$ADRESSE</td>\n
<td>$CP</td>\n
</tr>\n";
}
// Deconnexion de la base de donnees
mssql_close();
?>
</table>
<form action="index.php" method="post" name="form">
<p class="Style3"><span class="Style3"><strong>STATUT</strong></span>
<select name="statut" class="Style2">
<option value="" selected="selected"> </option>
<option value="K.O">K.O</option>
<option value="OK">OK</option>
</select>
<br>
<br>
<input name="submit" type=submit class="Style2" value="VALIDER">
<br>
</form>
</body>
</html> -
Bah faut le modifier un peu...
Tu as déjà une base sur laquelle tu peux travailler ;) -
mais si j'ai pas de champ ID dans ma table alors ton script php ne marchera pas ???
-
Bah disons que dans mon exemple je me base sur l'id pour détecter quel contact à été validé. Maintenant tu peux très bien te baser sur le nom/prénom par exemple.
Du genre: "select * from contact where nom = '$nom' and prenom = '$prenom'"; -
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 -
Il faudra simplement te connecter à la 2ème entre les deux requêtes.
-
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???
-
oui, par contre y a la partie connexion à ta base de donnée qui va changer.
-
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 ???
-
SQL est un langage, pas un sgbd ;)
-
oui. c'est pourquoi sur le post j'ai mis PHP et SQL
-
donc tu tournes avec SQL Server de Micro$oft?
-
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 ???
-
Je serai dans le coin ^^
-
là t'es à deux doigts de me sauver la vie ???
Je teste dans max 30 minutes et je reviens vers toi. encore merci -
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. -
c'est fait. ensuite je fais comment pour réintégrer mes données dans la nlle base ??
-
Oui, je te conseille de la mettre.
Genre:
id int(11) unsigned auto_increment primary key, -
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 -
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 ?
- 1
- 2
Suivant