2014-07-15 3 views
-2

J'ai une table nommée: 'papier' (question_bank)mysql sélectionnez l'affichage de la requête en php

  id | exam_id | question 

      1 | 1  | What will be 35*9? 
      2 | 1  | What will be 5-9? 
      3 | 1  | A + B 
      4 | 1  | What is a circle? 
      5 | 1  | If we have four corners with equal height and width, then which shape is that? 
      6 | 1  | What is Maths? 
      7 | 1  | What is a triangle? 
      21 | 1  | what is Nikhil surname? 
      22 | 2  | Last name of Bhavesh is 
      23 | 2  | Last name of Harsh is 
      27 | 3  | What is Maths? 
      28 | 3  | What is a triangle? 
      30 | 3  | Last name of Harsh is 

J'ai une page php où je dois ajouter des questions dans exam_id '3' de la table 'papier'. ma requête d'insérer la question est comme ci-dessous:

INSERT INTO paper (question exam_id) SELECT question, '3' FROM paper WHERE id = '2' 
         OR 
INSERT INTO paper (question exam_id) SELECT question, '3' FROM paper WHERE id = '1' 
         OR 

Je peux aussi ajouter une nouvelle question, de sorte que la requête est:

INSERT INTO paper (question, exam_id) VALUES ('blah blah blah', '3') 

Cela dépend de la question que je sélectionne ou toute nouvelle question que j'ajouter.

Maintenant, quand je veux ajouter plus de questions à exam_id '3' de la table 'paper', il montre toutes les questions. Ma requête de sélection est comme ci-dessous:

SELECT * FROM paper WHERE exam_id != '3' 

Il montre toutes les questions, mais par exemple je l'ai déjà ajouté id = « 23 », donc je ne veux pas cette question pour afficher quand je suis en ajoutant plus de questions. S'il vous plaît aidez-moi avec ma requête de sélection. Faites-moi savoir si je manque quelque chose! Merci d'avance!

+0

Je ne comprends pas. Vous interrogez toutes les questions avec 'exam_id! = 3', mais vous ne voulez pas la question avec' id = 23'? N'a pas de sens, puisque le dernier remplit la condition que vous avez donné dans la clause where – paubo147

+0

puisque j'ai déjà ajouté id = 23 dans exam_id = 3, je ne veux pas afficher cette question en ajoutant plus de questions à exam_id = 3 –

Répondre

0

D'accord, je l'ai .....

Tout ce que je devais faire était, pour tirer à nouveau la requête pour ne pas répéter les questions qui sont sélectionnées précédemment ....

SELECT * FROM paper WHERE question = '$row['question']' AND exam_id = '3' 
if($select) 
{ 
    ************************* SHOW RESULT ********************* 
} 
0

Je ne sais pas si je vous ai bien compris, mais vous pouvez faire une liste avec les identifiants des questions que vous ne voulez pas voir.

Par exemple: exclure ids 23, 24, 25

SELECT * FROM paper WHERE exam_id != 3 AND id NOT IN (23, 24, 25) 
+1

.. .ou introduire un drapeau sur la base de données qui marque ceux que vous voulez voir et tout reste axé sur les données – paubo147