PHP/SQL : Exerice AJAX et base de donnée
Monday, June 6, 2011     17:19
  • Mon @ IP: 54.196.5.241



retour

Poster un commentaire ou une réponse

Exerice AJAX et base de donnée

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:33:52

Nous avons une liste déroulante et en sélectionnant 'homme' ou 'femme' une autre liste s'affiche contenant pantalon et costume pour homme | jupe et robe femme. en sélectionnant un vetement une autre liste s'affiche contenant le type de vetement. en selectionnat le type un tableau s'affiche avec les détails du vetement : libellé prix et marque.

Commencon par créer les tables:

categorie
produit
souscateg

comme suit:

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:35:01

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:35:13

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:35:28


Publicité

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:36:10

le résultat final doit ressembler a ca:

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:36:43

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:37:45

nous aurons besoin de 5 fichier php:

connexion.php:
<?php
function connexion()
{
$server= '127.0.0.1';
$user='root';
$pwd='';
$db='basedonn';


$con= mysql_connect($server, $user, $pwd);
mysql_select_db($db, $con);
}
?>

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:38:21

page d'accueil 1.php code:

<html>



<head>
<script language="javascript">

function rech3()
{
xhr=new XMLHttpRequest(); <!-- instancier lobjet c lintermediere entre la page web et lotre page se trouvan ds le serveur. !>
xhr.onreadystatechange=function() //fonction execute apres la recpe
{
if(xhr.status==200) // test si le fichier exisite au nivo du serveur
{
if(xhr.readyState==4) // evite dafficher 4 fois

document.getElementById('tab').innerHTML=xhr.responseText;

val=document.getElementById('selec').value=""; // mettre input de com vide apres avoir poster un comm
val=document.getElementById('selec2').value=""; // mettre input de com vide apres avoir poster un comm
val=document.getElementById('tab').value=""; // mettre input de com vide apres avoir poster un comm

//alert (xhr.responseText);

}
};

x= document.getElementById('selection3').value ;
xhr.open('GET','rech3.php?val='+x,true); // appelle la fction dessus
xhr.send();

}
function rech2()
{xhr=new XMLHttpRequest(); <!-- instancier lobjet c lintermediere entre la page web et lotre page se trouvan ds le serveur. !>
xhr.onreadystatechange=function() //fonction execute apres la recpe
{
if(xhr.status==200) // test si le fichier exisite au nivo du serveur
{
if(xhr.readyState==4) // evite dafficher 4 fois
document.getElementById('selec2').innerHTML=xhr.responseText;
val=document.getElementById('selec').value=""; // mettre input de com vide apres avoir poster un comm
val=document.getElementById('selec2').value=""; // mettre input de com vide apres avoir poster un comm
val=document.getElementById('tab').value=""; // mettre input de com vide apres avoir poster un comm//alert (xhr.responseText);
}};
x= document.getElementById('selection2').value ;
xhr.open('GET','rech2.php?val='+x,true); // appelle la fction dessus
xhr.send();

}

function recherche()
{
xhr=new XMLHttpRequest(); <!-- instancier lobjet c lintermediere entre la page web et lotre page se trouvan ds le serveur. !>
xhr.onreadystatechange=function() //fonction execute apres la recpe
{
if(xhr.status==200) // test si le fichier exisite au nivo du serveur
{
if(xhr.readyState==4) // evite dafficher 4 fois

document.getElementById('selec').innerHTML=xhr.responseText;

val=document.getElementById('selec').value=""; // mettre input de com vide apres avoir poster un comm
val=document.getElementById('selec2').value=""; // mettre input de com vide apres avoir poster un comm
val=document.getElementById('tab').value=""; // mettre input de com vide apres avoir poster un comm


//alert (xhr.responseText);

}
};

x= document.getElementById('selection').value ;
xhr.open('GET','rech.php?val='+x,true); // appelle la fction dessus
xhr.send();

}
</script>

</head>

<body>
<form name="f">
<select id="selection" onchange="recherche()">
<option></option>
<option>Homme</option>
<option>Femme</option>
</select>
<div id="selec">


</div>
<div id="selec2">


</div>
<div id="tab">


</div>
</form>
</body>
</html>

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:39:01

3 fichier php de recherche:

rech.php



<?php
require "connexion.php";
connexion();


$sexe=$_GET['val'];


$requete="select * from categorie where sex='$sexe'";
$data=mysql_query($requete) or die (mysql_error());
echo "<select id='selection2' onchange='rech2()'>";
echo "<option></option>" ;

while($row=mysql_fetch_array($data))
{

echo "<option>".$row['lib']."</option>" ;



}
echo "</select>";

?>

</body>

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:39:19

rech2.php



<?php
require "connexion.php";
connexion();


$val=$_GET['val'];


$requete="select id,lib from categorie where lib='$val'";
$data=mysql_query($requete) or die (mysql_error());
while($row=mysql_fetch_array($data))
{


$requete2="select * from souscateg where idcateg='$row[0]'";
$data2=mysql_query($requete2) or die (mysql_error());
echo "<select id='selection3' onchange='rech3()' >";
echo "<option></option>" ;

while($row2=mysql_fetch_array($data2))
{

echo "<option>".$row2['lib']."</option>" ;

}




echo "</select>";


}





?>


Publicité

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:39:28

rech3.php

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:40:30

<?php
require "connexion.php";
connexion();


$val=$_GET['val'];


$requete="select id,lib from souscateg where lib='$val'";
$data=mysql_query($requete) or die (mysql_error());
while($row=mysql_fetch_array($data))
{
$requete2="select * from produit where idsscateg='$row[0]'";
$data2=mysql_query($requete2) or die (mysql_error());
echo "


<table border=1><tr><td>Libellé</td><td>Marque</td><td>Prix en DT</td></tr>";


while($row2=mysql_fetch_array($data2))
{

echo "<tr><td>".$row['lib']."</td><td>".$row2['lib']."</td><td>".$row2['prix']."</td>" ;

}




echo "</table>";


}

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:41:05

voici tout le dossier;

  Hafedh :
nb posts:89
nb discussions:29
inscrit le :09-02-2015
le 09-02-2015 à 12:41:55

correction-exercice.rar

  fabrice :
nb posts:60
nb discussions:11
inscrit le :08-12-2014
le 27-03-2015 à 10:21:36

Merci pour l'explication

Poster un commentaire ou une réponse :
Poster
     Ajouter un document à la discussion:
       

Actualité informatique et High-Tech

16-10-2015               lire

Dropbox propose aussi un outil d'écriture collaborative à son service

16-10-2015               lire

Bientôt des DRM dans des JPEG

17-04-2015               lire

Google propose une requête pour retrouver son téléphone

17-04-2015               lire

Youtube prépare une offre payante sans publicité

17-04-2015               lire

Sony Pictures : Des milliers de mails et documents confidentiels dévoilés

07-04-2015               lire

T411 bloqué par les FAI français

07-04-2015               lire

NVIDIA publie un pilote correctif et met à jour SHIELD Hub ainsi que GeForce Experience

07-04-2015               lire

Linkedin acquiert la start-up Refresh

03-04-2015               lire

Chromebit, la clé USB Google et Asus qui transforme n’importe quel écran en ordinateur

03-04-2015               lire

Une personne aurait pu supprimer toutes les vidéos d’une chaine Youtube en quelques secondes

03-04-2015               lire

Firefox 37 apporte un cryptage complémentaire à HTTPS

03-04-2015               lire

Windows XP, ce système qui ne veut pas mourir

02-04-2015               lire

Piratage de Labio.fr : le laboratoire répond à nos questions et ne payera pas la rançon

02-04-2015               lire

AWS lance des instances géantes avec 48 To de stockage

02-04-2015               lire

WhatsApp ajoute les appels gratuits et illimités à son application

31-03-2015               lire

Nadim Kobeissi : de Cryptocat à Peerio, du piratage au doctorat

31-03-2015               lire

L'Université de Nantes inaugure son datacenter modulaire taillé pour le HPC

31-03-2015               lire

GitHub victime d’une attaque DDoS majeure

27-03-2015               lire

Googlinette : les recherches de Google en devinettes

27-03-2015               lire

F8 : Facebook ouvre Messenger au e-commerce

27-03-2015               lire

À la SNCF, une fuite de données simple comme une touche F5

23-03-2015               lire

Des satellites GPS de Boeing affectés par une erreur technique

23-03-2015               lire

Plus de 700 000 routeurs ADSL vulnérables au piratage

23-03-2015               lire

Twitter sous le coup d’une action collective pour discrimination

22-03-2015               lire

Les montres connectées étaient déjà présentes dans les films, séries et dessins animés

22-03-2015               lire

Une Audi autonome va traverser les USA de SF à New York

20-03-2015               lire

Éclipse du Soleil : comment la suivre en direct sur Internet

20-03-2015               lire

Projet Leap : des bus 2.0 à San Francisco

20-03-2015               lire

Nvidia dévoile Drive PX, un système de conduite autonome

17-03-2015               lire

Embarquez pour Apollo 11, expérience virtuelle hors du commun

16-03-2015               lire

Ce jour où Google a exposé les données de 282 867 domaines

16-03-2015               lire

Yahoo publie le code de son plug-in de chiffrement mail

16-03-2015               lire

Après un an sans mise à jour, HAWKEN revient à la vie

12-03-2015               lire

Le big data au service du séquençage ADN pour accélérer les diagnostics

12-03-2015               lire

Clap de fin pour PlayStation Mobile

12-03-2015               lire

Apple : retour à la normale après une panne de plus de 11 heures

12-03-2015               lire

Ericsson va supprimer 2 200 postes en Suède

12-03-2015               lire

Le plan de Fleur Pellerin contre le piratage sur Internet

10-03-2015               lire

Apple Watch, Watch Edition et Watch Sport : de 399 à 18.000 euros !

10-03-2015               lire

Apple présente le “nouveau MacBook” qui remplace le MacBook Air

09-03-2015               lire

Google développe une version d'Android pour la réalité virtuelle

09-03-2015               lire

Quand la MPAA demande à Google de déréférencer son propre site

09-03-2015               lire

Heroes of the Dorm : un tournoi HotS avec 450 000 $ de bourses d'études à gagner

09-03-2015               lire

1 milliard d'adresses mails volées, 2 pirates inculpés

09-03-2015               lire

VMware accusé de violation de code Linux

09-03-2015               lire

Les drones civils bientôt immatriculés ?

05-03-2015               lire

7 sites qui permettent d’envoyer des fichiers de + ou – 2 Go

04-03-2015               lire

Smartphones : Apple passe en tête devant Samsung56% des consommateurs inquiets pour leurs données en Europe

04-03-2015               lire

Smartphones : Apple passe en tête devant Samsung

04-03-2015               lire

MWC 2015 : Onevisage pésente un scan facial 3D pour smartphones

04-03-2015               lire

Caméras sportives : Xiaomi s'attaque au monopole GoPro

04-03-2015               lire

Yi Camera, la caméra embarquée de Xiaomi à moins de 60€

04-03-2015               lire

Faille FREAK : quand des connexions SSL/TLS se contentent d'un chiffrement RSA sur... 512 bits

04-03-2015               lire

Bientôt des pubs sur Google Play (Android)

28-02-2015               lire

En partenariat avec "Positive Technologies", Esprit a l'honneur d'inviter ses étudiants à la 1ère édition de l’événement ESPRIT HACK DAYS dans les locaux d'ESPRIT Chotrana 2 et ce le 03 et le 04 Mars 2015.

28-02-2015               lire

La direction des stages d’ESPRIT et Ernst & Young ont le plaisir d'inviter ses étudiants à la journée de l’entreprise du mercredi 4 mars 2015 dans la salle E5 d’ESPRIT Factory.

25-02-2015               lire

Adobe fête les 25 ans de son logiciel Photoshop

25-02-2015               lire

Linux 4.0 : gros numéro et petite version

Haut de page.