2016-12-24 1 views
-2

Ich habe Fragetabelle und Betreff-Tabelle und Fragetabelle enthalten fachkundige Fragen für die Online-Prüfung.Wie man diese Daten in php mysql holt und zeigt?

Ich muss fachkundige Fragen mit dem Betreff-Namen als Überschrift abrufen und alle Fragen in Betreff-weise Seriennummer wie Beispiel anzeigen: Mathematik: Q1, Q2, Q3 Englisch: Q1, Q2, Q3 und so weiter. Wie es in PHP und MySQL zu erreichen. Die Fragetabelle und die Betreff-Tabelle sind nachstehend angegeben.

Question Table

Subject table

Daten Frage Probe sind unten

Question sample

enter image description here

<?php 
    require_once 'config.php'; 
    //$con = mysqli_connect("localhost","root","","database_name"); 
    $query1 = "SELECT q.q_id,q.setq_no, q.qtext_eng, s.sub_id, s.sub_name 
    FROM question q 
    INNER JOIN subject s ON s.sub_id = q.sub_id 
    INNER JOIN questionset qs ON qs.qset_id = q.qset_id 
    WHERE qs.qset_id =2 ORDER BY s.sub_id"; 
    ?> 
<table class="table table-bordered"> 
<thead> 
<tr> 
    <th>Q.No</th> 
    <th>Q Set number</th> 
    <th>Q text eng</th> 
</tr> 

gegeben

<?php 
$result1 = mysqli_query($link,$query1); 

while($row1 = mysqli_fetch_array($result1)) 
{ 
$subID = $row1['sub_id']; 
    $subName = $row1['sub_name']; 
    ?> 
    <h2><?php echo "$subName" ?></h2> 

<?php 
    error_reporting(0); 


    $sno++; 
    $qSet = $row1['setq_no']; 
    $qEng = $row1['qtext_eng']; 

?> 
<tr> 
    <td><?php echo $sno; ?></td> 
    <td><?php echo $qSet; ?></td> 
    <td><?php echo $qEng; ?></td> 
</tr> 
</tbody> 
</table> 
    <?php 
    } 
?> 
+0

Bitte senden Sie einige minimalistische Textbeispieldaten, erwartete Ausgabe hinzufügen und was Sie haben versucht, so weit – GurV

+1

und akzeptiere Antworten, die deine anderen gelösten Fragen gelöst haben –

+0

Nun, zeig deinen Code, hast du noch nichts probiert. Hier können Sie nur Hilfe bekommen, wenn Sie etwas versucht haben. – Kumar

Antwort

2

ich einige Ihrer Spalten aus question Tabelle hier bin auch, können Sie den Rest gleicher Weise

<?php 
$con = mysqli_connect("localhost","root","","database_name"); 

$query1 = "SELECT q.q_id,q.setq_no, q.qtext_eng, s.sub_id, s.sub_name 
FROM question q 
INNER JOIN subject s ON s.sub_id = q.sub_id 
INNER JOIN questionset qs ON qs.qset_id = q.qset_id 
WHERE qs.qset_id =2 ORDER BY s.sub_id"; 

$presubID = 0; 

<table class="table table-bordered"> 
while($row1 = mysqli_fetch_array($result1)) 
{ 
    $subID = $row1['sub_id']; 
    if($subID != $presubID){ 
    $subName = $row1['sub_name']; 
    <h2><?php echo "$subName" ?></h2> 
    $sno=0; 

     <thead> 
     <tr> 
      <th>Q.No</th> 
      <th>Q Set</th> 
      <th>Q text eng</th> 
     </tr> 
     </thead> 
    } 
    $presubID = $subID; 

    $sno++; 
    $qSet = $row1['setq_no']; 
    $qEng = $row1['qtext_eng']; 

    <tr> 
    <td><?php echo $sno; ?></td> 
    <td><?php echo $qSet; ?></td> 
    <td><?php echo $qEng; ?></td> 
    </tr> 

<?php 
    } 
?> 
</table> 
+0

Wenn dies Ihre Frage beantwortet, bitte akzeptieren und upvote meine Antwort – ab29007

+0

Wie kann ich in einer einzigen mysqli Abfrage mit inneren Join – Shaun

+0

holen Sie sollten nicht in Ihrem Fall, weil dann die äußere While-Schleife nutzlos sein wird und Sie müssen Führen Sie fünf separate gemeinsame Abfragen zu einzelnen Themen durch. Aber wie auch immer, hier ist ein gutes Beispiel: http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_join_inner – ab29007

Verwandte Themen