Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1738 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Clé Etrangère sous MySql d'EasyPhp

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Clé Etrangère sous MySql d'EasyPhp

n°1104895
guen16
Posté le 02-06-2005 à 09:53:32  profilanswer
 

J'aurais simplement aimé savoir comment faire pour avoir des clés
 
étarngères dans mes tables avec MySql d'EasyPhp.
 
Je ne comprend pas comment cela peut fonctionner sans.
 


---------------
merci
mood
Publicité
Posté le 02-06-2005 à 09:53:32  profilanswer
 

n°1104898
cesarr89
Posté le 02-06-2005 à 09:55:11  profilanswer
 

Bah si ca peut fonctionner sanas, par exemple si tu as pas besoin de l'intégrité référentielle....sous MySQL il faut que tes tables soient en InnoDB

n°1104916
guen16
Posté le 02-06-2005 à 10:04:53  profilanswer
 

si elles sont en MyISAM il ne peut y avoir d'intégrité fonctionnelle?


---------------
merci
n°1104918
cesarr89
Posté le 02-06-2005 à 10:05:23  profilanswer
 

Je suis pas certain, mais il me semble que non.

n°1104927
guen16
Posté le 02-06-2005 à 10:07:30  profilanswer
 

si je veux changer de type je suis obligé de supprimer la table et de la recréer avec le bon type?


---------------
merci
n°1104933
cesarr89
Posté le 02-06-2005 à 10:08:47  profilanswer
 

bah non tu utilise ALTER

n°1104943
guen16
Posté le 02-06-2005 à 10:12:38  profilanswer
 

désolé si je passe pour un empoté mais je n'ai pas encore l'habitude.
Donc ALTER TABLE `Clients` CHANGE MyISAM InnoDB TYPE; ??


---------------
merci
n°1104946
cesarr89
Posté le 02-06-2005 à 10:13:45  profilanswer
 

Non c'est pas trop ca:
ALTER TABLE 'Clients' TYPE=InnoDB;

n°1104949
guen16
Posté le 02-06-2005 à 10:14:46  profilanswer
 

*


---------------
merci
n°1104951
guen16
Posté le 02-06-2005 à 10:15:27  profilanswer
 

hé non :
Erreur
 
requête SQL :  
 
ALTER TABLE 'Clients' TYPE = InnoDB  
 
MySQL a répondu:
 
 
#1064 - Erreur de syntaxe près de ''Clients' TYPE  = InnoDB' à la ligne 1


---------------
merci
mood
Publicité
Posté le 02-06-2005 à 10:15:27  profilanswer
 

n°1104959
cesarr89
Posté le 02-06-2005 à 10:18:00  profilanswer
 

Bah écoute moi ca marche, tu as quoi comme version de MySQL?
Tu es bien dans la bonne BD?
Tu as plusieurs schémas?

n°1104969
guen16
Posté le 02-06-2005 à 10:21:33  profilanswer
 

Bienvenue à phpMyAdmin 2.5.3  
MySQL 4.0.15-max-debug sur le serveur localhost


---------------
merci
n°1104972
cesarr89
Posté le 02-06-2005 à 10:22:42  profilanswer
 

Tu as plusieurs Schémas ou pas?

n°1104975
guen16
Posté le 02-06-2005 à 10:24:45  profilanswer
 

désolé mais ou voit-on s'il on a plusieurs schéma?
et qu'est-ce qu'un schéma sous MySql?


---------------
merci
n°1104978
cesarr89
Posté le 02-06-2005 à 10:26:34  profilanswer
 

Un shéma c'est une base si tu préfére, genre ta table, c'est peut être NomDuSchéma.NomTable....Bah tu devrais le savoir si tu as plusieurs schéma ou pas

n°1104987
guen16
Posté le 02-06-2005 à 10:31:59  profilanswer
 

Je viens d'installer EasyPhp et à l'ouverture de l'administration de PhpMyAdmin il y avait déjà deux tables:test(-) et mysql(6)je les ai laissé car je ne savais pas si elles étaient importantes pour tout le reste vu que dans la table mysql il y a un champs "user" avec un enregistrement, ce qui doit correspondre à ma session.après je dis ca j'en sais rien


---------------
merci
n°1104989
cesarr89
Posté le 02-06-2005 à 10:32:58  profilanswer
 

Tu as déjà fait du SQL un peu?

n°1104994
guen16
Posté le 02-06-2005 à 10:35:08  profilanswer
 

seulement sous Access et un peu avec Oracle


---------------
merci
n°1104999
cesarr89
Posté le 02-06-2005 à 10:36:22  profilanswer
 

Bah regarde la doc de MySQL alors

n°1105016
koude
Posté le 02-06-2005 à 10:45:20  profilanswer
 

alter table client type=INNODB
Sans les ' ' pour le nom de la table

n°1105043
cesarr89
Posté le 02-06-2005 à 10:51:35  profilanswer
 

mais meme avec les '' ca marche normalement

n°1105047
guen16
Posté le 02-06-2005 à 10:52:43  profilanswer
 

il execute les requetes avec succes mais le type reste MyISAM


---------------
merci
n°1105054
koude
Posté le 02-06-2005 à 10:55:26  profilanswer
 

cesarr89 a écrit :

mais meme avec les '' ca marche normalement


 
Pas chez moi (v4.1)

n°1105055
cesarr89
Posté le 02-06-2005 à 10:56:25  profilanswer
 

Je comprends plus, c'est quoi le problème si les requetes sont executées?

n°1105768
Spir
Words are timeless
Posté le 02-06-2005 à 16:36:35  profilanswer
 

Hey Guéno tu t'enfou des clé étrangère. Tu peux travailler sans...


Message édité par Spir le 02-06-2005 à 16:37:10
n°1105796
betsamee
Asterisk Zeperyl
Posté le 02-06-2005 à 16:46:53  profilanswer
 

Citation :

Hey Guéno tu t'enfou des clé étrangère. Tu peux travailler sans...


en fait cela depend de ton type de db
il faut savoir que innodb ralentit enormemet tout ce qui est fonction d'aggregation
 
il est parfois preferable de gerer l'integrite referentielle dans ton codage logiciel


Message édité par betsamee le 02-06-2005 à 16:47:40
n°1106307
Mosca
Posté le 02-06-2005 à 23:18:14  profilanswer
 

Si c'est EasyPHP, y a phpmyadmin d'office qui convertit les tables en INNODB en un seul clic ...
Mais est-ce que EasyPHP gère l'INNODB ?
Pour le gérer, MySQL doit être démarré/configuré avec le gestion INNODB ...

n°1162484
tofita33
Posté le 28-07-2005 à 02:07:13  profilanswer
 

c jomu d maroc
 
 
j pense k il fau d abord illiminer l commentaire concerant la configuration d INNODB  
dans l fihcier de configurationd mysql  
é merci

n°2024555
souadsouad
Posté le 22-09-2010 à 19:08:44  profilanswer
 

Je veux creer un champ en tant que clé etranger sous mysql easyphp1.8 et j'ai changer la table sous innoDB mais j'ai remarquer une abscence de difference entre innoDB et myISAM. j'aimerais avoir la réponse à ce sujet et le plus important c'est comment je vais creer ce champs en tant que clé etranger
 
Merci d'avance

n°2024687
rufo
Pas me confondre avec Lycos!
Posté le 23-09-2010 à 13:52:45  profilanswer
 

avec FOREIGN KEY. MyIsam ne gère pas les clés étrangères, InnoDB, si.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2024711
souadsouad
Posté le 23-09-2010 à 15:18:14  profilanswer
 

Bonjour
Merci rufo.
J'aimerais connaitre comment faire une fonction qui retourne les info d'une région selon son id et comment tester une fonction dans mysql pour voir le resultat de cette fonction car j'ai un essai de cette fonction mais je veux la tester sous sql de mysql
 
merci d'avance pour l'aide

n°2024712
rufo
Pas me confondre avec Lycos!
Posté le 23-09-2010 à 15:23:20  profilanswer
 

ben t'apprends le SQL (en particulier la clause SELEC... FROM...WHERE + les jointures du style INNER JOIN ou LEFT JOIN) :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2024813
souadsouad
Posté le 23-09-2010 à 21:52:12  profilanswer
 

Bonjour
 
c'est ça la fonction. elle ne marche pas. je veux savoir pourquoi et comment je peut la rendre retourne resultat car je veux dépasser ce probleme et comment je peut la tester dans sql de mysql de easyphp1.8
public function getRegionById($id)
 {
  $prepare = $this->prepare('SELECT region_id, region_name
  FROM region
  WHERE region_id = "'.$id.'"');
  $prepare->execute();
  $region = $prepare->fetchAll();
 
  return $region;  
 }
 
 
merci

n°2024817
rufo
Pas me confondre avec Lycos!
Posté le 23-09-2010 à 22:26:49  profilanswer
 

ça ressemble à une requête préparée via la lib PDO. Faut activer cette lib dans le php.ini. Mais si tu ne donnes pas plus de détail sur ce qui ne fonctionne pas (genre, un message d'erreur), ça va être dur de t'aider :/
 
ps : à la vue de ton post, j'imagine que le français n'est pas ta langue maternelle?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2024874
souadsouad
Posté le 24-09-2010 à 11:48:53  profilanswer
 

Bonjour,
 
oui, cette requete preparée via la lib PDO, et j'ai l'activer déjà, j'ai pas message d'erreur mais le but de mon travail c'est de faire une liste liée pour les champs region, departement et ville la premiere fonction retourne la liste des regions de france existant dans la base de donnée et cette deuxieme fonction c'est  d'afficher les info d'une region selon son id. elle ne retourne pas resultat et si je choisi (dans le formulaire) une region, le champ departement reste vide aucune valeur n'est affiché et bien sûr même pour le champ ville. je veux avoir une solution.
Merci de me répondre

n°2024875
rufo
Pas me confondre avec Lycos!
Posté le 24-09-2010 à 11:54:21  profilanswer
 

Ben si tu veux la liste de toutes les régions, la requête SQL c'est :
SELECT region_id, region_name FROM region ORDER BY region_name
 
Pour le reste, vu que tu donnes même pas le MCD, ni code source un peu plus complet, ça va être dur de t'aider plus :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2024877
Paulp
~, sweet ~
Posté le 24-09-2010 à 12:10:22  profilanswer
 

souadsouad a écrit :


public function getRegionById($id)
 {
  $prepare = $this->prepare('SELECT region_id, region_name
  FROM region
  WHERE region_id = "'.$id.'"');
  $prepare->execute();
  $region = $prepare->fetchAll();
 
  return $region;  
 }


à quoi ça sert de faire un prepare pour ne pas s'en servir ?

Code :
  1. $prepare = $this->prepare('SELECT region_id, region_name
  2.         FROM region
  3.         WHERE region_id = :id');
  4.         $prepare->execute(array('id' => $id));
  5.         $region = $prepare->fetchAll();
  6.  
  7.         return $region;


n°2024878
souadsouad
Posté le 24-09-2010 à 12:14:38  profilanswer
 

Merci,
Je veux pas la requete d'affichage de liste de toute les regions, j'ai une fonction dans la quelle la requete existe et cette fonction renvoi résultat car lors de mon test j'ai un champ region qui contient la liste des regions qui sont stocké dans la base mais mon probleme c'est que le champ departement et le champ ville sont toujours vide et mon but c'est que lorsque je choisie dans le formulaire une region dans ma liste déroulante le champ departement se charge selon la region que j'ai selectionnée et lors du choix d'un departement je doit avoir la liste des ville de ce departement choisi.  
la premiere fonction qui renvoi la liste des regions marche mais cette fonction pour que je peut avoir la liste des departements correspondant à une region choisi ne retourne pas valeur. s'il y a une chose qui n'est pas clair me dite
merci

n°2024882
souadsouad
Posté le 24-09-2010 à 12:58:12  profilanswer
 

prepare donne le plus possible de puissance et de flexibilité pour l'exécution d'une requete. on l'utilise par exemple pour plus qu'une simple requète d'égalité et dans notre exemple $region c'est un tableau

n°2024893
rufo
Pas me confondre avec Lycos!
Posté le 24-09-2010 à 13:27:55  profilanswer
 

Ce qu'il voulait dire c'est que getRegionById() contient des fonctions du type "requête préparée" mais qu'en fait, elle ne s'en sert pas et fonctionne comme une requête SQL classique (l'ID est passé direct dans la requête et non en tant que paramètre de celle-ci :/
 
Pour ton pb, a mon avis, ça va se résoudre avec du Ajax : quand tu sélectionne une région dans la liste déroulante, une requête httprequest est envoyé au serveur et récupère les départements de la région sélectionnée. Même chose quand tu sélectionnes un département pour récupérer les villes...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Clé Etrangère sous MySql d'EasyPhp

 

Sujets relatifs
Base de Données avec MySql et vb.Netbase de Données avec MySql et vb.net
Intérêt d'une classe mysqlplease help me : j arrive pas a lancer Mysql
MySQL et aprés l'instalation je fais koi??Erreur mysql... Mais qu'est ce qui cloche ?????
configuration apache mysql[mysql] nouveau cryptage du mot de passe
[PHP - SQL] Recherche dans un catalogue via thème ou mot-cléPartager une base MySQL entre 2 PC
Plus de sujets relatifs à : Clé Etrangère sous MySql d'EasyPhp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR