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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  INDEX est obligatoire pour afficher contenu de la table ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

INDEX est obligatoire pour afficher contenu de la table ?

n°2303625
noam76
Posté le 20-07-2017 à 07:34:55  profilanswer
 

Bonjour a tous
J'ai une table avec 3 colonnes, la première(client_id) est configuré en clé étrangère sans INDEX, qui pointe sur la table client.
Je n'arrive pas a afficher le contenue de cette table.
ma connexion est en PDO.
Dans le phpmyadmin pas de possibilité de supprimer, éditer les lignes créé.
 
C'est une obligation que le 1ère colonne doit être INDEX pour afficher le contenu ?


Message édité par noam76 le 20-07-2017 à 09:31:24
mood
Publicité
Posté le 20-07-2017 à 07:34:55  profilanswer
 

n°2303658
rufo
Pas me confondre avec Lycos!
Posté le 20-07-2017 à 18:59:36  profilanswer
 

Pas du tout, les index servent juste à accélérer les requêtes de type recherche.
 
A mon avis, tu dois utiliser un identifiant/mdp qui doit avoir des droits restreints, probablement en lecture seule, voire même que tu as accès qu'à des vues et non des tables.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2303661
noam76
Posté le 21-07-2017 à 05:24:20  profilanswer
 

je fais tous ça sous WAMP Windows 10.
mon identifiant/mdp son les paramètre par défaut de WAMP.
 
J'arrive a enregistrer des données dans cette table avec un FORM .
pour tester j'ai crée une nouvelle table2 avec la 1ère colonne index et auto increment, ça marche.
 
jutilise ce code pour afficher le contenu:

Code :
  1. $sql->setFetchMode(PDO::FETCH_BOTH);// Mode par défaut (tableau)
  2. while($row = $sql->fetch())
  3. {
  4.   $date = $row['date'];
  5. }
  6. echo $date;


ce code avec la table2 qui a la 1ère colonne INDEX+Auto Increment ça affiche.
Je fais pareil avec la table sans INDEX ça n'affiche rien.
 
Je peut tj ajouter l'index et auto increment comme solution, je préfère apprendre réussir et comprendre ce que j'ai envie de faire :)
ou pourrais être le prob. ?


Message édité par noam76 le 21-07-2017 à 05:28:29
n°2303662
noam76
Posté le 21-07-2017 à 05:35:58  profilanswer
 

je viens de remarquer ce message
 
Current selection does not contain a unique column.
Grid edit, checkbox, Edit, Copy and Delete features are not available
 
J'ai ajouter unique sur la 1ère colonne, miracle je peux éditer les lignes dans phpmyadmin [:joce]
 
pour afficher le contenu, ça marche, une chose toute bête que je n'ai pas fais gaffe, je cherchais un ID qui n'existait pas dans la table
 [:chipp]


Message édité par noam76 le 21-07-2017 à 05:47:57
n°2303664
rufo
Pas me confondre avec Lycos!
Posté le 21-07-2017 à 09:40:43  profilanswer
 

Pour info, si tu fais un SELECT dans phpMyAdmin en affichant des champs de plusieurs tables, c'est normal que les contrôles pour éditer, supprimer les enregistrements trouvés ne soient pas dispo. Ils ne sont dispos que lorsque tu travailles sur une seule table.
 
Concernant les contraintes d'index, ça peut jouer quand tu fait un ajout, une maj ou une suppression. Il se peut que tu violes une contrainte d'intégrité : genre, tu mets une valeur de clé étrangère qui n'existe pas dans la table où est déclarée la clé étrangère en tant que clé primaire ou alors tu mets une valeur déjà existante pour ta clé primaire. Bref, je te recommande de te familiariser plus avec le SQL et la théorie des BD relationnelles parce que j'ai l'impression que ce n'est pas un domaine que tu maîtrises bien...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2303671
noam76
Posté le 21-07-2017 à 10:18:56  profilanswer
 

Je suis d'accord avec toi, c'est pas un domaine que je maîtrise, j'apprend :)
 
juste pour être plus claire, j'ai donné juste les infos de cette table et pas de toutes mes tables.
mes tables:
- table client (id client ->primary+unique+index+auto increment, nom, prénom etc...)
 
- table actions (action id ->primary+unique+index+auto increment, client id -> clé étrangère vers client id de la table client, date, etc..)
 
- table qui concerne ce post (id client -> unique+clé étrangère vers client id de la table client, date, etc..)
 
Voila mes tables.
J'ai résolut mon problème, je devais ajouter unique a la 1ère colonne :)


Message édité par noam76 le 21-07-2017 à 10:20:15

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

  INDEX est obligatoire pour afficher contenu de la table ?

 

Sujets relatifs
Afficher périodiquement et aléatoirement une valeur d'un arraycomment copier automatiquement ID créé dans une 2ème table ?
Transferer des données d’une table vers une autre table via checkboxpassage de table de grande taille
lister les champs d'une table en connexion odbcajout d'une valeur dans résultat d'une requête d'une autre table
Afficher une suite de nombre avec un char ou int ?Exercice de la piscine 42: afficher l'alphabet
Des doublons se créent dans ma table[HTML/PHP/JS] Afficher x pages en alternances sur timer
Plus de sujets relatifs à : INDEX est obligatoire pour afficher contenu de la table ?



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR