Interfacer ma page HTML avec ma BDD MySQL ?

Interfacer ma page HTML avec ma BDD MySQL ? - SQL/NoSQL - Programmation

Marsh Posté le 08-06-2005 à 00:11:35    

Salut,
 
je voudrais interfacer ma base de donnees avec une page HTML de saisie...
j'ai editer une pages de saisie avec un editeur HTML Wysiwyg (Nvu) contenant tous les champs correspondants à mes tables SQL.
la page se termine par un boutton de type submit qui doit envoyer tout le contenu des champs pour remplir ma base.
 
je ne sais pas par contre quel type de code mettre pour me connecter à ma base et que les champs soient associés aux tables.
 
est-ce du type ?
 

Code :
  1. <html>
  2.      <head>
  3.           <title>Test PHP</title>
  4.      </head>
  5.      <body>
  6.           <?
  7.           $localhost = "localhost";
  8.           $username = "nom d'utilisateur";
  9.           $password = "mot de passe";
  10.           mysql_connect($localhost,$username,$password);
  11.           ?>
  12.      </body>
  13. </html>


 
je vois pas comment dire par exemple :
au champ ID ordinateur dans la page HTML d'aller remplir la table Ordinateur > Id_ordi de ma base de données...
 
si vous pouviez me donner des pistes  :D

Reply

Marsh Posté le 08-06-2005 à 00:11:35   

Reply

Marsh Posté le 08-06-2005 à 01:39:52    

j'ai ça deja...
 

Code :
  1. <?php
  2. // On commence par récupérer les champs
  3. if(isset($_POST['id_ordi']))      $nom=$_POST['id_ordi'];
  4. else      $id_ordi="";
  5. if(isset($_POST['nom_ordi']))      $prenom=$_POST['nom_ordi'];
  6. else      $nom_ordi="";
  7. if(isset($_POST['type_ordi']))      $email=$_POST['type_ordi'];
  8. else      $type_ordi="";
  9. if(isset($_POST['fonct_ordi']))      $icq=$_POST['fonct_ordi'];
  10. else      $fonct_ordi="";
  11. // On vérifie si les champs sont vides
  12. if(empty($id_ordi) OR empty($nom_ordi) OR empty($type_ordi) OR empty($fonct_ordi) )
  13.     {
  14.     echo '<font color="red">Attention, aucun champs ne peut rester vide !</font>';
  15.     }
  16. // Aucun champ n'est vide, on peut enregistrer dans la table
  17. else
  18.     {
  19.        // connexion à la base
  20. $db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
  21. // sélection de la base
  22.     mysql_select_db('parcinfo',$db)  or die('Erreur de selection '.mysql_error());
  23.     // on écrit la requête sql
  24.     $sql = "INSERT INTO ordinateur(id_ordi, nom_ordi, type_ordi,fonct_ordi) VALUES('','$nom','$prenom','$email','$icq','$titre','$url')";
  25.     // on insère les informations du formulaire dans la table
  26.     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  27.     // on affiche le résultat pour le visiteur
  28.     echo 'Vos infos on été ajoutées.';
  29.     mysql_close();  // on ferme la connexion
  30.     }
  31. ?>


 
c'est un petit script php mais quand je le lance j'ai mon echo qui s'affiche....il veut pas aller jusqu'à la connection à mysql.. :(


Message édité par irk le 08-06-2005 à 01:40:27
Reply

Marsh Posté le 08-06-2005 à 08:38:22    

Il est lancé ton serv MySQL?


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 08-06-2005 à 08:44:36    

Citation :

Code :
  1. # if(isset($_POST['id_ordi']))      $nom=$_POST['id_ordi'];
  2. # else      $id_ordi="";
  3. #
  4. # if(isset($_POST['nom_ordi']))      $prenom=$_POST['nom_ordi'];
  5. # else      $nom_ordi="";
  6. #
  7. # if(isset($_POST['type_ordi']))      $email=$_POST['type_ordi'];
  8. # else      $type_ordi="";
  9. #
  10. # if(isset($_POST['fonct_ordi']))      $icq=$_POST['fonct_ordi'];
  11. # else      $fonct_ordi="";



 
Tu comprends ce que tu fais au moins?
$nom contient l'ID de l'ordi
$prenom contient le nom de l'ordi
$email contient le type d'ordi
$icq contient la fonction de l'ordi
 :heink:  
 

Citation :

Code :
  1. $sql = "INSERT INTO ordinateur(id_ordi, nom_ordi, type_ordi,fonct_ordi) VALUES('','$nom','$prenom','$email','$icq','$titre','$url')";



 
La requête est complétement fausse:
ordinateur(id_ordi, nom_ordi, type_ordi,fonct_ordi)
puis
VALUES('','$nom','$prenom','$email','$icq','$titre','$url')
Y'a pas un problème ?
 :heink:  


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 08-06-2005 à 11:36:50    

cesarr89 a écrit :

[quote]
Tu comprends ce que tu fais au moins?


 
 
j'essaye en tous cas...
 
oui là j'ai mis vite fait le code car il est pompé sur un truc trouvé sur internet, je suis pas du tout capable d'en creer un de toute part  :sweat:  
 
 

Code :
  1. * # if(isset($_POST['id_ordi']))      $id_ordi=$_POST['id_ordi'];
  2.     * # else      $id_ordi="";
  3.     * #
  4.     * # if(isset($_POST['nom_ordi']))      $nom_ordi=$_POST['nom_ordi'];
  5.     * # else      $nom_ordi="";
  6.     * #
  7.     * # if(isset($_POST['type_ordi']))      $type_ordi=$_POST['type_ordi'];
  8.     * # else      $type_ordi="";
  9.     * #
  10.     * # if(isset($_POST['fonct_ordi']))      $fonct_ordi=$_POST['fonct_ordi'];
  11.     * # else      $fonct_ordi="";


 
 

Code :
  1. $sql = "INSERT INTO ordinateur(id_ordi, nom_ordi, type_ordi,fonct_ordi) VALUES('$id_ordi','$nom_ordi','$type_ordi','$fonc_ordi')";


 
c'est mieux ?  :??:


Message édité par irk le 08-06-2005 à 11:38:25
Reply

Marsh Posté le 08-06-2005 à 12:11:01    

Oui mais c'est toujours pas ca dans le VALUES de la requête.


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 08-06-2005 à 12:39:50    

hum...
 
je croyais pourtant que ça me ferait, insérer ds la table ordinateur avec les champs id_ordi, nom_ordi, type_ordi, fonct_ordi les valeurs de mes variables du meme nom (d'ailleur j'aurais peut etre du differencier entre les champs SQL et mon formulaire) envoyées par le POST, non ?
 
je comprends ça moi, Si $id_ordi contient une valeur alors la poster, Sinon la variable est vide, auquel cas l'echo prend le relais pour me signaler qu'aucun champ ne doit etre vide...
 
je patauge mais j'aime ça  :D

Reply

Marsh Posté le 08-06-2005 à 12:42:53    

Tu as déjà manipulé des chaines de caractères en PHP?


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 08-06-2005 à 12:46:58    

très franchement non...
 
je sens que tu vas me dire:
"abandonne jeune padawan...beaucoup de choses encore apprendre tu dois"  :D  
 
je te remercie de m'aider quand meme  :)

Reply

Marsh Posté le 08-06-2005 à 12:50:43    

Non je vais te dire, ' va voir sur ces sites':
http://www.phpdebutant.org/
www.siteduzero.com/php/


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 08-06-2005 à 12:50:43   

Reply

Marsh Posté le 08-06-2005 à 17:05:46    

il faudrait donc que je reprenne toute ma variable comme ceci
 

Code :
  1. VALUES('','$_POST['id_ordi']','$_POST['nom_ordi']','$_POST['type_ordi']','$_POST['fonct_ordi']')"


 
puisque ce que je vais saisir effectivement sera différent à chaque submit...
 
tes sites sont super bien faits mais je comprends pas pourquoi la 1ere VALUE est '' ?

Reply

Marsh Posté le 08-06-2005 à 17:08:38    

le '' ca veut dire valeur par défaut de ton champs ou si c'est un auto-increment bah ca prends la valeur tout seul.
 
Pour le reste retourne sur les sites tu as pas tout bien compris je crois.


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 08-06-2005 à 17:13:33    

arf j'en ai trop lu je crois  :lol:  
j'y retourne, rome ne s'est pas faite en 1 jour  :pfff:

Reply

Marsh Posté le 08-06-2005 à 17:14:17    

Oui exactement, mais t'en fais pas tu vas finir par y arriver.


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 08-06-2005 à 17:25:14    

il faut que je declare la longueur et le type de ma variable ds mon script php avant non ?

Reply

Marsh Posté le 08-06-2005 à 17:28:46    

Quoi comment ca?


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 08-06-2005 à 17:30:37    

non je me demandais si je devais reprendre les types de varibales et la longueur (int,varchar) comme je les ai choisies lors de la création de  mes tables...

Reply

Marsh Posté le 08-06-2005 à 17:32:13    

bah non, en plus PHP est pas strict niveau typage (d'ailleurs c'est dangereux desfois).
Retourne sur les sites et relis mieux.


---------------
!== Force et honneur ==!
Reply

Marsh Posté le 08-06-2005 à 19:08:19    

Bon mon formulaire HTML fait recuperer a mon script PHP les données pour remplir ma base MySql c'est déjà pas mal... :p  

Code :
  1. [MODE arrete de te la peter pov'noob ON]


 
par contre là mes me reste plus beaucoup de cheveux pour faire de ma clef primaire id_ordi le lien entre toutes mes tables...
et oui si j'ai 1 ordi d'ID 1 je veux pas qu'il y en ai un autre et je veux que pour chaque ID ma table ordinateur soit liée à la table hardware puis software.. tout ça avec incrementation auto lol
 
decidemment je suis vraiment criqpé là j'arrive meme plus à expliquer...
 
j'étudie l'exemple http://www.phpdebutant.org/article67.php mais c'est pas gagné ^^
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed