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.
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]
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]
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]
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
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]
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]

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.