non Monsieur. jamais je n'ai essayé de faire ceci, ni eu à le faire.
Là ça va etre ma première fois. Et je veux bien apprendre.
PS: j'apprend vite! looool
-----
non Monsieur. jamais je n'ai essayé de faire ceci, ni eu à le faire.
Là ça va etre ma première fois. Et je veux bien apprendre.
PS: j'apprend vite! looool
je peux te donner les premieres pierres et ensuite a toi de jouer
oui, je veux bien!
déja on va faire une page simple
tu mets bien sur le bon user et password tu dois d'abord te connecter (mysql_connect)
tu selectionnes ta base
tu crees ta requete
Code:<html> <head> </head> <body> <?php $link = mysql_connect("localhost", "mysql_user", "mysql_password") or die("Impossible de se connecter : " . mysql_error()); mysql_select_db("mydb"); $requete="select scientificname,speref from species"; $result = mysql_query($requete); ?> <form action="specie.php"> <select name="choix"> <?php while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<option value=\"".$row['speref']."\">".$row['scientificname']; } ?> </select> <input type="submit" value="espece"> </form> <?php mysql_close($link); ?> </body> </html>
Dernière modification par JPL ; 05/05/2011 à 14h32.
ca c'est quand tu recuperes un parametre provenant d'un formulaire
ici une espece et la liste de ses experts (tu peux mettre un href dessus et construire une url style expert.php?expref= et la valeur de ton expref
Code:<html> <head> </head> <body> <?php $link = mysql_connect("localhost", "mysql_user", "mysql_password") or die("Impossible de se connecter : " . mysql_error()); mysql_select_db("mydb"); $requete="select * from species where speref=".$_REQUEST['choix']; $result = mysql_query($requete); $row = mysql_fetch_array($result, MYSQL_ASSOC); $requete="select a.firstname,a.lastname from experts a,relexpspe b where b.speref = ".$row['speref']." and a.expref = b.expref"; $result = mysql_query($requete); ?> nom de l'espece : <?php echo $row['currentstatus']; ?> photo <img src='<?php echo $row['photo']; ?> experts : <?php while ($row1 = mysql_fetch_array($result, MYSQL_ASSOC)) { ?> <br><? php echo $row1['lastname']; ?> <?php } ?> </body> </html>
Dernière modification par JPL ; 05/05/2011 à 14h33.
Ooook, alors premier plantage:
$requete="select scientificname,speref from species";
$ok=mysql_query($requete,$link );
if ($ok){echo 'Requête exécutée';}
else {echo 'Impossible d\'exécuter cette requête...';}
eh bien je me retrouve justement dans ce else.
la requete dis quoi au juste ?
scientificname, ça serait quoi ?
speref from species je l'ai comprit
et puis, juste une commande plus bas que je veux comprendre avant d'y arriver:
<form action="specie.php">
<select name="choix">
c'est cencé spécifier où envoyer la donnée
mais specie.php n'existe pas.
Impossible d'exécuter cette requête...Invalid query: Unknown column 'scientificname' in 'field list'
bah oui tu dois mettre quand meme les noms des colonnes comme il faut au niveau de la requete SQL , comme j'ai pas la table mysql sous la main
peut etre ce soir je ferais un transfert d'access vers mysql
apres le select tu mets des noms de colonnes de ta table species
et dont tu recupereras la valeur dans $row['nomdecolonne'] valorisée par le mysql_fetch_array
si tu mets
$requete="select 'Scientific name',SPEREF from species";
et
echo "<option value=\"".$row['SPEREF']."\">".$row['Scientific name'];
cela devrait aller
par contre mettre des espaces dans un nom de colonne pas top du tout c deconseillé meme
et pour la requete mysql c'est peut etre des ` au lieu de ' pour encadrer les noms de colonnes
l'action d'un form donne la page qui sera affiché une fois que le formulaire sera validé ...
tu as besoin donc d'une autre page qui recupere la valeur de l'option selectionnée
dans "speref from species" pourquoi mentionne t on la clé primaire ?
j'ai bien le rectangel, mais ça me sort une liste de la meme chose: scientific_name
$link = mysql_connect('localhost', 'admin', 'admin')
or die('Impossible de se connecter : ' . mysql_error());
mysql_select_db("movedb");
$requete="select 'scientific_name',speref from species";
$ok=mysql_query($requete,$link );
if ($ok){echo 'Requête exécutée';}
else {echo 'Impossible d\'exécuter cette requête...';}
$result = mysql_query($requete);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
<form action="specie.php">
<select name="choix">
<?php
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<option value=\"".$row['speref']."\">".$row['scientific_name'];
}
ah ok donc sous ta base mysql la colonne s'apelle bien
scientific_name
donc pas besoin de ' entre
sinon c'est bien des ` qu'il faut mettre
pourquoi recuperer le speref car c'est moins couteux de passer un entier a une autre page qu'un texte entier et dont certains caractères peuvent gener l'url
tu vas recuperer ta liste d'option et comment fais tu pour passer l'option choisie a l'autre page
Bien, jusque là c'est bon, la page s'affiche, la liste des espèces aussi.
je pense que là, nous allon donc créer une page especes.php et voir ce qui arrive ?
plutot specie.php
c'est bon, la page est crée.
oui voila
dans ta premiere page mets bien
<form action="especes.php" method="post">
cela indique comment il va envoyer les parametre soit via l'url ou l'entete http
et bien sur mettre les bons noms de colonne pour la deuxieme page
je presume que dans la colonne photo c'est en fait un chemin vers la photo ?
cela s'est pour la page qui affiche la liste des experts
je pense que la tu as vu pas mal de chose
il reste à les digérer a ce que tu joues avec
avec isset tu peux tester si un parametre de formulaire existe
apres bien sur tu ajoutes autour la couche mysqlCode:if (isset($_REQUEST['param1']) { $req1 = "select expref from relexpsub where subref=".$_REQUEST['param1']; } else { $req1 = "select expref from experts"; } if (isset($_REQUEST['param2']) { $req2 = "select expref from relexpgeo where georef=".$_REQUEST['param2']; } else { $req2 = "select expref from experts"; } if (isset($_REQUEST['param3']) { $req3 = "select expref from relexpspe where speref=".$_REQUEST['param3']; } else { $req3 = "select expref from experts"; } $requete="select a.expref from (".$req1.") a,(".$req2.") b,(".$req3.") c where a.expref = b.expref and b.expref = c.expref";![]()
ça commence vraiment à devenir du chinois pour moi!!
mais où est ce que ce code devrait etre inséré ? à quel niveau ?
pourquoi la page specie.php n'affiche rien.
je crois que c'est peine perdue pour moi ! looool
cela c'est pour decouvrir comment acceder avec php a mysql pour ton besoin
ensuite bon si tu veux que cela soit dans la meme page
en utilisant <form action="<?php echo $_SERVER['PHP_SELF']; ?>">
tu vas pointer sur la meme page
tu ajoutes un input type="hidden" name="formulaire" value="toto"
tu tests juste apres ton formulaire
et tu mets le code de la page specie.php a l'interieur
que tu encapsuleras avec un <div> a toi ensuite de jouer avec les css
est ce que tu passes bien par ta premiere page pour y acceder ?
car si tu vas en direct dessus normal que tu affiches rien ...
tu peux ajouter dans ton code php
un print_r($_REQUEST); pour voir les parametre passé
ou un echo et mettre entre " une phrase
je te donne un conseil tu imprimes tes codes php je presume que chez toi tu as un pc installe easyphp tu verras tout se passera bien
faut que tu digeres et que cela fermente
fais un dessin sur un papier pour le cheminement entre tes pages
sur mon pc j'ai déjà wamp installé, pareil qu'ici au bureau, donc je peux manipuler les bases de données.
En fait sur le pc à la maison j'ai les memes log que j'ai ici.
je vais imprimer les codes php, mais ce que je veux surtout, c'est comprendre la signification des codes, ce qu'ils font, et leur syntaxe, pkoi la virgule ici, pourquoi l'appostrophe là ....
mais est ce qu'il n'y aurait pas un glossaire du code php en français ? c'est bien plus simple
oui bien sur tu as le manuel php en francais
http://php.net/manual/fr/index.php
Je propose une autre méthode de travail, car j’ai l’impression d’ouvrir un livre qui n’existe pas encore : « La maîtrise des technologies du Web en 24H ». Même Janet Valade (« PHP5 pour les nuls ») n’en serait pas capable. Loin de moi l’idée de penser que tu es nul, c’est le titre « choc » choisi il y a des années par les éditions First Interactive.
Alors je vous propose un autre plan de travail :
- vous téléchargez le fichier auto-extractible qui se trouve en http://www.planete-bleue.net/cle.exe.
- vous copiez ce fichier et le décompressez sur une clé USB
- vous aurez maintenant un serveur Apache et un serveur MySQL sur une clé USB (serveurs un peu différents de Wampserver, mais pouvant voyager sur une clé USB). Lancez le programme usbwebserver.exe, attendez que les deux leds se mettent au vert (si votre firewall déclenche une alerte, ce qui serait normal, acceptez la connexion car elle est sans danger) et cliquez sur PhpMyAdmin
- vous trouverez là les dix tables de la base qui nous intéressent. Une seule a été modifiée par rapport à Access. J’ai viré le champ « Photos » de la table « SPECIES » parce qu’il contenait des liens OLE vers des images.
- A partir de là, formulaires HTML et fichiers de traitement PHP devront être mis dans le dossier « Root » de la clé USB.
Si cette méthode vous convient, je continue. Mais je pense que tu vas devoir apprendre le PHP et le MySQL avec un bon bouquin comme tout le monde. La méthode que je propose présente (à mon avis) l’avantage de travailler sur ta base de données et de mettre tous les intervenants en ligne.
Bonjour!
Merci beaucoup pour votre patience avec moi. je suis tout à fait d'accord sur ce programme de travail. d'ailleurs moi si j'ai un peu ralentit la cadence c'est simplement pour avoir le temps de bouquiner un peu sur php , mysql et html.
Bien qu'en HTML je suis déjà assez avancé, en PHP et MySQL il va vraiment falloir que je me prenne en main,
Par ailleurs, je télécharge de suite ce serveur portable, cepandant, comment est ce que celà va permettre de mettre tous les intervenants en ligne ?
oui je sais pas si tu peux trouver de bon bouquin php mysql en tunisie sinon tu peux acheter en pdf
ici
php-et-mysql-5e-pour-les-nuls
http://librairie.immateriel.fr/fr/eb...-pour-les-nuls
oui je vois pas comment on pourra acceder a son site a part passer par le reseau de son entreprise avec du style
adresse de son poste : 8080
looool, en tunisie en n'a pas la possibilité de faire de tels achats via le net quand le payement va se faire en devises étrangères (euros, dollars ...) par contre, la semaine du 17 je serais à marseille, j'essayerais d'en trouver sur place.
est ce que t'as travaillé sur la base de données ? et tu me l'aurais renvoyé ? car je la trouve pas sur le fil du sujet, ni dans ma boite mail.