Jump to content

populating radio button form from database


kenjenn

Recommended Posts

I'm trying to populate a radio-button form from MySQL but can't seem to get the right php worked out to display.  Here's what I've got:

echo "<form name=attendance action=$_SERVER[PHP_SELF] method=POST>";
echo '<input type=submit value="Submit Changes">';
$i=0;
echo '<table>';
while ($row=mysql_fetch_row($result1)) {
$IDstudent=$row[0];
$name = $row[1];
$status = $row[2];
echo '<tr><input name=studentid['.$i.'] type=hidden value=' . $IDstudent . '><td>' . $name . '</td><td>' . $status . '</td><td><input name=status['.$i.'] type=radio value="P" <?php if($status=="P"){echo "checked"};?>>Present</td><td><input name=status['.$i.'] type=radio value="T" <?php if($status=="T"){echo "checked"};?>>>Tardy</td><td><input name=status['.$i.'] type=radio value="U" <?php if($status=="U"){echo "checked"};?>>Unexcused Absence</td><td><input name=status['.$i.'] type=radio value="E" <?php if($status=="E"){echo "checked"};?>>>Excused Absence</td></tr>';
++$i;
}

Any help on getting the IF statement to work to "Check" the appropriate radio button?

Thanks.
Link to comment
Share on other sites

You didn't put a $ infront of your "status", also, you don't need PHP tags in an echo, try this:

[code]<?php
echo "<form name=attendance action=$_SERVER[PHP_SELF] method=POST>";
echo '<input type=submit value="Submit Changes">';
$i=0;
echo '<table>';
while ($row=mysql_fetch_row($result1)) {
$IDstudent=$row[0];
$name = $row[1];
$status = $row[2];
echo '<tr><input name=studentid['.$i.'] type=hidden value=' . $IDstudent . '><td>' . $name . '</td><td>' . $status . '</td><td><input name=$status['.$i.'] type=radio value="P" if($status=="P"){echo "checked"};>Present</td><td><input name=$status['.$i.'] type=radio value="T" if($status=="T"){echo "checked"};>Tardy</td><td><input name=<?=$status['.$i.'] type=radio value="U" if($status=="U"){echo "checked"};>Unexcused Absence</td><td><input name=status['.$i.'] type=radio value="E" if($status=="E"){echo "checked"};>Excused Absence</td></tr>';
++$i;
}
?>[/code]
Link to comment
Share on other sites

First of all before posting make sure your text is between the code tags so the syntax is colored,
second of all add some whitespace for readability... thx ;) ;D

[code]
<?php
echo "<form name='attendance' action='{$_SERVER[PHP_SELF]}' method='POST'>";
echo "<input type='submit' value='Submit Changes'>";

$i=0;
echo '<table>';

while ($row=mysql_fetch_row($result1)) {
 $IDstudent=$row[0];
 $name = $row[1];
 $status = $row[2];
 
 echo "
 <tr>
   <td>
     <input name='studentid[{$i}]' type='hidden' value='{$IDstudent}'>
   </td>
   <td>
     {$name}
   </td>
   <td>
     {$status}
   </td>
   <td>
     <input name='status[{$i}]' type='radio' value='P'" . (strtolower($status) == 'p') ? "checked='checked'" : ''"> Present
   </td>
   <td>
     <input name='status[{$i}]' type='radio' value='T'" . (strtolower($status) == 't') ? "checked='checked'" : ''"> Tardy
   </td>
   <td>
     <input name='status[{$i}]' type='radio' value='U'" . (strtolower($status) == 'u') ? "checked='checked'" : ''"> Unexcused Absence
   </td>
   <td>
     <input name='status[{$i}]' type='radio' value='E'" . (strtolower($status) == 'e') ? "checked='checked'" : ''"> Excused Absence
   </td>
 </tr>'";
$i++;
}

echo "</table>";
?>
[/code]
Link to comment
Share on other sites

Did that and same error.  Current code is:

[code]
<?php
echo "<form name='attendance' action='{$_SERVER[PHP_SELF]}' method='POST'>";
echo "<input type='submit' value='Submit Changes'>";

$i=0;
echo '<table>';

while ($row=mysql_fetch_row($result1)) {
  $IDstudent=$row[0];
  $name = $row[1];
  $status = $row[2];
 
  echo "
  <tr>
    <td>
      <input name='studentid[{$i}]' type='hidden' value='{$IDstudent}'>
    </td>
    <td>
      {$name}
    </td>
    <td>
      {$status}
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='P'" . (strtolower($status) == 'p') ?

"checked='checked'" : ''"> Present
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='T'" . (strtolower($status) == 't') ?

"checked='checked'" : ''"> Tardy
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='U'" . (strtolower($status) == 'u') ?

"checked='checked'" : ''"> Unexcused Absence
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='E'" . (strtolower($status) == 'e') ?

"checked='checked'" : ''"> Excused Absence
    </td>
  </tr>";
$i++;
}

echo "</table>";


?>[/code]
Link to comment
Share on other sites

You need semi-colons at the end of the PHP code...

Your lines that end like this:
[code=php:0]? "checked='checked'" : ''">
[/code]

Need to have a semi colon after the php, before the last double quotes... like this:
[code=php:0]? "checked='checked'" : '';">
[/code]

Regards
Huggie
Link to comment
Share on other sites

thanks for helping.  full code:

[code]
<?php
echo "<form name='attendance' action='$_SERVER[PHP_SELF]' method='POST'>";
echo "<input type='submit' value='Submit Changes'>";

$i=0;
echo '<table>';

while ($row=mysql_fetch_row($result1)) {
  $IDstudent=$row[0];
  $name = $row[1];
  $status = $row[2];
 
  echo <<<HTML
  <tr>
    <td>
      <input name='studentid[{$i}]' type='hidden' value='{$IDstudent}'>
    </td>
    <td>
    {$name}
    </td>
    <td>
      {$status}
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='P'" . (strtolower($status) == 'p') ?

"checked='checked'" : '';"> Present
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='T'" . (strtolower($status) == 't') ?

"checked='checked'" : '';"> Tardy
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='U'" . (strtolower($status) == 'u') ?

"checked='checked'" : '';"> Unexcused Absence
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='E'" . (strtolower($status) == 'e') ?

"checked='checked'" : '';"> Excused Absence
    </td>
  </tr>";
HTML;
$i++;
}

echo "</table>";


?>[/code]
Link to comment
Share on other sites

try[code]<?php
echo "<form name='attendance' action='$_SERVER[PHP_SELF]' method='POST'>";
echo "<input type='submit' value='Submit Changes'>";
$i=0;
echo '<table>';
while ($row=mysql_fetch_row($result1)) {
  $IDstudent=$row[0];
  $name = $row[1];
  $status = $row[2];
  echo "
  <tr>
    <td>
      <input name='studentid[{$i}]' type='hidden' value='{$IDstudent}'>
    </td>
    <td>
    {$name}
    </td>
    <td>
      {$status}
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='P'";echo $x =(strtolower($status) == 'p') ? "checked='checked'" : '';
      echo "> Present
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='T'";
      echo $x =(strtolower($status) == 't') ? "checked='checked'" : '';
      echo "> Tardy
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='U'";
      echo $x = (strtolower($status) == 'u') ? "checked='checked'" : '';
      echo "> Unexcused Absence
    </td>
    <td>
      <input name='status[{$i}]' type='radio' value='E'";
      echo $x = (strtolower($status) == 'e') ? "checked='checked'" : '';
      echo "> Excused Absence
    </td>
  </tr>";
$i++;
}
echo "</table>";
?>[/code]
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.