PhP
1757Messages postés
11 décembre 2000Date d'inscription
29 mars 2002 à 13:09
Salut Arnault,
Qu'entens-tu par "exploiter les relations entre les tables, comme avec Access" ?
Connaîs-tu le langage SQL même si c'est celui d'Access ?
Sous Access est-ce que tu tapes directement le code SQL de tes requêtes ou bien utilises-tu uniquement l'assistant ? (le truc qui se manipule à la souris que te fait voir les tables, les liens, les champs sélectionnés dans un tableau etc ... mais qui malheureusement te fait passer à côté de l'essentiel si tu n'utilises que çà , càd le SQL lui même !)
Jette donc un coup d'oeil au code SQL que te génère Access dans tes requêtes, tu verras de quoi je parle...
G tjrs pas de tutorial, mais en ce qui concerne la sélection de données le lien entres 2 tables MySql passe par l'utilisation d'une jointure (mot clé INNER JOIN) :
Par ex si tu as les tables :
Table CLIENT :
CLI_ID : identifiant du client (clé primaire)
CLI_NOM : nom du client
et
Table COMMANDE :
CDE_ID : identifiant de la cde (clé primaire)
CDE_CLI_ID : identifiant du client (clé étrangère)
CDE_DATE : date de la cde
CDE_MONTANT : montant de la cde
Et bien pour obtenir toutes les cdes de tous les clients la requête SQL est :
SELECT * FROM CLIENT INNER JOIN COMMANDE
ON CLIENT.CLI_ID = COMMANDE.CDE_CLI_ID
Bien sûr faudrait développer davantage, mais comme j'ignore ton niveau ...
@+
Philippe
[[ The Truth is Out There ]]
Je vous vois en train de parler de jointure et de select. Je suis completement débutant et ne trouve pas de doc pour mon pb.
Je me suis fait un petit moteur de recherche (qui marche très bien) sauf que dans la liste déroulante qui découle de la requete je ne sais pas comment m'y prendre pour que le visiteur puisse, en sélectionnant un élément dans cette liste déroulante, provoque l'affichage, sur la droite de la liste, le texte qui correspond a la séléction.
Voivi le script:
<?
if($lettre AND $sexe){
$req = mysql_query("select * from `recherche` where `sexe`=\"$sexe\" and `prenom` LIKE \"$lettre%\" order by `prenom` ASC");
$res = mysql_num_rows($req);
if($res!=0){
print("
<div align='center'>
<form name='prenoms'>
<select name='prenoms' onChange=\"MM_jumpMenu('parent',this,1)\">
<option value='page2.php' selected>Prénoms</option>
");
}
for ($i=0;$i<$res;$i++)
{
$origine = mysql_result($req,$i,"origine");
$resFormat=mysql_fetch_object($req);
echo "<option value=\"page2.php?name=$resFormat->prenom&description=$resFormat->origine\">$resFormat->prenom</option>";
//$i++;
}
if($res!=0){
print("
</select>
</form>
</div>
");
}
if($res==0){
print("Aucun prénom $sexe enregistré pour cette lettre");
}
}
else if($Submit){
print("Veuillez renseigner le formulaire (sexe ET initiale)");
}
if($name AND $description){
print("<b>$name</b> : $description");
}
mysql_close($db);
?>
merci infiniement pour le tuyau. ! ;-))
http://abarka.free.fr
Tu veux afficher quoi à droite ?
Un texte ? D'où sort-il ? Fait-il partie d'un des champs que te renvoie ta requête (dans ce cas va peut être falloir songer à le sauvegarder dans la page ...) ?
Ensuite dans quoi veux-tu l'afficher ?
Un champ d'un formulaire, un tableau HTML, une autre page HTML ?
Enfin que fait la fonction :
"MM_jumpMenu('parent',this,1)" ?
Est-ce du code généré par Dreamweaver ? J'espère que non ...
En attendant ...
@+
Php
[[ The Truth is Out There ]]
A droite je veux afficher le contenu d'un champ d'une table (chaque prénom a une explication texte).
Je voudrai l'afficher dans un cadre pas trop grand? (faudrait peut-etre que je crée cellui-ci à droite du bouton (liste déroulante) prénoms. PB je ne sais pas exactement a quel endroit puisque je n'ai que le premier cadre avec les boutons radio, le bouton contenant la liste déroulante s'affichant après (mais peut-etre dans une nouvelle page ?)
Si tu as vu la page en question, sache que c'est un calque avec les contours verts et qui contient les boutons radio, rechercher et je voudrai que le résultat de la requete validée par "rechercher" s'affiche dans ce même calque. (en sorte un rafraississement où quelque chose comme ça).
Je dois te dire aussi que le script m'a été fait par un gars, du
moins le début. Il m'incitait, à l'époque, a utiliser du javascript (je ne sais vraiment pas pourquoi, le php conviendrait aussi bien non ?).
Pourquoi tu me dit j'espère que non au sujet de dreamweaver ????? Y-A-T-il un probleme avec ???? La ligne en question ("MM_jumpMenu('parent',this,1)" ?) c'est bien du javascript, c'est le gars qui l'avait écrit mais effectivement je travaille avec Dreamweaver 4.
J'ais tout viré pour ouvrir une fenetre via un lien et en utilisant un
script pour centrer la fenetre au milieu de l'écran en fonction de
l'affichage du visiteur mais cela ne fonctionne toujours pas.
http://txiki.free.fr/origine_noms.htm pour regarder le source.
Un extrait de la table mythonames.
# Structure de la table `recherche`
#
CREATE TABLE recherche (
id int(4) NOT NULL auto_increment,
sexe varchar(10) NOT NULL default '',
prenom varchar(50) NOT NULL default '',
origine varchar(255) NOT NULL default '',
UNIQUE KEY id (id)
) TYPE=MyISAM;
#
# Contenu de la table `recherche`
#
INSERT INTO recherche VALUES ('', 'masculin', 'ADUR:', 'nom d\'un personnage de la mythologie basque.');
INSERT INTO recherche VALUES ('', 'masculin', 'AGEIO:', 'nom d\'un être de la mythologie basque.');
INSERT INTO recherche VALUES ('', 'masculin', 'AIDE:', 'nom d\'un personnage de la mythologie basque.');
Merci encore infiniement pour tes éclairssissements.
merci pour le tuyau. ! ;-))
http://abarka.free.fr