A voir également:
- Base MySQL : comment faire ?
- Formules excel de base - Guide
- Mysql download - Télécharger - Bases de données
- Germain veut gérer les activités de son association avec une base de données. il a commencé à créer des tables dans un fichier, mais il n’est pas sûr du résultat. le fichier à télécharger contient uniquement le schéma de cette base de données. en l’état actuel, que peut-on en déduire ? - Forum Outlook
- Source sdk base 2007 ✓ - Forum Jeux vidéo
- Base de registre - Guide
13 réponses
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
22 nov. 2004 à 11:50
22 nov. 2004 à 11:50
Bonjour!!
Tout d'abord, tu ne peux pas mettre dans un même champs plusieurs valeurs sans dupliquer les autres informations!
L'idéal, c'est que tu fasses 2 tables:
id, nom, alphabet et web
la seconde:
id, catégorie.
Pour chaque entreprise qui a plusieurs catégories, tu crées une ligne dans la 2ème table.
C'est la seule solution!! ;-) Enfin, la seule que je vois!
Bonne journée!
Maily :-))))
Boumj'chtattrape
Tout d'abord, tu ne peux pas mettre dans un même champs plusieurs valeurs sans dupliquer les autres informations!
L'idéal, c'est que tu fasses 2 tables:
id, nom, alphabet et web
la seconde:
id, catégorie.
Pour chaque entreprise qui a plusieurs catégories, tu crées une ligne dans la 2ème table.
C'est la seule solution!! ;-) Enfin, la seule que je vois!
Bonne journée!
Maily :-))))
Boumj'chtattrape
Merci pour ce premier conseil éclairé !!!
Mais... Comment dois-je faire pour relier la première table à la seconde ?
Question subsidiaire : comment rendre "cliquable" l'URL que j'ai mise dans le champ "Web" ?
Merci beaucoup d'avance !!
Mais... Comment dois-je faire pour relier la première table à la seconde ?
Question subsidiaire : comment rendre "cliquable" l'URL que j'ai mise dans le champ "Web" ?
Merci beaucoup d'avance !!
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
22 nov. 2004 à 12:05
22 nov. 2004 à 12:05
Ces deux tables sont reliées par l'id...
l'id qui est dans la première table pourra apparaitre plusieurs fois dans la seconde selon si l'entreprise à plusieurs catégories!!
Pour la dernière question, au moment ou tu l'affiches, il faut que tu l'écrives avec les balises HTML
voilà!
Maily :-))))
Boumj'chtattrape
l'id qui est dans la première table pourra apparaitre plusieurs fois dans la seconde selon si l'entreprise à plusieurs catégories!!
Pour la dernière question, au moment ou tu l'affiches, il faut que tu l'écrives avec les balises HTML
<a href="tonAdresseWeb.html">tonAdresseWeb.html</a>
voilà!
Maily :-))))
Boumj'chtattrape
D'aaaaaaaaccord...
Il suffit donc qu'au lieu de laisser l'ID s'incrémenter automatiquement, je mette sa valeur dans la table 2, et ce, à chaque fois que j'ajoute une catégorie, c'est ça ?
Merci encore...
Il suffit donc qu'au lieu de laisser l'ID s'incrémenter automatiquement, je mette sa valeur dans la table 2, et ce, à chaque fois que j'ajoute une catégorie, c'est ça ?
Merci encore...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
22 nov. 2004 à 12:30
22 nov. 2004 à 12:30
...ce à chaque fois que ajoute une catégorie pour une entreprise, pour être tout à fait exact!
;-)
Maily :-))))
Boumj'chtattrape
;-)
Maily :-))))
Boumj'chtattrape
Damn' it, cela ne fonctionne pas ! Quand je veux entrer deux fois le même id, voici ce que j'obtiens :
" MySQL said:
Duplicate entry '2' for key 1"
Qu'est-ce que j'ai raté ?
" MySQL said:
Duplicate entry '2' for key 1"
Qu'est-ce que j'ai raté ?
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
22 nov. 2004 à 14:03
22 nov. 2004 à 14:03
Il faut que tu dises que ce champs n'est pas la clé primaire de la table...
en fait, dans cette table, il n'y a pas de clés primaires... ;-)
Maily :-))))
Boumj'chtattrape
en fait, dans cette table, il n'y a pas de clés primaires... ;-)
Maily :-))))
Boumj'chtattrape
Merci pour cette précision...
Et du côté de la requête SQL, comment faire pour attaquer les deux bases ?
Actuellement, voici ce que j'ai :
<?php
$db = mysql_connect('sql.taratatatsointsoin.com', taratatatsointsoin.com', 'motdepasse');
mysql_select_db(taratatatsointsoin.com',$db);
$query = "SELECT nom,categorie,web FROM exposants ORDER BY nom";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$categorie = $row[0];
$nom = $row[1];
$web = $row[2];
echo "<tr>\n
<td><span class=bodyhome>$nom</span></td>\n
<td><span class=bodyhome><font color=#6352AD><b>$categorie</b></font></span></td>
<td><span class=bodyhome><a href=\"$web\"></a>$web</span></td>\n
</tr>\n";
}
mysql_close();
?>
PS : penses-tu que la ligne <a href... est correctement écrite pour afficher une URL cliquable ?
Merci encore d'avance beaucoup again !
Et du côté de la requête SQL, comment faire pour attaquer les deux bases ?
Actuellement, voici ce que j'ai :
<?php
$db = mysql_connect('sql.taratatatsointsoin.com', taratatatsointsoin.com', 'motdepasse');
mysql_select_db(taratatatsointsoin.com',$db);
$query = "SELECT nom,categorie,web FROM exposants ORDER BY nom";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$categorie = $row[0];
$nom = $row[1];
$web = $row[2];
echo "<tr>\n
<td><span class=bodyhome>$nom</span></td>\n
<td><span class=bodyhome><font color=#6352AD><b>$categorie</b></font></span></td>
<td><span class=bodyhome><a href=\"$web\"></a>$web</span></td>\n
</tr>\n";
}
mysql_close();
?>
PS : penses-tu que la ligne <a href... est correctement écrite pour afficher une URL cliquable ?
Merci encore d'avance beaucoup again !
maily
Messages postés
7556
Date d'inscription
lundi 26 juin 2000
Statut
Contributeur
Dernière intervention
23 juin 2023
453
23 nov. 2004 à 11:18
23 nov. 2004 à 11:18
Voilà en gros ce qu'il faut faire!!
Après, faut changer la mise en page comme toi tu veux... ;-)
ps: je t'ai corrigé aussi ta balise de lien!
Maily :-))))
Boumj'chtattrape
Après, faut changer la mise en page comme toi tu veux... ;-)
<?php $db = mysql_connect('sql.taratatatsointsoin.com', taratatatsointsoin.com', 'motdepasse'); mysql_select_db(taratatatsointsoin.com',$db); $query = "SELECT nom,web,id FROM exposants ORDER BY nom"; $result = mysql_query($query); while($row = mysql_fetch_row($result)){ $query2= "SELECT categorie FROM categorie WHERE id=".$row[2]; $result2 = mysql_query($query2); $categorie = $row[0]; $web = $row[1]; echo "<tr>\n <td><span class=bodyhome>$nom</span></td>\n <td><span class=bodyhome><a href=\"$web\">$web</a></span></td>\n </tr>\n"; while($row2== mysql_fetch_row($result)){ echo "<td><span class=bodyhome><font color=#6352AD><b>$row[0]</b></font></span></td>"; } } mysql_close();
ps: je t'ai corrigé aussi ta balise de lien!
Maily :-))))
Boumj'chtattrape
Oups, voici que j'obtiens comme rendu sur ma page PHP :
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in TEST.php on line 96
Qu'en dis-tu ?
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in TEST.php on line 96
Qu'en dis-tu ?
C'est pas du tout comme ça que j'auras fait...
table exposant :
id_exp - nom - alphabet - web
table categorie :
id_cat - categorie
table liaison :
id_exp - id_cat
qd tu ajoute un exposant, tu demnde les categories :
- tu cré l'exposant dans la table
- tu cré autant de liaison que de categorie dans la table liaison
qd tu veux afficher la liste des exposants, la requete est :
$sql = 'select exposant.id_exp, exposant.nom, exposant.alphabet, exposant.web from `exposant`' ;
... tu affiche nom, alphabet et web, et tu met id_exp dans la variable $id_exp pour la requete suivante :
et qd tu veux la liste des catégories de chaque exposant :
$sql = 'select categorie.categorie from `categorie`, `liaison`
where categorie.id_cat=liaison.id_cat and liaison.id_exp='.$id_exp ;
le reste, c'est de l'affichage pur...
(et si vous le pouvez, prenez des cours ou lisez des bouquins, un des premiers trucs qu'on apprend sur les bases de données, c'est de ne jamais avoir une table sans clé primaire....)
table exposant :
id_exp - nom - alphabet - web
table categorie :
id_cat - categorie
table liaison :
id_exp - id_cat
qd tu ajoute un exposant, tu demnde les categories :
- tu cré l'exposant dans la table
- tu cré autant de liaison que de categorie dans la table liaison
qd tu veux afficher la liste des exposants, la requete est :
$sql = 'select exposant.id_exp, exposant.nom, exposant.alphabet, exposant.web from `exposant`' ;
... tu affiche nom, alphabet et web, et tu met id_exp dans la variable $id_exp pour la requete suivante :
et qd tu veux la liste des catégories de chaque exposant :
$sql = 'select categorie.categorie from `categorie`, `liaison`
where categorie.id_cat=liaison.id_cat and liaison.id_exp='.$id_exp ;
le reste, c'est de l'affichage pur...
(et si vous le pouvez, prenez des cours ou lisez des bouquins, un des premiers trucs qu'on apprend sur les bases de données, c'est de ne jamais avoir une table sans clé primaire....)
Merci de ta contribution.
Dans ce cas, quelle serait la syntaxe des requêtes SQL ?
Je me suis effectivement procuré "PHP/MySQL pour les Nuls", mais je crois que je n'ai définitivement pas l'esprit tourné vers ce type de programmation. Je suis plutôt un graphiste, à la base...
Dans ce cas, quelle serait la syntaxe des requêtes SQL ?
Je me suis effectivement procuré "PHP/MySQL pour les Nuls", mais je crois que je n'ai définitivement pas l'esprit tourné vers ce type de programmation. Je suis plutôt un graphiste, à la base...