Requète sql

swatt Messages postés 26 Statut Membre -  
swatt Messages postés 26 Statut Membre -
Bonjour à tous,

J'ai un big prob. En faire j'ai deux tables reliées entre elles par "id" .
La 1ère table s'appelle Matières dans une matière il y a plusieurs matières.
id Matières
1 mathématique
2 informatique
3 histoire

La 2ème table s'appelle cour dans une matière je peux avoir plusieurs cours.

id Cour
1 probabilité
1 équation du 2nd degré
2 Base de donnée
2 Java
3 L'esclavage

Je dois 'associé un cour à chaque matière par exemple mathématique(matière)=probabilité(cour).

En faite je cherche une requète sql pour associé cette requète à mon programme php afin d'insérer des cours dans chaque matière.

J'espère avoir bienb expliqué.

Merci j'attend de vos news!!!

38 réponses

Thamior Messages postés 267 Statut Membre 47
 
Petit correctif :

<?php
if($page == null)
{
?>
<form action="index.php?page=ajout_cours" method="post">
<select name="matiere">
<?php
$sql = "select * from matiere";
$exe = mysql_query($sql); // tu executes la requete
$rt = mysql_fetch_assoc($rt);

if($rt)
{
?>
<option value="<?php echo $rt["id_matiere"]; ?>"><?php echo $rt["nom_materie"]; ?></option>
<?php
}
?>
</select>
<input type="text" name="cours" />
<input type="submit" value="Envoyer" />
<?php
}

if($page == "ajout_cours")
{
if($_POST["materiere"] != null && $_POST["cours"] != null)
{
$cours = $_POST["cours"];
$id_mat = $_POST["materiere"];
$sql = "INSERT INTO cours(nom_cour,id_mat) VALUES ('$cours', '$id_matiere')"
$exe = mysql_query($sql); // tu executes la requete

if($exe)
{
echo "La requete a bien été ajouté";
}
else
{
echo "La requete a mal été executé !";
}
}
?>

[Désolé pour le flood, j'ai un petit soucis avec le navigateur...]
0
swatt Messages postés 26 Statut Membre
 
Merci sa fonctionne là et maintenant comment je fait ou dans le programme je dois mettre le code pour accéder à ma base de donnée
0
Thamior Messages postés 267 Statut Membre 47
 
Pour te connecter à la base de données :

$connexion = mysql_connect($serveur,$nom,$password);

if(!$connexion)
{
echo "Désolé, connexion à $serveur impossible\n";
exit;
}

if(!mysql_select_db($base,$connexion))
{
echo "Désolé accès à la base $base impossible\n";
exit;
}

avec :
$serveur : le serveur de ta base de données (en local, localhost)
$nom : ton login (en local, root)
$password : le password qui va avec (en local, "")
$base : le nom de la base

Thamior.
0
swatt Messages postés 26 Statut Membre
 
jè fè mon programme comme ceci:
<?php
$connexion = mysql_connect(localhost,swatt_971,dfoxys);

if(!$connexion)
{
echo "Désolé, connexion à $serveur impossible\n";
exit;
}

if(!mysql_select_db(g,$connexion))
{
echo "Désolé accès à la base $base impossible\n";
exit;
}

if($page == null)
{
?>
<form action="items_actions.php?page=ajout_cours" method="post">
<select name="matiere">
<?php
$sql = "select * from matiere";
$exe = mysql_query($sql); // tu executes la requete
$rt = mysql_fetch_assoc($rt);

if($rt)
{
?>
<option value="<?php echo $rt["id_matiere"]; ?>"><?php echo $rt["nom_materie"]; ?></option>
<?php
}
?>
</select>
<input type="text" name="cours" />
<input type="submit" value="Envoyer" />
<?php
}

if($page == "ajout_cours")
{
if($_POST["materiere"] != null && $_POST["cours"] != null)
{
$cours = $_POST["cours"];
$id_mat = $_POST["materiere"];
$sql = "INSERT INTO cours(nom_cour,id_mat) VALUES ('$cours', '$id_matiere')" ;
$exe = mysql_query($sql); // tu executes la requete

if($exe)
{
echo "La requete a bien été ajouté";
}
else
{
echo "La requete a mal été executé !";
}
}
}
?>

J'ai rajouté par phpmyadmin des données dans la table matières, mais elle ne me l'affiche pa dans le cadre roulant de ma page.

Pourquoi????
0

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

Posez votre question
Thamior Messages postés 267 Statut Membre 47
 
Modifie les lignes suivantes :

$exe = mysql_query($sql); // tu executes la requete

par :

$exe = mysql_query($sql, $connexion); // tu executes la requete

et

$exe = mysql_query($sql); // tu executes la requete

par

$exe = mysql_query($sql, $connexion); // tu executes la requete

Normalement avec ça, tout devrait marché.

Thamior.
0
swatt Messages postés 26 Statut Membre
 
Reslt thamior j'ai fait les changement que tu ma di et sa ne fait tj rien
0
Thamior Messages postés 267 Statut Membre 47
 
Qu'est-ce qui ne marche pas exactement ?

Thamior.
0
swatt Messages postés 26 Statut Membre
 
En faite il y a pas de connexion avec ma data base sa me donne le menu déroulant sans rien dedans alors k jè déja entré des données dans ma db via phpmyadmin
0
Thamior Messages postés 267 Statut Membre 47
 
As tu as l'une des phrase suivante qui s'affiche :
- Désolé, connexion à localhost impossible
ou
- Désolé accès à la base g impossible

Si c'est le cas, vérifie les données concernant le message d'erreur.

Thamior.
0
swatt Messages postés 26 Statut Membre
 
Non sa me di pas ce que ces phrase, on faite sa m'affiche ma page avec mon formulaire avec 2 cadres, dans le premiers cadre il doit apparaitre les matières et dans le second cadres je dois mettre le cours que je veux associé avec la matière.

Comme je te disais précédemment j'ai ajouté des données a ma table matière manuellement mais le truc cè que les données que j'ai rajouté apparaisse pas dans le cadre matière.

Je pense que c'est un prob de connexion avec la bd c'est bizarre car je pense que ton programme est bon
0
Thamior Messages postés 267 Statut Membre 47
 
Le correctif que j'ai testé avec un jeu d'essais :

if($page == null)
{
?>
<form action="test.php?page=ajout_cours" method="post">
<select name="matiere">
<?php
$sql = "select id_matiere, nom_matiere from matiere";
$exe = mysql_query($sql, $connexion); // tu executes la requete
$rt = mysql_fetch_assoc($exe);

if($rt)
{
while($rt)
{
echo "<option value='$rt[id_matiere]'>$rt[nom_matiere]</option>";
$rt = mysql_fetch_assoc($exe);
}
}
?>
</select>
<input type="text" name="cours" />
<input type="submit" value="Envoyer" />
<?php
}
0
swatt Messages postés 26 Statut Membre
 
cool la sa m'affiche bien les données que j'ai rajoté manuellement a phpmyadmin c'est a dire les matière dans le 1er cadre déroulant mè kan je veu entré le cour que je veu associé a une matière sa le rajoute pas.

Eh ben lorsqu'un problème est réglé un autre appareil.
lol
0
Thamior Messages postés 267 Statut Membre 47
 
Je vois ce que tu veux faire.

Je te conseil de regarder du côté de l'Ajax.

Si tu ne trouves pas, je t'adapterai du code que j'ai pour que ça fonctionne mais pas avant demain soir.

Thamior.
0
swatt Messages postés 26 Statut Membre
 
ok merci thamior je vais jeté un coup d'oeil du coté de l'ajax mais j'y connè rien en ajax.
Donc essaye de m'adapter le code mème si c'est pour demain soir, sa fait rien.

Merci
David
0
swatt Messages postés 26 Statut Membre
 
Là j'ai essayer une table avec plusieur attribut mais j'ai une erreur de phpmyadmin il me met sa:
#1005 - Can't create table '.\giggles\test.frm' (errno: 150)

Voici ma table:

CREATE TABLE test
(
id_kids int(10) unsigned not null auto_increment,
description varchar(200) NULL,
description_fr varchar(200) NULL,
quantity smallint(4) unsigned NOT NULL default '1',
price decimal(6,2) unsigned NOT NULL default '0.00',
instock enum('y','n') NOT NULL default 'y',
visible enum('true','false') NOT NULL default 'true',
id_mat int(5) not null,
Primary Key (id_kids),
FOREIGN KEY(id_mat) REFERENCES kids(id_kids1)
)
0
Thamior Messages postés 267 Statut Membre 47
 
Bonjour,

Tu as réussi à faire ce que tu voulais ?

Thamior.
0
swatt Messages postés 26 Statut Membre
 
Non j'ai essayé le language ajax mais j'y ai rien compris
0
swatt Messages postés 26 Statut Membre
 
Moi je m'y connais en php mais malheureusement pas trop d'après ce que je voi.
0