Jump to content

images and mysql


jacklindsay1990

Recommended Posts

Hello people

 

ok...im not sure if what im asking is actually possible but i'll ask anyway.

 

i have a form which adds records to a table

below the form i have some script which shows all the information that is in the table

 

 

<table width="806" border="1" cellspacing="0" cellpadding="0">

  <tr>

  <!-- <td width="30">id#</td>-->

    <td width="150">Rep Name</td>

    <td width="45">Rep #</td>

    <td width="54" align="center">Model </td>

    <td width="48">Serial</td>

    <td width="30">Tag</td>

    <td width="89">Issue Date</td>

    <td width="52">Issuer</td>   

    <td width="65">Division</td>

    <td width="89">Comments</td>

    <td width="53"> </td>

    <td width="75"> </td>

  </tr>

 

  <? while ( $myrowRes = mysql_fetch_array($resultName) ) { ?>

  <tr>

    <td><? echo $myrowRes['repName'];?></td>

    <td><? echo $myrowRes['repNumber'];?></td>

    <td align="center"><? echo $myrowRes['laptopModel'];?></td>

    <td><? echo $myrowRes['serial'];?></td>

    <td><? echo $myrowRes['tag'];?></td>

    <td><? echo $myrowRes['issueDate'];?></td>

    <td><? echo $myrowRes['issuer'];?></td>

    <td><? echo $myrowRes['division'];?></td>

    <td><? echo $myrowRes['comments'];?></td>

    <td align="center"><input name="edit1" type="button" value="Edit" onclick="javascript(go2Page(<? echo $myrowRes['statVal_id']; ?>));"/></td>

    <td align="center"><input name="delete" type="button" value="Delete" onclick="javascript(deleteItem(<? echo $myrowRes['statVal_id']; ?>));"/></td>

  </tr> 

  <? }

 

what i would like to add is in the form, 4 or 5 check boxes which, if selected, in the dispay of the mysql table has a lilttle tick image.

 

any ideas if this is possible??

Link to comment
https://forums.phpfreaks.com/topic/141259-images-and-mysql/
Share on other sites

SQL> CREATE TABLE your_field ( 
id     int  not null primary key, 	 
value  varchar(20) );

 

SQL> INSERT INTO const_skills(id, value) VALUES (1, "PHP");
SQL> INSERT INTO your_field(id, value) VALUES (2, "MySQL");
SQL> INSERT INTO your_field(id, value) VALUES (3, "Zope");
SQL> INSERT INTO your_field(id, value) VALUES (4, "Perl");
SQL> INSERT INTO your_field(id, value) VALUES (5, "Javascript");
SQL> INSERT INTO your_field(id, value) VALUES (6, "JSP");

 

SQL> CREATE TABLE lookup_field ( 
id        int  not null auto_increment primary key,
uid       int,
skill_id  int );

 

<?php

  /* insert code to connect to your database here */  
  
  /* get the checkbox labels */
  $skills = get_checkbox_labels("const_skills");
  
  /* create the html code for a formatted set of
     checkboxes */
  $html_skills = make_checkbox_html($skills, 3, 400, "skills[]");

?>

<html>
<body>
<br>
<form name="skills" method="POST" action="insertskills.php">
   Check off your web development skills:
   <? echo "$html_skills"; ?>
   <br>
   <input type="submit" value="Submit">
</form>
</body>
</html>
<?php

function get_checkbox_labels($table_name) {

  /* make an array */
  $arr = array();
  
  /* construct the query */
  $query = "SELECT * FROM $table_name";
  
  /* execute the query */
  $qid = mysql_query($query);

  /* each row in the result set will be packaged as
     an object and put in an array */
  while($row= mysql_fetch_object($qid)) {
    array_push($arr, $row);
  }
  
  return $arr;
}

/* Prints a nicely formatted table of checkbox choices. 
   
   $arr is an array of objects that contain the choices
   $num is the number of elements wide we display in the table 
   $width is the value of the width parameter to the table tag
   $name is the name of the checkbox array 
   $checked is an array of element names that should be checked
*/   


function make_checkbox_html($arr, $num, $width, $name, $checked) {
  
  /* create string to hold out html */
  $str = "";
  
  /* make it */
  $str .= "<table width=\"$width\" border=\"0\">\n";
  $str .= "<tr>\n";

  /* determine if we will have to close add
     a closing tr tag at the end of our table */
  if (count($arr) % $num != 0) {
    $closingTR = true;
  }
  
  $i = 1;
  if (isset($checked)) {
    /* if we passed in an array of the checkboxes we want 
       to be displayed as checked */ 
    foreach ($arr as $ele) {
      $str .= "<td><input type=\"checkbox\" name=\"$name\" value=\"$ele->id\"";
      foreach ($checked as $entry) {
    if ($entry == $ele->value) { 
      $str .= "checked";
          continue;
        }
      }
      $str .= ">";
      $str .= "$ele->value";

      if ($i % $num == 0) {
        $str .= "</tr>\n<tr>";
      } else {
        $str .= "</td>\n";
      }
      $i++;
    }
  
  } else {
    /* we just want to print the checkboxes. none will have checks */
    foreach ($arr as $ele) {
      $str .= "<td><input type=\"checkbox\" name=\"$name\" value=\"$ele->id\">";
      $str .= "$ele->value";
      
      if ($i % $num == 0) {
        $str .= "</tr>\n<tr>";
      } else {
        $str .= "</td>\n";
      }
      $i++;
    }
  
  } 

  /* tack on a closing tr tag if necessary */
  if ($closingTR == true) {
    $str .= "</tr></table>\n";
  } else {
    $str .= "</table>\n";
  }

  return $str;
}


?>

 

<?php

/* the function we call to insert.
   the $skills argument is the skills array that
   is sent to the script when the user hits the submit button
*/
function insert_field($uid, $skills) {
   
   /* first, we'll delete any entries this user already has
      in the table */
   purge_lookup("lookup_field", $uid);
   
   /* now create the sql insert query */
   $query = create_checkbox_query($skills, "lookup_field", $uid);
   
   /* execute the query */
   mysql_query($query);
}

/* helper function for insert_field().
   removes all rows in $table with $uid */
function purge_lookup($table, $uid) {
  $q = "DELETE FROM $table, WHERE uid = '$uid'";
  mysql_query($q);
}

/* helper function for insert_field(). 
   generates the sctual SQL query */
function create_checkbox_query($arr, $table, $uid) {
   $q = "INSERT INTO $table (uid, field_id) VALUES";
  
   foreach ($arr as $check) {
     $q .=  " ( $uid , $check )" . ",";
   }
   
   /* remove the last comma and return */  
   return substr($q, 0, -1);
}

?>

 

<?php

/* builds a query to search for the field
   checked off in the $skills array */

function field_search($skills) {
   if (!empty($skills)) {
     $query = "SELECT DISTINCT user.username
                 FROM user, const_field, lookup_field
                WHERE lookup_field.uid = user.id  
                  AND lookup_field.field_id = const_field.id ";

     $query .= " AND (";
     foreach ($skills as $check) {
       $query .= " const_field.id = $check OR";
     }

     /* remove the final OR */
     $query = substr($query, 0, -2);
     $query .= ")";
   
     $count = count($skills);
     $query .= " GROUP BY user.username HAVING count(user.username) >= $count";
    
     $query .= ";";
     return $query;
   }
}

?>

 

Theres a base. Change "field" and tweak it as needed.

Link to comment
https://forums.phpfreaks.com/topic/141259-images-and-mysql/#findComment-748003
Share on other sites

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.