2011-10-19 3 views
0

Désolé, j'ai dû soumettre à nouveau cette question car je n'ai presque pas de vues car c'est un ancien article. Je suis désespéré cependant pour que ceci soit répondu. Aidez-moi, s'il vous plaît.Comment créer un nouveau champ dans un tableau?

J'ai un tableau qui récupérera des lignes de la base de données. Mais ce que je veux faire est de créer une nouvelle ligne vide dans la table où $ row ['StudentAnswer'] est égal à $ row ['AnswerContent'] puis nouveau champ (disons son appelé $ row ['StudentAnswerWeight']) = $ row ['Weight%'] else $ row ['StudentAnswerWeight'] = '0'. Par exemple: $ row ['Answercontent'] = Leeds (Ceci est la bonne réponse à la question.) $ Row ['StudentAnswer'] = Leeds (C'est ce que l'étudiant a mis pour la réponse.) $ row ['weight%'] est le pourcentage de la note pour la bonne réponse. Disons que la réponse pour l'exemple ci-dessus = 5% du total des points. Maintenant que l'exemple ci-dessus montre que la réponse de l'étudiant correspond à la bonne réponse, cela signifie que dans le nouveau champ que je veux créer (appelons-le ($ row ['StudentAnswerWeight']) pour afficher le pourcentage de la réponse Si le test a obtenu une mauvaise réponse, disons que l'étudiant a mis sa réponse «Manchester» .Le studentanswerweight devrait = 0% car la réponse est fausse, j'espère que vous comprenez maintenant ce que je veux accomplir. Ne pouvons-nous pas créer une nouvelle ligne $ ['...'] ($ row ['StudentAnswerWeight' est ce que la nouvelle ligne $ ['...'] sera appelée) et utiliser une instruction if. Si $ row ['AnswerContent'] = $ row ['StudentAnswer'] alors $ row ['...'] = $ row ['Weight%'] sinon $ row ['...'] = '0'. Je pensais dans ce sens, mais je ne pouvais pas le faire fonctionner, j'espère que vous les gars pouvez le comprendre :)

est en dessous du tableau et les champs de la table dans le code php:

<table border='1'> 
    <tr> 
    <th>Session ID</th> 
    <th>Question Number</th> 
    <th>Question</th> 
    <th>Correct Answer</th> 
    <th>StudentAnswer</th> 
    <th>Correct Answer Weight</th> 
    <th>Student Answer Weight</th> 
    <th>Student ID</th> 
    </tr> 
    <?php 

    while ($row = mysql_fetch_array($result)) { 
      echo " 
    <tr> 
    <td>{$row['SessionId']}</td> 
    <td>{$row['QuestionNo']}</td> 
    <td>{$row['QuestionContent']}</td> 
    <td>{$row['AnswerContent']}</td> 
    <td>{$row['StudentAnswer']} </td> 
    <td>{$row['Weight%']}</td> 
    <td>{$row['StudentAnswer'] = $row['AnswerContent']}</td> 
    <td>{$row['StudentId']}</td> 
    </tr>"; 
    } 
    ?> 

Merci

+0

Est-ce fonctionne pas? echo ($ row ['StudentAnswer' == $ row ['AnswerContent'])? $ row ['Weight%']: '0' – bozdoz

Répondre

1

Ajouter ce avant echo:

if ($row['StudentAnswer'] == $row['AnswerContent']) { 
    $row['StudentAnswerWeight'] = $row['Weight%']; 
} else { 
    $row['StudentAnswerWeight'] = '0'; 
} 

Et se débarrasser de cette {$row['StudentAnswer'] = $row['AnswerContent']}.

+0

vous voulez dire remplacer, ne pas se débarrasser de droite? Cette réponse devrait fonctionner. – bozdoz

+0

Cela a fonctionné, énorme merci :) – BruceyBandit

1

Essayez ceci: echo ($row['StudentAnswer']==$row['AnswerContent']) ? $row['Weight%'] : '0'

dans votre exemple:

<?php 

    while ($row = mysql_fetch_array($result)) { 
      echo " 
    <tr> 
    <td>{$row['SessionId']}</td> 
    <td>{$row['QuestionNo']}</td> 
    <td>{$row['QuestionContent']}</td> 
    <td>{$row['AnswerContent']}</td> 
    <td>{$row['StudentAnswer']} </td> 
    <td>{$row['Weight%']}</td> 
    <td>"; 
echo ($row['StudentAnswer']==$row['AnswerContent']) ? $row['Weight%'] : '0'; 
echo "</td><td>{$row['StudentId']}</td> 
    </tr>"; 
    } 
    ?> 
Questions connexes